Game Programming Gems
by Mark DeLoura (Editor)
ISBN: 1584500492 Book review by Amazon.com reprinted with permission
Aimed at the working (or aspiring) Visual C/C++ game programmer, Game Programming Gems contains over 60 programming tips that have been gathered from more than 40 working game gurus. It you want to build your own games or are interested simply in how games work, this text provides an intriguing glimpse into how the pros create state-of-the-art 3-D animation.
The guiding principle in this book is to publish the best available tips for game programming; most of these fit into 10 pages or fewer. But don't let the efficient presentation fool you; almost every one of these tips will be invaluable to any serious game developer.
Early sections concentrate on techniques for creating more maintainable, faster code. A guide to using scripts for data-driven game modules and techniques teaches you better resource management (like using handles). A quick-start tutorial to the Standard Template Library (STL) will help you learn how to use these fast collection classes in your code right away. Several contributors show off strategies for better game debugging and profiling--there's even a set of classes that can provide onscreen feedback during testing.
The mathematical underpinnings that are required to do leading-edge 3-D graphics processing--including the use of quaternions, instead of matrices, in certain calculations--also are discussed. (One section looks at simulating water surfaces.) And artificial intelligence (AI) techniques for games--like Finite State Machines (FSMs), fuzzy logic, and neural networks--are explained. (The extremely cool flocking algorithms, which will let you add the behavior of birds or fish to your next game level, are especially appealing.)
Over 20 techniques for doing work with polygons (a staple of representing 3-D virtual worlds) are laid out, too. You'll learn a variety of important concepts, such as collision detection, working with key frames, better skinning for character animation, and realistic terrain generation (including fractals). A discussion of pixel effects, with some cutting-edge ways to add more realistic lighting and shadows to your games, closes the discussion. (One of the more exciting sections shows you how to simulate glass objects within 3-D scenes.)
With its leading-edge material on the algorithms that are used by the competition, Game Programming Gems will be a virtual must-read for anyone who works in the game industry. With code samples that are geared to OpenGL and that should run on both Windows and Linux, this book will help developers hone their game-programming skills. --Richard Dragan