Game Programming Gems, w. CD-ROM
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 Topics covered: Tips and strategies for game developers Data-driven design and scripting languages Object-oriented design primer Using Visual C++ templates for faster math calculations Resource-management techniques (Singleton patterns, resource handles, and tips for fast data loads) The C++ Standard Template Library (STL) for games Bit arrays Network protocols for online games Using asserts and profiling for games Random numbers Interpolation methods Equations for rigid body motion Using polynomial approximations for trig functions Implicit Euler integration Wavelets Simulating water surfaces Quaternion vs. matrix calculations Artificial-intelligence (AI) techniques for gamers Sending messages Finite State Machines (FSMs) Game trees Pathing strategies (including A* and 3-D pathing solutions) Flocking algorithms Introduction to fuzzy logic and neural networks Techniques for faster graphics with polygons (and 3-D fundamentals) Loading vertices faster into OpenGL The vector camera Camera-control strategies 3-D collision detection Multiresolution maps Distance calculationObject occlusion Working with octrees Interpolating between 3-D keyframes Skinning techniques Terrain-generation algorithms (including fractals) 2-D lens flare 2-D sprite effects with 3-D hardware Techniques for more realistic lighting Shadows and texturing Simulating glass and liquids in games