Section 1 General Programming
1.1 Optimization for C++ Games
1.2 Inline Functions Versus Macros
1.3 Programming with
 Abstract Interfaces
1.4 Exporting C++ Classes from DLLs
1.5 Protect Yourself from DLL Hell 
and Missing OS Functions
1.6 Dynamic Type Information
1.7 A Property Class for Generic 
C++ Member Access
1.8 A Game Entity Factory
1.9 Adding Deprecation Facilities
 to C++
1.10 A Drop-in Debug Memory 
Manager
1.11 A Built-in Game Profiling Module
1.12 Linear Programming Model for 
Windows-based Games
1.13 Stack Winding
1.14 Self-Modifying Code
1.15 File Management Using 
Resource Files
1.16 Game Input Recording and
 Playback
1.17 A Flexible Text Parsing System
1.18 A Generic Tweaker
1.19 Genuine Random Number
 Generation
1.20 Using Bloom Filters to 
Improve Computational
 Performance
1.21 3ds max Skin Exporter and 
Animation Toolkit
1.22 Using Web Cameras in
Video Games
Section 2 Mathematics
2.1 Floating-Point Tricks:
Improving Performance with
 IEEE Floating Point
2.2 Vector and Plane Tricks
2.3 Fast, Robust Intersection of
 3D Line Segments
2.4 Inverse Trajectory
 Determination
2.5 The Parallel Transport Frame
2.6 Smooth C2 Quaternion-based
 Flythrough Paths
2.7 Recursive Dimensional 
Clustering: A Fast Algorithm
for Collision Detection
2.8 Programming Fractals
Section 3 Artificial Intelligence
3.1 Strategies for Optimizing Al
3.2 Micro-Threads for Game
 Object Al
3.3 Managing Al with Micro-
Threads
3.4 An Architecture for RTS
 Command Queuing
3.5 A High-Performance Tilebased
 Line-of-Sight and 
Search System
3.6 Influence Mapping
3.7 Strategic Assessment 
Techniques
3.8 Terrain Reasoning for 3D
 Action Games
3.9 Expanded Geometry for
 Points-of-Visibility Pathfinding
3.10 Optimizing Points-of-Visibility
 Pathfinding
3.11 Flocking with Teeth: Predators 
and Prey
3.12 A Generic Fuzzy State 
Machine in C++
3.13 Imploding Combinatorial 
Explosion in a Fuzzy System
3.14 Using a Neural Network in a 
Game: A Concrete Example
Section 4 Geometry Management
4.1 Comparison of VIPM Methods
4.2 Simplified Terrain Using
 Interlocking Tiles
4.3 Sphere Ttees for Fast Visibility
 Culling, Ray Tracing, and
 Range Searching
4.4 Compressed Axis-Aligned 
Bounding Box Trees
4.5 Direct Access Quadtree 
Lookup
4.6 Approximating Fish Tank
 Refractions
4.7 Rendering Print Resolution 
Screenshots
4.8 Applying Decals to Arbitrary 
Surfaces
4.9 Rendering Distant Scenery
 with Skyboxes
4.10 Self-Shadowing Characters
4.11 Classic Super Mario 64
 Third-Person Control and Animation
Section 5 Graphics Display
5.1 Cartoon Rendering: Real-time Silhouette Edge Detection and 
Rendering
5.2 Cartoon Rendering Using 
Texture Mapping and
 Programmable Vertex Shaders
5.3 Dynamic Per-Pixel Lighting
 Techniques
5.4 Generating Procedural Clouds
Using 3D Hardware
5.5 Texture Masking for Faster 
Lens Flare
5.6 Practical Priority Buffer 
Shadows
5.7 Impostors: Adding Clutter
5.8 Operations for Hardware-
Accelerated Procedural 
Texture Animation
Section 6 Audio Programming
6.1 Game Audio Design Patterns
6.2 A Technique to Instantaneously
 Reuse Voices in a
 Sample-based Synthesizer
6.3 Software-based DSP Effects
6.4 Interactive Processing 
Pipeline for Digital Audio
6.5 A Basic Music Sequencer
 for Games
6.6 An Interactive Music 
Sequencer for Games
6.7 A Low-Level Sound API
APPENDIX