Being a game developer is what got me interested in computer engineering. I’ve veered a long way from that goal but I still love reading about it, because programming for games involves so many clever hacks, especially on the user-facing side.
Here are a few links and reads I’ve enjoyed:
- Naughty Dog circa Crash Bandicoot seems like the Xerox PARC of video game development, because of how many great developers have connections to it. Andy Gavin and Jason Rubin have written a lengthy series of blog posts covering the entire making of Crash Bandicoot.
- Dave Baggett battled his “hardest bug ever” when developing Crash Bandicoot (HN comments). His Quora answer to How did game developers pack entire games into so little memory twenty five years ago? is another must-read. In fact, all of Baggett’s entire Quora answer feed is worth reading (yes, I never thought I’d say “entire”, “Quora feed”, and “worth reading” in a single sentence).
- Patrick Wyatt has a series on the “Tough times on the road to Starcraft”. Some great highlights: Avoiding game crashes related to linked lists and this path-finding hack
- Fabien Sanglard has a wonderful series of code reviews for classic games, ranging from Prince of Persia to DOOM 3 (one surprise for me: all the assets are in human-readable text, which John Carmack later said was a mistake)
- Casey Muratori also has a series of wonderful posts about writing code for The Witness, including how to grow grass. His post on creating a visual debugger for The Witness to map an island’s walkable surfaces gave me a new appreciation for the power of visualization in computational work. Check out his Handmade Hero series, in which he creates a game and engine from scratch.
- Valve’s entire list of publications is worth reading. Some of my favorites: how the Valve engineering and writing team came up with a spreadsheet-like system to build the dynamic dialogue of Left 4 Dead 2. And also, how to efficiently create zombie wounds and other neat rendering tricks.
- David Galindo’s 7-part series, How much do indie PC devs make, anyways?, is not as focused on the programming part, but deserves a mention for his thoroughness and the fact that he’s made a living off of a game as silly-on-its-face as Cook, Serve, Delicious!
- Mary Rose Cook’s live demo of how-to-code Space Invaders from scratch (source code here) is a terrific watch and reminds me of how much fun game dev can be:
In honor of recently passed Satoru Iwata, Nintendo’s chief executive, programmer, and gamer, this Q&A in which Iwata describes working with the Pokemon source code (via reddit/TIL)
In honor of the recent King’s Quest remake: The Unmaking and Remaking of Sierra On-Line, which has a detailed description of the original KQ’s technical challenges and innovations.
- Lucas Pope’s dev log for Return of the Obra Dinn
- Lucas Pope’s dev log for Papers Please
More to come…