This book does an OK job of walking through the basic anatomy of a game engine. You won't have anything too complex at the end of the day, because at only 500 pages, this allows only roughly 50 pages per chapter. Imagine trying to get everything you need to say about game physics in 50 pages! What was David Eberly thinking when he wrote that 800 page book on the subject? The book walks through the basics, adding features to the game engine as it goes, while never going very deep at all into any one subject. It's a good first book on what the skeleton of a modern game engine looks like, but you'll almost need a separate book to match the subject matter in each chapter in this book if you intend to put meat on those bones. On the plus side, the author uses standard C++, making the code easy to read and understand. Also, this is one of the few books on game engine design that mentions network programming issues and audio along with all of the 3D graphics issues. Another plus is that several of the chapters include student exercises, making it a good textbook choice in a class on basic game engine design. One odd thing the author does is that he continually uses UML diagrams in the book. Beginning game programmers need to focus on engine architecture and not get befuddled with software engineering issues. In general I thought the author's figures subtracted more than they added to the understanding of the book and its subject matter. The following is the table of contents:
Part 1 INTRODUCTION TO GAME ENGINES
1. Introduction to Game Engines - a "flyover" of the entire book including coding conventions used.
2. Engine Core - A discussion of data structures used, memory allocation and file I/O, and timing utilities - the basic workhorse elements of the engine.
3. Input, Sound and Networking - A long chapter that includes a look at the XBox 360 and XInput. OpenAL, which is a free API for 3D audio, along with XACT, which is Microsoft's cross-platform audio creation tool,are discussed for adding audio. Finally, networking with sockets is discussed.
Part 2 GRAPHICS AND ENVIRONMENTS
4. Rendering Systems - Includes a basic math library as well as a discussion of geometry primitives, shaders, and texturing.
5. Rendering Scenes and Scene Graphs - Describes the scene graph and how to work with it. Talks more about special effects than the more important subject of Level of Detail. Geometry sorting and culling is also discussed.
Part 3 PHYSICS, AI, AND SCRIPTING
6. Physics - Newtonian physics and games are discussed some, but there is a relatively long discussion on cloth simulation, which seems odd.
7. Artificial Intelligence - Barely touches the surface of the subject. It mentions path finding, finite state machines, and scripting, but not in near enough detail to be helpful.
8. Scripting - A very general chapter on this subject, and all too short.
PART 4 DEMOS
9. Game Demos - Discusses two demos using the engine - "Black Jack" and "The 3D Walkthrough Demo". A pretty good chapter.
PART 5 GAME OVER
10. Conclusions - A short and very general discussion of how the engine might be improved.
Appendix A. Additional Resources
Appendix B. Additional Tools
Appendix C. About the CD ROM
This is an OK first choice on understanding the basics of game engine design, just don't expect to walk away an expert after reading it.