I’ve been reading a lot of non-fiction lately, and I’m really on the fence if that’s a good thing or a bad. I miss my time with worlds of fantasy unlocked by reading (don’t worry, I’ve been sneaking in time for games and game dev, so I’m not far from worlds of fantasy at all), but the ceaseless learning is pretty hard to argue with. One of the books that has far and away caught my attention is Game Programming Patterns. If you just like videogames, this might not be a read for you, but if you want to create them, this is an absolute essential.
I don’t rightly remember how I stumbled upon this book (probably one of the many articles on Gamasutra about designer resources (man, I love that site)), but wow, am I glad I did. Depending on your background and level of experience, there’s a chance that you already know a lot of the things in here. For a beginner like myself, it was the occasional “Oh yeah, I know that” sprinkled among the numerous “How have I lived without this design pattern?” Even if you are well versed, this isn’t a bad refresher of various concepts that can help break you out of standard habits will a wide range of tools.
As an added benefit, for those learning your way around a game creation engine (from Unity to RPGMaker, pretty much anything where the back end is handled but accessible), this grants some massive insight into the functionality of the engine. Even if you’re not working with all the details directly, understanding what’s going on can make it a lot easier to use the engine to its fullest (or fiddle about with it to get it doing what you want without breaking it).
For those working on code in or out of an engine, it’s solid gold. Learning the concept behind some of the code I’ve already been writing in asm for the NES wasn’t just educational – it was a window into additional ways I could use things I had already learned (see the bytecode pattern) and better ways to streamline some of my processing (a big deal when you have a very finite number of machine cycles per frame).
Best part about the book: it’s free. Well, the version posted on the website is. If you want a copy you can access offline and anywhere, there’s a huge variety of versions available at reasonable prices. But there’s really no excuse. If you’re designing a game, you should go check this book out right now (but please don’t do what I am, and halt work on your current project until you’re done… after the second recode from scratch I put a prototype on hold until I read every last page, even the last few that I haven’t finished but are clearly not applicable to what I’m doing right now…).