Game Programming Gems (Game Programming Gems (W/CD))
Aimed at the working (or aspiring) Visual C/C++ game programmer,Game   Programming Gemscontains 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 ofquaternions, 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, betterskinningfor   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 Gemswill 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 DraganTopics covered:Tips and strategies for game developersData-driven design and scripting languagesObject-oriented design primerUsing Visual C++ templates for faster math calculationsResource-management techniques (Singleton patterns, resource handles, and   tips for fast data loads)The C++ Standard Template Library (STL) for gamesBit arraysNetwork protocols for online gamesUsingasserts   and profiling for gamesRandom numbersInterpolation methodsEquations for rigid body motionUsing polynomial approximations for trig   functionsImplicit Euler integrationWaveletsSimulating water   surfacesQuaternion vs. matrix calculationsArtificial-intelligence (AI)   techniques for gamersSending messagesFinite State Machines (FSMs)Game treesPathing strategies (including A* and 3-D pathing   solutions)Flocking algorithmsIntroduction to fuzzy logic and neural   networksTechniques for faster graphics with polygons (and 3-D fundamentals)Loading vertices faster into OpenGLThe vector cameraCamera-control   strategies3-D collision detectionMultiresolution mapsDistance   calculationObject occlusionWorking withoctreesInterpolating between 3-D keyframesSkinningtechniquesTerrain-generation algorithms (including fractals)2-D lens flare2-D sprite effects with 3-D hardwareTechniques for more realistic   lightingShadows and texturingSimulating glass and liquids in   games