In this new and improved third edition of the highly popular Game Engine Architecture, Jason Gregory draws on his nearly two decades of experience at Midway, Electronic Arts and Naughty Dog to present both the theory and practice of game engine software development. In this book, the broad range of technologies and techniques used by AAA game studios are each explained in detail, and their roles within a real industrial-strength game engine are illustrated.
New to the Third Edition
This third edition offers the same comprehensive coverage of game engine architecture provided by previous editions, along with updated coverage of:
- computer and CPU hardware and memory caches,
- compiler optimizations,
- C++ language standardization,
- the IEEE-754 floating-point representation,
- 2D user interfaces,
- plus an entirely new chapter on hardware parallelism and concurrent programming.
This book is intended to serve as an introductory text, but it also offers the experienced game programmer a useful perspective on aspects of game development technology with which they may not have deep experience. As always, copious references and citations are provided in this edition, making it an excellent jumping off point for those who wish to dig deeper into any particular aspect of the game development process.
- Covers both the theory and practice of game engine software development
- Examples are grounded in specific technologies, but discussion extends beyond any particular engine or API.
- Includes all mathematical background needed.
- Comprehensive text for beginners and also has content for senior engineers.
Table of Contents
Section I Foundations
Chapter 1 Introduction
Chapter 2 Tools of the Trade
Chapter 3 Fundamentals of Software Engineering for Games
Chapter 4 Parallelism and Concurrent Programming
Chapter 5 3D Math for Games
Section II Low-Level Engine Systems
Chapter 6 Engine Support Systems
Chapter 7 Resources and the File System
Chapter 8 The Game Loop and Real-Time Simulation
Chapter 9 Human Interface Devices
Chapter 10 Tools for Debugging and Development
Section III Graphics, Motion and Sound
Chapter 11 The Rendering Engine
Chapter 12 Animation Systems
Chapter 13 Collision and Rigid Body Dynamics
Chapter 14 Audio
Chapter 15 Introduction to Gameplay Systems
Chapter 16 Runtime Gameplay Foundation Systems
Section V Conclusion
Chapter 17 You Mean There’s More?
Jason Gregory has worked as a software engineer in the games industry since March 1999 and as a professional software engineer since 1994. He got his start in game programming at Midway Home Entertainment in San Diego, where he worked on Hydro Thunder 2 and Offroad Thunder, and wrote the Playstation 2/Xbox animation system for Freaky Flyers and Crank the Weasel. In 2003, Jason moved to Electronic Arts Los Angeles, where he worked on engine and gameplay technology for Medal of Honor: Pacific Assault and served as a lead engineer on the Medal of Honor: Airborne project. Jason is currently a Lead Programmer at Naughty Dog Inc., where he and his colleagues are currently working on The Last of Us: Part II for Playstation 4. He also developed engine and gameplay software for every game in the Uncharted series, and The Last of Us on PS3 and PS4, and has also taught courses in game technology at the University of Southern California.