Game Engine Black Book: Doom

Back in March, I posted about Fabien’s Game Engine Black Book for Wolfenstein 3D. Besides a 2nd Edition of that book, Fabien has recently released the next book in the series, and on the 25th(!) anniversary of Doom’s release. The Game Engine Black Book for Doom follows the same format and layout, but it is a MUCH bigger book, with plenty more images as well as a larger section on the almost lubricous number of ports to consoles. In such a large book I only noticed a few errors as far as layout, spelling, etc. and I commend Fabien for tracking any issues both through a spreadsheet as well as GitHub.

Like the Wolfenstein 3D book, but to a larger degree, pretty much all of the code samples were completely foreign to me (although compared to games before and since Doom, there’s surprisingly little assembly here). Part of this is due to Doom’s larger codebase, therefor in most samples multiple if not dozens of lines are removed, but even if they were included it wouldn’t help me (if Fabien eventually covers Quake, I don’t know how much worse it could be then). I could understand most of the general concepts, but just like in my post for Wolfenstein 3D anyone without any previous 3D game programming experience would likely get more out of this book by first going over the basics with something else. I’m still trying to find something for myself, whether it uses C or something newer.

Overall I really liked reading this, despite how much of the specifics went over my head. It’s fun for me to learn more programming details, especially game-related. I would love to see more books like this, even for “simpler” 2D games, whether from the early days or even something found today, whether on PC, consoles, or even mobile! It may not encourage my own programming practice as much as something like Masters of Doom, but nevertheless I always enjoy learning more about anything related to id and their games!