Game Programming Gems (Game Programming Gems (W/CD))

Authors: Mark DeLoura

Published on: Aug 01, 2000

ISBN: 1584500492

Price (New): $53.99 US

Editorial Reviews

Product Description

For the countless tasks involved in creating a game engine there are an equal number of possible solutions. But instead of spending hours and hours trying to develop your own answers, now you can find out how the pros do it! Game Programming Gems is a hands-on, comprehensive resource packed with a variety of game programming algorithms written by experts from the game industry and edited by Mark DeLoura, former software engineering lead for Nintendo of America, Inc. and now the newly appointed editor-in-chief of Game Developer magazine. From animation and artificial intelligence to Z-buffering, lighting calculations, weather effects, curved surfaces, mutliple layer Internet gaming, to music and sound effects, all of the major techniques needed to develop a competitive game engine are covered. Game Programming Gems is written in a style accessible to individuals with a range of expertise levels. All of the source code for each algorithm is included and can be used by advanced programmers immediately. For aspiring programmers, there is a detailed tutorial to work through before attempting the code, and suggestions for possible modifications and optimizations are included as well.\n\n


Amazon.com Review

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 calculation
  • Object 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
  • uDevGames 2011

    Convergence — Best Gameplay
    Kung Fu Killforce — Best Overall Game, Best Audio, Best Presentation
    Flying Sweeden — Best Graphics, Most Original
    Time Goat — Best Story