Game Engine Gems 1 By Eric Lengyel is a book I discovered on Amazon, but really hadn’t heard of or seen talked about anywhere else. I do recognize the editor, Eric Lengyel, as the creator of the C4 Engine and author of the classic textbook Mathematics for 3D Game Programming and Computer Graphics. So I was going in with high hopes. The book is a compilation of various short chapters focusing on a specific topic pertinent to game engine development. The contributors all appeared to be seasoned game developers from the likes of EA, Codemasters, NaughtyDog, and so forth. Really a great pool of talent and lots of interesting tidbits lay on these pages (or on the screen, rather, since I read it on my Kindle Fire tablet).
Some of the 28 different topics covered include: evaluating middleware, the game asset pipeline, volumetric rendering, path-finding, sound culling, stereoscopic 3d, multi-threading, memory pools, fluid dynamics, physically-based rendering, screen-space ambient occlusion, and some various odds and ends. Just looking at the list of topics you would think the work would be a 1,000 page tome. Unfortunately (or not, depending on your preference), the book is only around 350 pages. That did make for a quick light read, and I finished the whole thing within a few days. On the other hand, I felt like some of the topics were too brief and could have used more detail. In particular, the chapter on stereoscopic 3d was a joke and didn’t even touch upon how to write a stereo renderer. It talks about some different 3d methods used in films (active vs. passive 3d, etc.), which is interesting, but has nothing to do with game development. Seeing as that was one of the main reasons I picked up the book, I couldn’t help but feel slightly cheated. To be fair, many of the chapters are done well and did add to my knowledge of game engine development.
Most useful, I felt, were the chapters on multi-threading (there were a few) since this is a field I am pretty weak in. I also very much liked the chapter on sound culling, as it presents a pretty complete implementation and is something I never even considered but seems like a great optimization. One thing to keep in mind, is that this is not a cookbook. There is code in many chapters (well usually pseudo-code) but rarely is there anything you can expect to straight cut and paste. The way the book is organized, its more like general concepts and algorithms, in a manner to give you enough information to do your own research or implementation. I realize some people just want drop in solutions, and they probably won’t find that here. But if you are intelligent enough, you can take a concept and run with it. It’s up to you.
To be clear: Game Engine Gems won’t give you all you need to know to create a game engine. Far from it. It really doesn’t discuss a lot of basic things (like DirectX or OpenGL, which are barely touched upon) but chooses to highlight some specific narrow topics. I think it’s a great complement to more technical books you might find on game engine architecture or graphics programming in general. For sure, it is a worthy addition to my growing game development library. I’m also very much looking forward to the second book in the series, and really hope they deliver with the stereoscopic 3d coverage. Another one to recommend.