Game Engine Architecture, Third Edition, 3rd Edition

Book description

New to this edition: update the section on game console HW, extend the rendering chapter, include a section on 2D GUI, new chapter on multiplayer networking, more coverage of the Unity game engine.

Table of contents

  1. Cover
  2. Half Title
  3. Title Page
  4. Copyright Page
  5. Dedication
  6. Table of Contents
  7. Preface
  8. I Foundations
    1. 1 Introduction
      1. 1.1 Structure of a Typical Game Team
      2. 1.2 What Is a Game?
      3. 1.3 What Is a Game Engine?
      4. 1.4 Engine Differences across Genres
      5. 1.5 Game Engine Survey
      6. 1.6 Runtime Engine Architecture
      7. 1.7 Tools and the Asset Pipeline
    2. 2 Tools of the Trade
      1. 2.1 Version Control
      2. 2.2 Compilers, Linkers and IDEs
      3. 2.3 Profiling Tools
      4. 2.4 Memory Leak and Corruption Detection
      5. 2.5 Other Tools
    3. 3 Fundamentals of Software Engineering for Games
      1. 3.1 C++ Review and Best Practices
      2. 3.2 Catching and Handling Errors
      3. 3.3 Data, Code and Memory Layout
      4. 3.4 Computer Hardware Fundamentals
      5. 3.5 Memory Architectures
    4. 4 Parallelism and Concurrent Programming
      1. 4.1 Defining Concurrency and Parallelism
      2. 4.2 Implicit Parallelism
      3. 4.3 Explicit Parallelism
      4. 4.4 Operating System Fundamentals
      5. 4.5 Introduction to Concurrent Programming
      6. 4.6 Thread Synchronization Primitives
      7. 4.7 Problems with Lock-Based Concurrency
      8. 4.8 Some Rules of Thumb for Concurrency
      9. 4.9 Lock-Free Concurrency
      10. 4.10 SIMD/Vector Processing
      11. 4.11 Introduction to GPGPU Programming
    5. 5 3D Math for Games
      1. 5.1 Solving 3D Problems in 2D
      2. 5.2 Points and Vectors
      3. 5.3 Matrices
      4. 5.4 Quaternions
      5. 5.5 Comparison of Rotational Representations
      6. 5.6 Other Useful Mathematical Objects
      7. 5.7 Random Number Generation
  9. II Low-Level Engine Systems
    1. 6 Engine Support Systems
      1. 6.1 Subsystem Start-Up and Shut-Down
      2. 6.2 Memory Management
      3. 6.3 Containers
      4. 6.4 Strings
      5. 6.5 Engine Configuration
    2. 7 Resources and the File System
      1. 7.1 File System
      2. 7.2 The Resource Manager
    3. 8 The Game Loop and Real-Time Simulation
      1. 8.1 The Rendering Loop
      2. 8.2 The Game Loop
      3. 8.3 Game Loop Architectural Styles
      4. 8.4 Abstract Timelines
      5. 8.5 Measuring and Dealing with Time
      6. 8.6 Multiprocessor Game Loops
    4. 9 Human Interface Devices
      1. 9.1 Types of Human Interface Devices
      2. 9.2 Interfacing with a HID
      3. 9.3 Types of Inputs
      4. 9.4 Types of Outputs
      5. 9.5 Game Engine HID Systems
      6. 9.6 Human Interface Devices in Practice
    5. 10 Tools for Debugging and Development
      1. 10.1 Logging and Tracing
      2. 10.2 Debug Drawing Facilities
      3. 10.3 In-Game Menus
      4. 10.4 In-Game Console
      5. 10.5 Debug Cameras and Pausing the Game
      6. 10.6 Cheats
      7. 10.7 Screenshots and Movie Capture
      8. 10.8 In-Game Profiling
      9. 10.9 In-Game Memory Stats and Leak Detection
  10. III Graphics, Motion and Sound
    1. 11 The Rendering Engine
      1. 11.1 Foundations of Depth-Buffered Triangle Rasterization
      2. 11.2 The Rendering Pipeline
      3. 11.3 Advanced Lighting and Global Illumination
      4. 11.4 Visual Effects and Overlays
      5. 11.5 Further Reading
    2. 12 Animation Systems
      1. 12.1 Types of Character Animation
      2. 12.2 Skeletons
      3. 12.3 Poses
      4. 12.4 Clips
      5. 12.5 Skinning and Matrix Palette Generation
      6. 12.6 Animation Blending
      7. 12.7 Post-Processing
      8. 12.8 Compression Techniques
      9. 12.9 The Animation Pipeline
      10. 12.10 Action State Machines
      11. 12.11 Constraints
    3. 13 Collision and Rigid Body Dynamics
      1. 13.1 Do You Want Physics in Your Game?
      2. 13.2 Collision/Physics Middleware
      3. 13.3 The Collision Detection System
      4. 13.4 Rigid Body Dynamics
      5. 13.5 Integrating a Physics Engine into Your Game
      6. 13.6 Advanced Physics Features
    4. 14 Audio
      1. 14.1 The Physics of Sound
      2. 14.2 The Mathematics of Sound
      3. 14.3 The Technology of Sound
      4. 14.4 Rendering Audio in 3D
      5. 14.5 Audio Engine Architecture
      6. 14.6 Game-Specific Audio Features
  11. IV Gameplay
    1. 15 Introduction to Gameplay Systems
      1. 15.1 Anatomy of a Game World
      2. 15.2 Implementing Dynamic Elements: Game Objects
      3. 15.3 Data-Driven Game Engines
      4. 15.4 The Game World Editor
    2. 16 Runtime Gameplay Foundation Systems
      1. 16.1 Components of the Gameplay Foundation System
      2. 16.2 Runtime Object Model Architectures
      3. 16.3 World Chunk Data Formats
      4. 16.4 Loading and Streaming Game Worlds
      5. 16.5 Object References and World Queries
      6. 16.6 Updating Game Objects in Real Time
      7. 16.7 Applying Concurrency to Game Object Updates
      8. 16.8 Events and Message-Passing
      9. 16.9 Scripting
      10. 16.10 High-Level Game Flow
  12. V Conclusion
    1. 17 You Mean There’s More?
      1. 17.1 Some Engine Systems We Didn’t Cover
      2. 17.2 Gameplay Systems
  13. Bibliography
  14. Index

Product information

  • Title: Game Engine Architecture, Third Edition, 3rd Edition
  • Author(s): Jason Gregory
  • Release date: July 2018
  • Publisher(s): A K Peters/CRC Press
  • ISBN: 9781351974271