You are previewing Game Programming Gems 7.
O'Reilly logo
Game Programming Gems 7

Book Description

Welcome to the seventh volume of the must-have reference series for game developers, Game Programming Gems, the series that helped define the standards for game programming and continues to be an essential source for new, innovative techniques. "Game Programming Gems 7" provides the tools and inspiration that game developers need to excel. Featuring cutting-edge, ready-to-use techniques contributed by industry veterans and experts, this new collection is a key resource for inspiration, insight, and a plethora of time-saving, ready-to-use methods for the developer's tool box! Gems 7 answers the needs of passionate developers, eager newcomers, voracious production requirements, and the demand for innovating and entertaining gameplay. Covering all the key development areas including math and physics, artificial intelligence, audio, and even scripting and data-driven systems, each section is edited by an expert in the field to ensure that the ideas are original, accurate, and useful.There are gems that contribute directly to a player's experience of the game, including audio production gems and human-game interactions. Does your development team include a DBA? Inside you'll find a gem that suggests ways to integrate your object system with a relational database. Recognizing the need for good solutions for managing ever-increasing team sizes and facilitating efficient internal and external communications, there is a networking gem that applies tools to multiplayer development that are common to many network administrators, but may not yet have widespread use in our industry. Dig into this new volume of useful, practical ideas and techniques and get ready to make games that are more inventive, entertaining, and satisfying!

Table of Contents

  1. Title Page
  2. Copyright Page
  3. Contents
  4. Preface
  5. About the Cover Image
  6. Acknowledgments
  7. Contributor Bios
  8. SECTION 1 GENERAL PROGRAMMING
    1. Introduction
    2. 1.1 Efficient Cache Replacement Using the Age and Cost Metrics
    3. 1.2 High Performance Heap Allocator
    4. 1.3 Optical Flow for Video Games Played with Webcams
    5. 1.4 Design and Implementation of a Multi-Platform Threading Engine
    6. 1.5 For Bees and Gamers: How to Handle Hexagonal Tiles
    7. 1.6 A Sketch-Based Interface to Real-Time Strategy Games Based on a Cellular Automaton
    8. 1.7 Foot Navigation Technique for First-Person Shooting Games
    9. 1.8 Deferred Function Call Invocation System
    10. 1.9 Multithread Job and Dependency System
    11. 1.10 Advanced Debugging Techniques
  9. SECTION 2 MATH AND PHYSICS
    1. Introduction
    2. 2.1 Random Number Generation
    3. 2.2 Fast Generic Ray Queries for Games
    4. 2.3 Fast Rigid-Body Collision Detection Using Farthest Feature Maps
    5. 2.4 Using Projective Space to Improve Precision of Geometric Computations
    6. 2.5 XenoCollide: Complex Collision Made Simple
    7. 2.6 Efficient Collision Detection Using Transformation Semantics
    8. 2.7 Trigonometric Splines
    9. 2.8 Using Gaussian Randomness to Realistically Vary Projectile Paths
  10. SECTION 3 AI
    1. Introduction
    2. 3.1 Creating Interesting Agents with Behavior Cloning
    3. 3.2 Designing a Realistic and Unified Agent-Sensing Model
    4. 3.3 Managing AI Algorithmic Complexity: Generic Programming Approach
    5. 3.4 All About Attitude: Building Blocks for Opinion, Reputation, and NPC Personalities
    6. 3.5 Understanding Intelligence in Games Using Player Traces and Interactive Player Graphs
    7. 3.6 Goal-Oriented Plan Merging
    8. 3.7 Beyond A*: IDA* and Fringe Search
  11. SECTION 4 AUDIO
    1. Introduction
    2. 4.1 Audio Signal Processing Using Programmable Graphics Hardware
    3. 4.2 MultiStream—The Art of Writing a Next-Gen Audio Engine
    4. 4.3 Listen Carefully, You Probably Won’t Hear This Again
    5. 4.4 Real-Time Audio Effects Applied
    6. 4.5 Context-Driven, Layered Mixing
  12. SECTION 5 GRAPHICS
    1. Introduction
    2. 5.1 Advanced Particle Deposition
    3. 5.2 Reducing Cumulative Errors in Skeletal Animations
    4. 5.3 An Alternative Model for Shading of Diffuse Light for Rough Materials
    5. 5.4 High-Performance Subdivision Surfaces
    6. 5.5 Animating Relief Impostors Using Radial Basis Functions Textures
    7. 5.6 Clipmapping on SM1.1 and Higher
    8. 5.7 An Advanced Decal System
    9. 5.8 Mapping Large Textures for Outdoor Terrain Rendering
    10. 5.9 Art-Based Rendering with Graftal Imposters
    11. 5.10 Cheap Talk: Dynamic Real-Time Lipsync
  13. SECTION 6 NETWORKING AND MULTIPLAYER
    1. Introduction
    2. 6.1 High-Level Abstraction of Game World Synchronization
    3. 6.2 Authentication for Online Games
    4. 6.3 Game Network Debugging with Smart Packet Sniffers
  14. SECTION 7 SCRIPTING AND DATA-DRIVEN SYSTEMS
    1. Introduction
    2. 7.1 Automatic Lua Binding System
    3. 7.2 Serializing C++ Objects Into a Database Using Introspection
    4. 7.3 Dataports
    5. 7.4 Support Your Local Artist: Adding Shaders to Your Engine
    6. 7.5 Dance with Python’s AST
  15. About the CD-ROM
  16. INDEX