Jump to ratings and reviews
Rate this book

Game Engine Architecture,

Rate this book
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.

1052 pages, Kindle Edition

First published January 1, 2009

277 people are currently reading
1621 people want to read

About the author

Jason Gregory

29 books11 followers

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
330 (56%)
4 stars
180 (31%)
3 stars
50 (8%)
2 stars
14 (2%)
1 star
6 (1%)
Displaying 1 - 30 of 30 reviews
Profile Image for Mathias Søholm.
3 reviews1 follower
September 2, 2016
First of all, I started reading this edition of the book (1st edition), two weeks after the second edition was published. Had I known, I would obviously read the second edition. Especially considering that the the first edition is five years old, an era within the world of game development. Five years is actually about 10% of the time that video games have existed!

Oh well.. Jason Gregory still does a brilliant job of explaining both the high level overview of a game engine, as well as zooming in on the implementation details of some of these complex systems.
Gregory's expertise shines through in the entire book, and I keep thinking to myself, that Naughty Dog are lucky to have a guy like this.
Also John Carmack's name and the Quake engine tends to come up a lot, probably not a surprise.
You just realize how brilliant these people are, and I find it deeply inspiring... And sometimes a bit spooky. You're a spooky man John Carmack!

Having read this book from cover to cover, I obviously did not comprehend 100% of its contents.
But now I have a general knowledge of all of the major subsystems that make up a game engine, and I think that's going to prove very valuable.
It's worth a re-read, so I will definitely pick up the second edition at some point, and read that.

I'm used to working with Unity 3D, which is probably the most mainstream engine today.
The only downside to this book, in my opinion, was the amount of Unreal Engine references, and not a single mention of Unity. I don't know if the second edition includes perspectives from Gregory on Unity, but I certainly hope so.

Long story short. I feel like I gained a lot from reading this book, even though I didn't understand everything Gregory was talking about(I'm not a C++ programmer, so the amount of C++ code was a bit overwhelming). I would recommend it to everyone making games. Even if you're not planning to create a game engine, it doesn't hurt knowing the inner workings of the tools you're using.
Profile Image for Christoffer Lernö.
212 reviews4 followers
December 27, 2014
I've read one similar book - Game Coding Complete, Fourth Edition, and compared to that one this book is more general and less opinionated, but that at the same time means it offers less meat in terms of actual implementations and opinions.

For me personally, Game Coding Complete was a more interesting / inspiring book, even though Game Engine Architecture is being more thorough.

As a programmer, I'm more interested in actual implementation details and learning new things and ideas - and is this respect the book is somewhat of a let-down. As an overview to gaming engine architecture (in particular 3D game engines) it provides better starting points for further exploration, but in itself it offers comparatively little guidance and material.

There are also deliberate omissions, most glaringly is perhaps that of multiplayer networking. This is not strange since that is a fairly extensive field in itself, but I'm tempted to say that it's left out not due to space restrictions, but because very few 3D Game Engine designers are experts at network programming.

Final verdict - if you're doing 3D games and ponder writing a game engine, this is a good reference. If you're just interested in game engines in general, this offers to little meat to be worth it.
16 reviews
August 22, 2018
It is a good book, but the title, a bit misleading in my opinion. I think this book gives a very good overview about which requirements a game engine should have, focused on the math and disciplines and well known libraries and frameworks in the market.

When I read a book about software architecture, I expect something on the lines of Principles, Patterns and Practices from Uncle Bob, GoF design patterns or something similar. Well proven ideas that helps you to structure your code and also helps your application (in this case, a game) to evolve more or less smoothly. This book unfortunately explore very little of these and more about challenges you will find in specific game areas like gameplay, rendering, etc.
Profile Image for Danien.
44 reviews
March 11, 2010
This book covers the different systems and components of a professional game engine. This books does not attempt to provide a complete game engine written in C++, as a few other books have done. Instead, it provides good and proven solutions on how different programmers have tackled the problems faced by modern games. The experience of the author really shows, yet the writing style is comfortable and easy. This edition does not cover multithreading, which is a popular and important topic for future games. Definitely a good read for all game programmers to get a better perspective of all the different systems.
7 reviews2 followers
February 22, 2017
I purchased this as a present for my son when he was in High School after he showed interest in Gaming. It is certainly a dense book.

My background included computer programming at the assembly level and he was interested in flipping burgers as a career despite being quite bright. He kept this book (actually reading it) along with many others through college and is an accomplished Video Game Programmer today with a number of published titles.

Can't do better than that as a recommendation!
2 reviews
October 18, 2025
Probably one of the few books that manages to give readers an almost complete tour of the technical components that make up a game engine. Though it doesn't explore each concept in full depth it does give the reader a decent understanding of the subjects themselves and the huge amount of references to specific chapters within the books that make up the length bibilography at the end does give its reader a great way to expand their knowledge on any specific subject that they may want to learn.

The book itself does a great job of gently introducing its reader to complex subjects in a sensible way, however the book itself does mention (in the earlier chapters) that it does require some understanding of programming and the C++ programming language. As someone with a decent chunk of experience with that langauge I found most of the subjects easy to understand as some of the technical bits were subjects that are taught in engineering programmes of universities anyway, however for the other parts some extra studying is helpful and maybe even required to get a proper grasp of the subject being discussed, this can be done through the wealth of resources the book provides as biblography references and GDC presentations and also trying to follow along and build out the examples in the book like the various examples of locking mechanisms for multi threading.

Reading/Usage Guide

The book itself is pretty huge and requires a large time commitment to get through it and it is important to keep the time between reading sessions short as it is super easy to forget where you were at and what was being discussed, it also requires more focus than a novel obviously as the technical subjects being discussed don't really read like a chapter of game of thrones. Besides the reading, looking up the references, trying out the code excerpt yourself and also watching the presentations listed also do eat up a decent chunk of time. Though if you do want to get the most out of this book doing these extra things are almost a must in my opinion.

The Author;

The Author Jason Gregory is a developer at Naughty dog which is a Triple A company with several years of experience under his belt and his experience really shows in some of the more difficult chapters as his ability to cleanly break down complex subjects is something that I really appreciated. I initially sought out this book after getting stuck with learning opengl (a 3d rendering api, basically it puts 3d data onto the screen) as I did not quite understand how I was supposed to put the lego piece of an opengl renderer into the lego model of a game engine and what that even looked like. After reading it I realized I would've made a lot more progress if I read this before going into opengl itself because even though the 3d rendering chapter doesn't give you a step by step instruction set to build out a renderer yourself it does explain to you what it does and how it fits into the game engine itself. Which means you can take the knowledge you've gained from this book and apply it with a book or resource that is api specific and avoid having to learn both how 3d rendering works and the api itself at the same time, which is much more difficult to do. The author also lists out a contact email on his website and does answer questions about the book, something you don’t see very often, and it’s awesome.

Content;

The book starts off with a gentle introduction into what games are and what a game engine is, going over stuff that is super obvious to a gamer but useful for anyone who doesn't really play games all that much. As soon as the first chapter ends the more technical topics start filling up the pages with various "tools of the trade" like version control ides profiling tools and etc. Chapter 3 provides you with a decent reintroduction to how CPP works, it doesn't provide you with a full tutorial on it as its beyond the scope of the book (get used to seeing that sentence) and not really needed as the reader really should know a decent amount of CPP before trying to read this book but the chapter itself is a great summary of important aspects of CPP and low level programming. Chapter 4 brings in parallelism and concurrent programming into the mix and is one of my favorite chapters managing to go over a suprising amount of topics in depth. It is then followed by Chapter 5 which is on Maths for games, which is mostly a retreating of material most engineering students already learn in their university programmes minus maybe quaternions... but still a good chapter regardless.

The book itself is split into three parts with the first part providing foundational knowledge that will be used later on, I'm a huge fan of the first part and have been recommending it to fellow engineers as it does provide a very good overview of a lot of low level concepts that are important for any developer working in the field of gamedev and other fields as well. I should also mention that this review is for the third edition of the book as this version seems to have made significant additions in terms of content.

The second part is called low level engine systems and starts off with engine support systems, which gives a general overview of how a game engine generally opperates, manages memory and etc, this cahpter is followed by Chapter 7 which goes into the file system and the resource manager. This particular chapter helped me gain a better understanding of how the engines I interacted with myself on a daily basis stored and managed their assets (ue3 ue5 and etc). Chapter 8 goes into gameloop and real time simulation and how time works in your game engine, while also building up on the multi threading concepts explored earlier by introducing some cool concepts as well.
This aspect is present in most of the book as each chapter seems to somehow build on the previous which was surpsing as most of the components of game engines are techincally very different to each other but must work in tandem to produce the visuals on the screen.
Chapter 9 and 10 are the last two chapters in the second portion of the book, the first going into human interface devices, i.e. the stuff you use to interact with your game. and tools for debugging and development. Chapter 9 does sort of date the book as it still mentions the ps4 wii and ps3 in the array of controllers it lists but most of the info provided is still valid today. Chapter 10 is a great way to end the second portion of the book as it provides some pretty useful examples for alternatives to printf debugging and various visiualizations and menus you could build out to help debug your game. One of the examples being drawing a line from one point to the next to help gain an understanding of what is going on with a specific game object. This was a tool I had underused up until the point I read it and now use a lot more often.

The third part of the book is up next and is arguably the most technical portion of the book as it goes into some of the more complicated components of a game engine; with chapter 11 going into rendering in a mostly api agnostic way to help you gain an understanding of how 3d images are produced on screen, chapter 12 being animation systems which was super interesting to read for me as I had very little knowledge of how animations worked in a game engine, and finally ends off with collision and audio with Chapters 13 and 14, These two are probably the two most difficult chapters in the book as the collision one will require you to re-remeber physics 101 and some analytical math just a tiny bit to get a good grasp of the subjects being discussed. The audio chapter will require you to remember some of your signal processing classes and other neat concepts like signal convolution.
Both chapters do provide you with a very good overview of their respective subjects and the physics chapter specifically has helped me understand some of the jank that is present in unreal engine 3.

Finally we get the 4th part of the book, with the 5th part just going over stuff the book doesn't cover. The 4th part has two main chapters, which tie a neat bow on the whole discussion, bringing together the concepts introduced earlier and dragging them into the context of the gameplay objects themselves and out of the world of the low level systems we had been discussing earlier. This chapter is where I had most of my lightbulb moments as the lego problem I mentioned earlier started to get resolved.Introduction to Gameplay systems and runtime gameplay foundaton systems are the two chapters of this book and they go over what makes up your gameworld, game objects, your editor,events and how they are handled and how all of them are created in a data driven manner. The chapters end with a general overview of scripting which is followed by the conclusion going into what topcis haven't been covered in this edition and of course a congratulatory message in the end.

Not in this edition;

The book really does give you a great overview of how game engines work and how to make them, and when you reach page 1159 which is where the conclusion portion currently starts you might feel like we didn't really miss anything important except for of course Multiplayer networking and AI.
However this portion of the book does go into a few little topics that are not present and in my opinion not really required to be present in the book as they're not really related to game engine architecture as deeply as the other topics that are covered; namely camera systems player and mechanics/gameplay systems which are the two topics besides the video player, ai and multiplayer that this part mentions. The multiplayer and AI chapter is probably the most important addition that could be made to this book but thankfully the author does provide a very good reference on both these topics (some of the links for the ai are unfortunately broken as they lead to dead websites). As for the video player the author does call back to the earlier chapters to give you some clues about how you could probably build one yourself.

Resources;

This book really needs to be thought about with all of the resources it refers to while reading it as some portions of it really begin to click when you open up one of them and read through it.
In terms of quality of resources provided this book ranks very high as the books that are linked are foundationally important even though they may be old. A common takeaway that formed between me and a couple friends that read this together is that the most important page of this book is the bibliography.

Criticism;

With the book being so solid its hard to come up with portions that I didn't like. The book is written by a Triple A developer with a large chunk of experience so some of the sources that are listed are quite old (from 2002 for some of the GDC talks) and some are really hard to get your hands on. Some of the old gdc talks are not available in video format and require you to download the power point and the audio recording separately from GDC's website which means you have to somehow follow along with the slides by listening to the audio which is going to be difficult to do. Thankfully most of the sources are more recent so this is only the case for very few of them.
In addition some aspects of the 4th part of the book could be beefed up like bringing in the topic of entity component systems into the mix and how they could be used in gamedev. The topic of ECS specifically would be really good to cover as I've yet to find a really solid source on it.
Though these are still minor negatives in an absolutely rock solid book that is a must read for all gamedev engineers and maybe even software engineers.

Conclusion;

All in all, this book was an absolute pleasure to read and I'm so happy to have read it, and I'll be grabbing the next edition as soon as it comes out as the writing style of the author lightens the load of learning a complex topic such as game engines.
1 review
December 18, 2017
This book is one of the most well-written books in Computer Science generally.
Although you should have some good understanding of programming in general, low-level hardware
concepts, operating systems and of course some mathematics, like linear algebra, trigonometry, and
geometry in general, it's must to have book for someone who want to start in the game programming
field. It covers almost every topic that surrounds modern game engine, although it
cannot cover everything in depth, it contains one of the best explanations for topics like
Animations, Memory allocations and low-level systems in general. Must have book for every game
developer. A book that you cannot get a bored while reading.
Profile Image for Sergey Ignatchenko.
Author 3 books9 followers
February 29, 2016
The best book out there on game engine architecture, by far. Certainly not a copy-paste-your-game-engine book, but a good reading to *understand* how the things are done in this (extremely complicated BTW) field.

Target audience: whoever wants to become a senior developer, senior developers, and all the way up.
Profile Image for Elias Daler.
31 reviews6 followers
January 21, 2018
This is the best game programming book I've ever read. It's full of interesting details, extremely informative and enlightening. Must read for anyone making their own game engine.
1 review
Read
September 6, 2020
Good
This entire review has been hidden because of spoilers.
5 reviews
April 22, 2021
High quality overview of the content of a modern computer game engine. Even as an industry veteran I learned a few things from this book.

However, a few things mean I can't say it's perfect! I did find that it glossed over a few areas, with virtually nothing on camera control, character control, UI, or networking, whereas concurrency got 150 pages, a mathematics primer got 60, and audio theory got almost 50.

It was also surprisingly lean on the actual 'architecture' aspect implied by the book title. I would have liked to have seen more about different ways to communicate between different systems, and how the application might be structured. The game loop was relatively well discussed but this was split across two sections and a single comprehensive treatment might have been better.

It does contain a great overview of the various ways in which a game 'actor' or 'entity' can be represented, from the traditional to the more recently popularized methods, and avoids the "OOP vs no OOP" trap that some online discourse has fallen into in recent years.

On the whole I can recommend it to any junior or intermediate game developer looking to broaden their knowledge, or anyone interested in the specific areas which are covered in detail in this book.
Profile Image for Diogo Muller.
779 reviews9 followers
October 6, 2019
This book is considered a must-read for many people, and I can see why: It explores and demonstrates pretty much every aspect of game engine development, in an relatively easy to follow and understand way - some programming experience is needed, of course, but the book does explain things from the very basic and gives the reader a few references for things it does not teach, like C++.

The edition I've read - the second edition - has one or two things that I know could be updated, but most of it is modern and applicable today. The examples could go a bit deeper, but I understand why they don't most of the times - it's a book written to teach a general idea on game engine programming, if you want to go deeper, you'd probably search for books on the specific subjects you want to learn more about.

Overall, a great book. Nowadays I'd get the third edition, of course, but still, well worth reading if you want to learn about Game Engines, and I'm sure it can work well as a reference book too.
Profile Image for Josep.
37 reviews
April 7, 2018
A really good introduction to Game Engines. It´s a must-read for anyone interested in the game industry, and even skilled developers will improve their domain knowledge.

The examples are written in C++, so a minimum level of C++ knowledge will help to understand the examples. Some of the problems will express themselves differently in other languages/environments, like for example Javascript and the Web. But the book keeps an enough high level to be very useful independently of your environment and language of choice.
20 reviews2 followers
July 9, 2019
It is the story of how games are made. Its the story of the equipment, considerations, and power that makes these worlds come to life. If you love games, or want to build them. If you are a gear head, and need to know how its done, or why its done this way, this is the game engineering book for you. If you want it easy, look elsewhere.
Profile Image for Chris.
13 reviews6 followers
January 3, 2019
A complete tech bible of the components a game engine should implement, providing hardware architecture, mathematics and implementation tricks. A must have for anyone who wants to have a full overview of a game production.
Profile Image for Ed Limonov.
13 reviews
August 30, 2019
It seemed very easy to read, simple to understand, and straightforward to form an overall picture in the software architecture headbook. Much wisdom, good examples, clear structure. This book is good for a wide audience. I'd recommend it to managers. It will help avoid stupid technical decisions.
Profile Image for Bruno Gallego.
24 reviews
December 15, 2020
A big picture about Game Engine and subsystems. It show some good frameworks can be used to achive a basic engine. Great overview.
Profile Image for Минчо Паскалев.
7 reviews1 follower
November 28, 2021
The book gives solid base, although there is a lot more reading (and coding) in order to write a fully-fledged game engine. If you want to write one this is definetely the book to start.
Although, beware - it opens a huge rabbit hole of new knowledge and definetely explains why game engines are written by large team of programmers - you could easily be convinced that writing game engine by yourself is an impossible feat.
1 review
December 22, 2024
D
This entire review has been hidden because of spoilers.
3 reviews
January 23, 2025
Truly a great book, completely demystified the inner working of game engine in easy to understand way.
Profile Image for Markus.
4 reviews
October 21, 2021
An extremely useful book which taught me about most areas of game development. It gives you a core understanding about how game and game engine work. Compared to the previous editions, the third edition has newer info about games, tech (ps4, xbox one), better examples and new topics. The material of the entire book is very valuable, but the multithreading part and maths were the most useful to me and very indepth.
Profile Image for Brian McDonald.
8 reviews3 followers
May 30, 2016
An excellent games programming, covers a lot in 800 odd pages but with enough detail and examples of real world game engines which makes it a must read for all game programmers.

My only slight criticism is that for Game Engine Architecture book it doesn't really touch on Audio at all. Perhaps it may have been an idea to cut back on the discussion of digital content creation.
3 reviews
December 7, 2014
Provides a good overview and some detailed insights into the
most common parts of a commercial-grade game engine.

You will NOT be able to create your own game engine after
reading this book, but you will have a better understanding
of what you are trying to create.
10 reviews
January 13, 2019
while this was a pretty basic overview of engine architecture. The anecdotes from the author's knowledge of the Naughty Dog uncharted/last of us engine made this worth the time. I learned a little about implementing scripting virtual machines which is pretty cool and a bit about memory management.
Profile Image for Aashish Vasudevan.
20 reviews
July 28, 2022
The most comprehensive guide on how game engines work inside out. The book goes into painstaking detail about every aspect of what goes into making a game engine. You can use what you learn in this book to apply it easily use it to create a game engine of your own (which I will never do).
Profile Image for Zeh Fernando .
139 reviews2 followers
May 28, 2014
Huge textbook better used for reference, but still an awesome guide on common game engine architecture pitfalls.
Profile Image for Ahmed.
13 reviews18 followers
May 19, 2018
ِAn amazing piece of work, lots of advices.. A must have.
Displaying 1 - 30 of 30 reviews

Can't find what you're looking for?

Get help and learn more about the design.