Ultimate 3D Game Engine Design and Architecture teaches how to design and create a video game engine that can be used to create gaming applications on the PC. Written for beginning programmers, beginning game developers, and those aspiring to get into the field, the book covers the various systems and processes that go into a complete game engine, with an emphasis on architecture issues. The book focuses on builds, a complete game engine, including graphics, physics, programming, audio, AI, data structures, memory management, and more.
The sample engine is called the Building Blocks 3D Engine and it's designed to give you the basics of each system that you can build from to create your own engines and games. The technologies used include OpenGL, C++, and the Windows XP, MacOS X, and Linux operating systems. This cross-platform approach makes the information and techniques easy to apply to any type of project.
The book is broken into five main parts, beginning with introductory material, the engine core, input, sound, and networking systems. Next comes graphics and environments, including the rendering system, the drawing of static models, and more advanced rendering topics such as level of detail, scene graphs, graphical effects, resource management, and scene management for environments in general. In the third part, Physics, AI, and Scripting are covered. The custom physics system is detailed, along with point masses and soft bodies. A variety of AI techniques are covered next, followed by scripting-command, property, and compiled scripting. In the fourth part the engine is ready to use for the two demo applications you'll create-a black jack game and a 3D walkthrough using a portal rendering system. In the final part, you'll review what you've done, what you could do, and what resources you might need in the future to enhance your game engine.
1 Introduction to Game Engines
2 Engine Core
3 Input, Sound, and Networking
4 Rendering Systems
5 Rendering Scenes and Scene Graphs
6 Physics
7 Artificial Intelligence
8 Scripting
9 Game Demos
10 Conclusions