Computer games like first person shooters (FPSs) are a serious business, directly affecting other fields of software technology (for example, computer graphics, computer-aided design/engineering, and scientific visualization), as gaming leads to increasingly improved graphics and processing systems. This book focuses directly on this specific kind of game (FPS), and offers a complete tutorial on how to build one. Part 1 of the book details the development of the required game engine, while Part 2 is devoted to the game itself.
Engine design is explained in chapter 1, which also describes the engine’s components. After specifying the engine’s main features, one must put together an appropriate software framework, where development of the engine will be done; chapter 2 is devoted exactly to this framework. Engine control is the primary function of this system, referring to engine processing and user input; both are analyzed in chapter 3. Programming techniques, to be used throughout the book, are introduced in chapters 3 and 4, while chapter 5 is a long chapter, analyzing the vital rendering subsystem of an engine. Nowadays, a game’s sound system is very important; its design and implementation are the subjects of chapter 6. Chapter 7 is devoted to networking, which is the single most important prerequisite for an engine to be able to support network-based multiplayer games. Chapters 8 and 9 build on chapter 5, and elaborate on rendering and manipulating three-dimensional (3D) graphical objects (meshes). These objects are the building blocks of a game’s scenes. All aspects of scene management are presented in chapter 10, which concludes Part 1.
Having already developed an efficient engine, game creation is a relatively easy task. Rightly, the author devotes only three chapters (less than 20 percent of the total number of pages) to it: “Foundations” (chapter 11) elaborates on game design and development, while the final two chapters address the detail design and development of a game, focusing on players and weapons.
It must be strongly emphasized that this book does not seek to fully cover the subject of multiplayer FPSs, but rather focuses on programming this short application in DirectX. Indeed, very little can be found in this volume that goes beyond software development. As an academic researcher in the fields of graphics and computer-aided design (CAD), I found this book to be an important contribution to computer graphics, since game design and development is rightly considered to be an important part of the graphics industry.