Game Programming Gems (Game Programming Gems Series) by Mark DeLoura (Author)
Publisher: Charles River Media; Book & CD edition (August 2000) | ISBN-10: 1584500492 | PDF | 46 Mb (+ 7 Mb - Source code) | 600 pages
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.)