Preface
1 Introduction
2 Tools of the Trade
3 Fundamentals of Software Engineering for Games
4 Parallelism and Concurrent Programming
5 3D Math for Games
6 Engine Support Systems
7 Resources and the File System
8 The Game Loop and Real-Time Simulation
9 Human Interface Devices
10 Tools for Debugging and Development
11 Rendering
12 Lighting and Post-Processing
13 Animation Systems
14 Collision and Rigid Body Dynamics
15 Audio
16 Introduction to Gameplay Systems
17 Runtime Gameplay Systems
18 You Mean There’s More?
Bibliography
Biography
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 tools, engine technology and game play code for Hydro Thunder™ 2 (arcade). He also 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 game play 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 team are working on an exciting new game title for PlayStation® 5. He also developed engine and gameplay software for Naughty Dog's Uncharted: Drake’s Fortune™, Uncharted 2: Among Thieves™, Uncharted 3: Drake's Deception™, Uncharted 4: A Thief's End™, Uncharted: The Lost Legacy™, The Last of Us Part I™ and The Last of Us Part II™ for PlayStation® 5, PlayStation® 4, PlayStation® 3, and PC. Jason has also developed and taught courses in game technology at the University of Southern California.






