Book description
Hailed as a "must-have textbook" (CHOICE, January 2010), the first edition of Game Engine Architecture provided readers with a complete guide to the theory and practice of game engine software development. Updating the content to match today’s landscape of game engine architecture, this second edition continues to thoroughly cover the major components that make up a typical commercial game engine.
New to the Second Edition
- Information on new topics, including the latest variant of the C++ programming language, C++11, and the architecture of the eighth generation of gaming consoles, the Xbox One and PlayStation 4
- New chapter on audio technology covering the fundamentals of the physics, mathematics, and technology that go into creating an AAA game audio engine
- Updated sections on multicore programming, pipelined CPU architecture and optimization, localization, pseudovectors and Grassman algebra, dual quaternions, SIMD vector math, memory alignment, and anti-aliasing
- Insight into the making of Naughty Dog’s latest hit, The Last of Us
The book presents the theory underlying various subsystems that comprise a commercial game engine as well as the data structures, algorithms, and software interfaces that are typically used to implement them. It primarily focuses on the engine itself, including a host of low-level foundation systems, the rendering engine, the collision system, the physics simulation, character animation, and audio. An in-depth discussion on the "gameplay foundation layer" delves into the game’s object model, world editor, event system, and scripting system. The text also touches on some aspects of gameplay programming, including player mechanics, cameras, and AI.
An awareness-building tool and a jumping-off point for further learning, Game Engine Architecture, Second Edition gives readers a solid understanding of both the theory and common practices employed within each of the engineering disciplines covered. The book will help readers on their journey through this fascinating and multifaceted field.
Table of contents
- Foreword to the First Edition
- Foreword to the Second Edition
- Preface to the First Edition
- Preface to the Second Edition
- Acknowledgements
- I Foundations
- 1 Introduction
- 1.1 Structure of a Typical Game Team
- 1.2 What Is a Game?
- 1.3 What Is a Game Engine?
- 1.4 Engine Differences Across Genres
- 1.5 Game Engine Survey
- 1.6 Runtime Engine Architecture
- 1.7 Tools and the Asset Pipeline
- 2 Tools of the Trade
- 2.1 Version Control
- 2.2 Microsoft Visual Studio
- 2.3 Profiling Tools
- 2.4 Memory Leak and Corruption Detection
- 2.5 Other Tools
- 3 Fundamentals of Software Engineering for Games
- 3.1 C++ Review and Best Practices
- 3.2 Data, Code and Memory
- 3.3 Catching and Handling Errors
- 3.4 Pipelines, Caches and Optimization
- 4 3D Math for Games
- 4.1 Solving 3D Problems in 2D
- 4.2 Points and Vectors
- 4.3 Matrices
- 4.4 Quaternions
- 4.5 Comparison of Rotational Representations
- 4.6 Other Useful Mathematical Objects
- 4.7 Hardware-Accelerated SIMD Math
- 4.8 Random Number Generation
- II Low-Level Engine Systems
- 5 Engine Support Systems
- 5.1 Subsystem Start-Up and Shut-Down
- 5.2 Memory Management
- 5.3 Containers
- 5.4 Strings
- 5.5 Engine Configuration
- 6 Resources and the File System
- 6.1 File System
- 6.2 The Resource Manager
- 7 The Game Loop and Real-Time Simulation
- 7.1 The Rendering Loop
- 7.2 The Game Loop
- 7.3 Game Loop Architectural Styles
- 7.4 Abstract Timelines
- 7.5 Measuring and Dealing with Time
- 7.6 Multiprocessor Game Loops
- 7.7 Networked Multiplayer Game Loops
- 8 Human Interface Devices (HID)
- 8.1 Types of Human Interface Devices
- 8.2 Interfacing with a HID
- 8.3 Types of Inputs
- 8.4 Types of Outputs
- 8.5 Game Engine HID Systems
- 8.6 Human Interface Devices in Practice
- 9 Tools for Debugging and Development
- 9.1 Logging and Tracing
- 9.2 Debug Drawing Facilities
- 9.3 In-Game Menus
- 9.4 In-Game Console
- 9.5 Debug Cameras and Pausing the Game
- 9.6 Cheats
- 9.7 Screenshots and Movie Capture
- 9.8 In-Game Profiling
- 9.9 In-Game Memory Stats and Leak Detection
- III Graphics, Motion and Sound
- 10 The Rendering Engine
- 10.1 Foundations of Depth-Buffered Triangle Rasterization
- 10.2 The Rendering Pipeline
- 10.3 Advanced Lighting and Global Illumination
- 10.4 Visual Effects and Overlays
- 10.5 Further Reading
- 11 Animation Systems
- 11.1 Types of Character Animation
- 11.2 Skeletons
- 11.3 Poses
- 11.4 Clips
- 11.5 Skinning and Matrix Palette Generation
- 11.6 Animation Blending
- 11.7 Post-Processing
- 11.8 Compression Techniques
- 11.9 Animation System Architecture
- 11.10 The Animation Pipeline
- 11.11 Action State Machines
- 11.12 Animation Controllers
- 12 Collision and Rigid Body Dynamics
- 12.1 Do You Want Physics in Your Game?
- 12.2 Collision/Physics Middleware
- 12.3 The Collision Detection System
- 12.4 Rigid Body Dynamics
- 12.5 Integrating a Physics Engine into Your Game
- 12.6 Advanced Physics Features
- 13 Audio
- 13.1 The Physics of Sound
- 13.2 The Mathematics of Sound
- 13.3 The Technology of Sound
- 13.4 Rendering Audio in 3D
- 13.5 Audio Engine Architecture
- 13.6 Game-Specific Audio Features
- IV Gameplay
- 14 Introduction to Gameplay Systems
- 14.1 Anatomy of a Game World
- 14.2 Implementing Dynamic Elements: Game Objects
- 14.3 Data-Driven Game Engines
- 14.4 The Game World Editor
- 15 Runtime Gameplay Foundation Systems
- 15.1 Components of the Gameplay Foundation System
- 15.2 Runtime Object Model Architectures
- 15.3 World Chunk Data Formats
- 15.4 Loading and Streaming Game Worlds
- 15.5 Object References and World Queries
- 15.6 Updating Game Objects in Real Time
- 15.7 Events and Message-Passing
- 15.8 Scripting
- 15.9 High-Level Game Flow
- V Conclusion
- 16 You Mean There’s More?
- 16.1 Some Engine Systems We Didn’t Cover
- 16.2 Gameplay Systems
- Bibliography
- Index
Product information
- Title: Game Engine Architecture, 2nd Edition
- Author(s):
- Release date: March 2017
- Publisher(s): A K Peters/CRC Press
- ISBN: 9781351605649
You might also like
book
Game Engine Architecture, Third Edition, 3rd Edition
New to this edition: update the section on game console HW, extend the rendering chapter, include …
book
Real-Time Rendering, Fourth Edition, 4th Edition
Thoroughly updated, this fourth edition focuses on modern techniques used to generate synthetic three-dimensional images in …
book
Designing Data-Intensive Applications, 2nd Edition
Data is at the center of many challenges in system design today. Difficult issues such as …
book
Design Patterns: Elements of Reusable Object-Oriented Software
Capturing a wealth of experience about the design of object-oriented software, four top-notch designers present a …