Game Architecture

  1. Introduction
    • Structure of a Typical Game Team
    • What Is a Game?
    • What Is a Game Engine?
    • Engine Differences across Genres
    • Game Engine Survey
    • Runtime Engine Architecture
    • Tools and the Asset Pipeline
    • Debugging and Profiling
  2. Tools of the Trade
    • Version Control
    • Microsoft Visual Studio
    • Profiling Tools
    • Memory Leak and Corruption Detection
    • Other Tools
  3. Fundamentals of Software Engineering for Games
    • C++ Review and Best Practices
    • Data, Code, and Memory in C/C++
    • Catching and Handling Errors
  4. 3D Math for Games
    • Solving 3D Problems in 2D
    • Points and Vectors
    • Matrices
    • Quaternions
    • Comparison of Rotational Representations
    • Other Useful Mathematical Objects
    • Hardware-Accelerated SIMD Math
    • Random Number Generation
  5. Engine Support Systems
    • Subsystem Start-Up and Shut-Down
    • Memory Management
    • Containers
    • Strings
    • Engine Configuration
  6. Resources and the File System
    • File System
    • The Resource Manager
  7. The Game Loop and Real-Time Simulation
    • The Rendering Loop
    • The Game Loop
    • Game Loop Architectural Styles
    • Abstract Timelines
    • Measuring and Dealing with Time
    • Multiprocessor Game Loops
    • Networked Multiplayer Game Loops
  8. Human Interface Devices (HID)
    • Types of Human Interface Devices
    • Interfacing with a HID
    • Types of Inputs
    • Types of Outputs
    • Game Engine HID Systems
    • Human Interface Devices in Practice
  9. Tools for Debugging and Development
    • Logging and Tracing
    • Debug Drawing Facilities
    • In-Game Menus
    • In-Game Console
    • Debug Cameras and Pausing the Game
    • Cheats
    • Screen Shots and Movie Capture
    • In-Game Profiling
  10. The Rendering Engine
    • Foundations of Depth-Buffered
    • Triangle Rasterization
    • The Rendering Pipeline
    • Advanced Lighting and Global Illumination
    • Visual Effects and Overlays
  11. Animation Systems
    • Types of Character Animation
    • Skeletons
    • Poses
    • Clips
    • Skinning and Matrix Palette Generation
    • Animation Blending
    • Post-Processing
    • Compression Techniques
    • Animation System Architecture
    • The Animation Pipeline
    • Action State Machines
    • Animation Controllers
  12. Collision and Rigid Body Dynamics
    • Do You Want Physics in Your Game?
    • Collision/Physics Middleware
    • The Collision Detection System
    • Rigid Body Dynamics
    • Integrating a Physics Engine into Your Game
    • A Look Ahead: Advanced Physics Features
  13. Introduction to Gameplay Systems
    • Anatomy of a Game World
    • Implementing Dynamic Elements: Game Objects
    • Data-Driven Game Engines
    • The Game World Editor
  14. Runtime Gameplay Foundation Systems
    • Components of the Game play Foundation System
    • Runtime Object Model Architectures
    • World Chunk Data Formats
    • Loading and Streaming Game Worlds
    • Object References and World Queries
    • Updating Game Objects in Real Time
    • Events and Message-Passing
    • Scripting
    • High-Level Game Flow