C++ is the primary language used in game development; however, game programming has a unique set of challenges, which general application development techniques and recommendations dont apply to. Written to address this issue, C++ for Game Programmers
provides practical suggestions for what C++ features to use in game development and why. Many of the misconceptions of C++ are clarified, and programmers learn the most effective methods for using the language to create games. This is primarily a book about ideas and concepts: it is not just a source of C++ code to use in your game project. Instead, C++ for Game Programmers covers how things work from a game-development perspective, and provides practical rules to follow. It points out the most effective C++ practices and steers developers away from the potentially dangerous ones. It describes common C++ techniques to solve specific problems faced by most developers, and focuses on techniques that have been proven in real games. Additionally, specific new technologies such as STL are covered in detail, along with the challenges specific to different platforms such as PCs or game consoles. The techniques presented apply to all aspects of game programming, including graphics, physics, and AI. C++ for Game Programmers
is the perfect resource for game programmers looking to perfect their C++ skills, and experienced programmers interested in entering the game industry. Graphics, embedded systems, and real-time systems programmers facing the same challenges as game programmers will also benefit from the ideas and techniques covered. On the CD!
The CD-ROM contains the source code for several programs that demonstrate the more complex concepts in the book. They are fully functional programs that show how all the different ideas interrelate and come together.
-- A fully implemented memory manager and a small test application.
A simple Win32 application with plug-ins. The application displays the currently loaded plug-ins, and the plug-ins themselves add some menu entries to the main application.
-- A custom runtime type information system, intended to work only with single inheritance.
A variation on the previous custom runtime type information system. It supports multiple inheritance at the cost of some extra performance.
-- A templatized object factory for game entities.
-- A simple implementation that serializes a full game-entity tree to disk and loads it back. System Requirements
All the programs were compiled using Visual Studio C++ 6.0 and were tested under Windows 2000. However, except for the plug-ins example, they should all be platform and compiler independent, so they should be easy to compile and run in your favorite environment. The executable for the plug-ins example program is also provided. You can experiment with it without having to compile it first.