Game Engine Architecture

Game Engine Architecture

4.39 (501 ratings by Goodreads)
By (author) 

List price: US$71.95

Currently unavailable

Add to wishlist

AbeBooks may have this title (opens in new window).

Try AbeBooks

Description

This book covers both the theory and practice of game engine software development, bringing together complete coverage of a wide range of topics. The concepts and techniques described are the actual ones used by real game studios like Electronic Arts and Naughty Dog. The examples are often grounded in specific technologies, but the discussion extends way beyond any particular engine or API. The references and citations make it a great jumping off point for those who wish to dig deeper into any particular aspect of the game development process.


Intended as the text for a college level series in game programming, this book can also be used by amateur software engineers, hobbyists, self-taught game programmers, and existing members of the game industry. Junior game engineers can use it to solidify their understanding of game technology and engine architecture. Even senior engineers who specialize in one particular field of game development can benefit from the bigger picture presented in these pages.
show more

Product details

  • Hardback | 864 pages
  • 191 x 235 x 43.18mm | 1,656g
  • A K Peters
  • Natick, United States
  • English
  • 1568814135
  • 9781568814131
  • 153,216

Table of contents

I Foundations
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
Tools of the Trade
Version Control
Microsoft Visual Studio
Profiling Tools
Memory Leak and Corruption Detection
Other Tools
Fundamentals of Software Engineering for Games
C++ Review and Best Practices
Data, Code, and Memory in C/C++
Catching and Handling Errors
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
II Low-Level Engine Systems
Engine Support Systems
Subsystem Start-Up and Shut-Down
Memory Management
Containers
Strings
Engine Configuration
Resources and the File System
File System
The Resource Manager
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
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
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
III Graphics and Motion
The Rendering Engine
Foundations of Depth-Buffered Triangle Rasterization
The Rendering Pipeline
Advanced Lighting and Global Illumination
Visual Effects and Overlays
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
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
IV Gameplay
Introduction to Gameplay Systems
Anatomy of a Game World
Implementing Dynamic Elements: Game Objects
Data-Driven Game Engines
The Game World Editor
Runtime Gameplay Foundation Systems
Components of the Gameplay
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
V Conclusion
You Mean There's More?
Some Engine Systems We Didn't Cover
Gameplay Systems
show more

Review quote

A 2010 CHOICE Outstanding Academic Title
This course resource provides an excellent, comprehensive look at every major system and issue related to modern game development ... a must-have textbook for computer science, software engineering, or game programming majors, amateur hobbyists, game 'modders,' and game developers.
-A. Chen, CHOICE, January 2010


... it looks like most of the critical areas and concepts are touched on. ... it looks like you'll have some reasonably deep understanding of the elements that go into making a game engine. Quite an impressive work, and I know of nothing else in this area that is so detailed.
-Eric Haines, www.realtimerendering.com/blog/, July 2009


Jason Gregory draws upon his many years of experience and expertise to create a complete and comprehensive textbook on the theory and practice of game engine software development. Informed and informative, replete with examples for every aspect of the game development process, and fully accessible to aspiring game engine developers as well as a very useful reference for even experienced technicians in the field, Game Engine Architecture is an invaluable, thoroughly 'user friendly', and highly recommended core addition to personal, professional, and academic Computer Science reference and resource collections in general, as well as gaming engine design instructional reading lists in particular.
-The Midwest Book Review, September 2009


The book contains a huge amount of data on specifics to consider when developing a game engine.
-Gamasutra.com, November 2009


Game Engine Architecture by Jason Gregory has been named a finalist for the Game Developer's 2009 Front Line Award.
-PR Newswire, December 2009
show more

About Jason Gregory

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, 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. Jason is currently a Generalist Programmer at Naughty Dog Inc., working on Uncharted: Drake's Fortune. Jason also teaches courses in game technology at the University of Southern California.
show more

Rating details

501 ratings
4.39 out of 5 stars
5 55% (278)
4 32% (162)
3 8% (42)
2 3% (14)
1 1% (5)
Book ratings by Goodreads
Goodreads is the world's largest site for readers with over 50 million reviews. We're featuring millions of their reader ratings on our book pages to help you find your new favourite book. Close X