Industrial-Sized Deals TextBTS15 Shop Women's Handbags Learn more nav_sap_SWP_6M_fly_beacon Deradoorian $5 Off Fire TV Stick Grocery Shop Popular Services TransparentGGWin TransparentGGWin TransparentGGWin  Amazon Echo Starting at $99 Kindle Voyage Gear Up for Football Learn more

Your rating(Clear)Rate this item


There was a problem filtering reviews right now. Please try again later.

104 of 105 people found the following review helpful
on August 22, 2009
Jason Gregory's book offers a 10,000-foot view of game engine architecture, covering every system found in modern game engines, and detailing how those systems interact. It details the subjects at a level easily understood by anyone with a modest level of programming experience -- even non-programmers can gain a solid understanding of engine design from the book. This would make a great first book for anyone interested in programming game engines, either as a hobby or a future career.

However, it is important to clarify the limits of the book. I do not consider this to be a programming book, since it does not present the material at a sufficiently low-level that would permit an inexperienced programmer to implement a game engine from the ground-up. It describes how the algorithms work in enough detail that you can understand the idea, but does not present complete code examples that would demonstrate exactly how the algorithms would be implemented. There are occasional code snippets, and brief examples from engines like Ogre, Unreal, and idtech. But most of the content is entirely prose.

Experienced programmers/game devs have the coding background to implement many of the designs described in the book from the level at which they are presented. But neophyte programmers will not find enough details in this book to implement a full game engine on their own. However, no one book could do an adequate job of detailing how to implement an entire game engine: learning to program a game engine from the ground-up requires a very large stack of books (especially for physics and AI). So it would be unfair to fault this book for what it is not.

The value of the book is in providing clear, prose descriptions of the functional blocks found in a game engine, covering alternate ways different engines implement certain features, and cross-referencing how those blocks interact.

Another positive is that the book benefits from a mature writing style. Unlike the "Oh wow! Cool! Dude! Whew, math is hard! {BG}" style of writing inflicted upon many intro/for-teens books, this book can be read by adults (and most teens) without any undue eye-rolling due to bad writing. Which, sad to say, is why I feel inclined to remark on this point. Granted, this book was written for a course a SoCal, so a more mature writing still is required. I do wish more games-related books would follow this convention, instead of assuming the reader is mentally bereft or a pre-teen.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
47 of 50 people found the following review helpful
on August 23, 2009
As the other reviewer said, this is a very solid, good book. Dare I say refreshingly good. I also echo the previous reviewer's sentiment about the tone that the author takes when speaking to the reader. Some people enjoy comical books but I am not one of them. I read books for information, if I want to laugh I'll open xkcd.

Where this book really fills a void is that it assumes you have some experience and maturity under your belt as a programmer / engineer. This is good because it allows us to get down to the meat without hesitation and begin discussing more serious things. What this book is NOT is a book on how to implement a game engine. What it IS is a book on what's in a game engine and common problems and pattern that occur in game engine development. A toolbox of game engine development, if you will. For each chapter / topic, the author devotes some time to explaining the role of this aspect of a game engine and then quickly proceeds to breaking the component down into smaller pieces, discussing common issues, algorithms, and patterns that arise for said system. For example, when discussing memory usage there is a great discussion of a variety of different memory allocators that can be useful in various situations. Almost always the author supplements these discussions with real-world examples of where such a data structure, algorithm, or method was used in an actual game and why.

Another aspect of this book that I really really appreciated was the inclusion of references directly in the text. Since, after all, the book is light on implementation details often the author would conclude a section by saying "So and so has an excellent paper discussing this topic in more detail at ." This is great because it allows the book to still provide access to all the implementation details without actually putting them in the book. So it's not like you're actually missing out on anything, you just have to go to the link.

The book is thick, and has a strong and serious hardback binding. It feels like it will last a long time. I don't think it's necessarily the type of book that you will refer to over and over throughout your game development career, but it offers a great bird's eye view of the entire process, while still allowing you to zoom in on specific areas and get a little bit more detail (or a lot more detail if you follow the links to the external references).

There are a couple minor errors in the book, but they are not that serious and I assume they will be corrected in the first errata and/or second edition of the book. They do not significantly detract from the overall quality of the book however, so I give it 5 stars anyway.

This book was definitely a pleasant surprise, and I only wish more authors would stop filling their books with fluff to hide the fact that they don't have enough information to fill the book. This book is packed with information, with zero fluff, and I definitely recommend it.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
25 of 25 people found the following review helpful
on September 22, 2009
Jason has years of practical experience in the gamedev (Midway, EA, ND) and it really shows. There are too many books out there written by people who have never shipped anything bigger. This is not the case. When he writes how to do/don't something, he usually backs it up with a real-world scenario. Game engines are vast topic and it's impossible to cover everything in detail, so obviously it's a collection of general information, rather than a very in-depth analysis.
It's truly invaluable for juniors and hobbyists, because it's an unique position describing how professional engines work. It may be less useful for senior developers as they probably won't learn that much. Still, it's rare to be an expert in every area, so it's safe to assume everyone will find a chapter with new information as well. Big parts that are missing are networking and audio, both huge topics, but I feel like they deserve at least few pages.
To conclude: if you're a junior/amateur programmer or student - get it now. It should also be an obligatory buy for every company's library. If you're senior developer who'd like to broaden his view a little bit and see how it's done at other places - it's worth buying as well. It won't make you an expert, but it's a good start and gives at least a rough idea how other engine systems work.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
10 of 10 people found the following review helpful
on August 11, 2011
I have a fairly vast collection of Programming (and Computer Science) related books in my book case. Many of these I have used as a reference, as I just don't have the mental strength and persistence to read through in great detail. Game Engine architecture however, is written in a friendly conversational style, which is so very easy to follow and I have found myself on multiple occasions saying to myself "Just one more section". The authors descriptions are excellent, and he has managed to explain things that I have heard multiple times, and only finally truly understood now.

This book doesn't really seem to fit the bill of "Game Engine Architecture", and should probably be called something like "Foundations of Game Engines". The book gives only an introductory chapter on the actual architectural (from a CS point of view) side of the engine. Instead it focuses on all the issues that are necessary knowledge for creating a game (and in many cases any performance restricted software), from the very bottom up.

The author covers a great many topics, which leaves some short of details, but in these cases the author always provides great references to both books and online material for more in depth discussion. The online sources are a bit of an issue, as they may not be available. I found one instance where the source provided no longer existed.

Warning:
This book is VERY C++ centric. I would definitely suggest (as does the author) that you learn C++ before tackling this book (I suggest Accelerated C++ or C++ Primer Plus). It'd still be a good resource for someone interested in Game programming, but you will get 5 times as much out of the book with a solid C++ grounding underneath your belt.

Despite the few issues with the book, I cannot give it any less than 5 stars, it was just that good of a read for me.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
5 of 5 people found the following review helpful
on December 21, 2009
Is this yet another 'Game Programming' book?
============================================
No, not at all. Game engines nowadays are so large, complex and filled with so many subsystems that old-school engine design will fall apart on modern hardware. This book brings an up-to-date explanation of what goes into a modern game engine and why. For people looking for a book where they can copy-and-paste code until they have a somewhat working game engine then this is not the book for them. This is a book about game engine architecture and not of specific implementation details of the various subsystems. This means that once a concept has been described and the design has been explained then the low-level implementation (the code) is in most cases left as an exercise to the reader. The implementation is usually something boring anyways but in the few instances where it matters he does go into detail and show code examples. The book does assume a good understanding of C++ as it is the programming language used in almost all game engines together with some type of scripting language.

The topics in the book range from the basic but very important vector math to various methods of character animation blending and rendering. Making a game engine today is such a huge topic that no one book can capture it all. What this book does is explain a few of the important parts of each subsystem and why that particular design was chosen. If the reader then want to get more specific about any particular subsystem there are other books or tutorials out there on the internet.

Audience
========
I would not say that this book is a for newcomers that want to write their first game engine, but rather programmers with some experience. In my opinion intermediate skilled programmers are the perfect reader for this book, but even a seasoned game programmer can and should read this book. There are many concepts explained in this book that should be known by all game programmers but unfortunately many do not know them. They get too focused on their area of expertise and don't actually know the overall design of the engine they are working on. This book will help them get a better understanding of how all the pieces fit together. Beginners can use this book, as it is university course material, but some concepts can not be fully appreciated until the reader have more experience under their belt and can appreciate the finer design details and the benefits thereof.

Through the test of fire
========================
What makes the content of this book worth the reading is the relevance of the content. The contents is not out-dated, academic or dumbed-down... quite the contrary. The concepts in this book are greatly influenced by the very engine we were using for Uncharted 1 and 2. Making a game engine for today's computers is complicated and there are many design decisions made during the development of a game/engine that is made with performance bottlenecks in mind, whether it is memory allocations, animation blending or the use of multi-processor/multi-thread architectures. What also feels fresh when I read this book is that Jason does not just present one way to solve a problem, for example the design chosen for game objects. He talks about different approaches and why some paradigms you might have learned in your introductory Java/C++ class is not a good design decision for a large-scale high-performance game engine.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
4 of 4 people found the following review helpful
on February 23, 2012
The title of this book might lead one to think it describes the creation of a game engine, this is not the case. What it really is about is the tools and technologies used in AAA game development. It gives the reader insight into how things are done in a large-scale 3D game.

Now, it does cover some open source engines and tools when applicable. I have read several books on game engine design, and this one is the most approachable. Not only did I learn a number of things, it was actually an easy read (although long!).

Good job to the author, and consider writing another book on game development.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
2 of 2 people found the following review helpful
on March 7, 2013
I am a Game Programmer, and I love this book, for a couple of reasons:
1.This book includes all the aspects of Game Engineering-- math, version control, resource management, tool chain, game loop, game play, physics, animation pipeline, etc. You will have the whole picture of game development. Either you are a student in school or already a programmer in the field, you will always learning something or deepen the understanding of your knowledge
2.A lot of simple yet meaningful examples, that helps you understand the idea behind a particular design.
3. I like the way that the author always compares different engines when it comes to a specific topic, Ogre, Unreal Engine, Quake, uncharted engine, and talk about the good side and downside about them.
4. a lot of industry solution idea, not fully provided but gives you an idea of how industry people think and solve problems.

Read it, you won't be regretted for sure..
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
4 of 5 people found the following review helpful
on January 12, 2010
I am a professional game programmer, and find the scope of the book breathtaking -- and I can easily recommend it to anyone either interesting in becoming a game programmer, or any but the most seasoned game programmer. It is not a light read, it is not a "For Dummies" book and it is not a debate about academic issues (e.g., open source vs. closed source, OpenGL vs. DirectX and so on), it covers what you will actually encounter in the industry. It covers obvious topics (e.g., 3D math), but more importantly some less obvious ones (tools, debugging, Visual Studio).

Discussions of issues like designs for asynchronous processing, specific controller issues, asset pipelines, state machines, physics systems and so on all reflect real day-to-day issues you will experience as a game programmer. The book is written in an easy to follow way, it is not a series of whitepapers or "gems" but is very good at gathering all of the threads that make up a game engine. It is not for dabblers, but it will definitely give you the basis (and a taste) for going professional.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
2 of 2 people found the following review helpful
on January 31, 2012
This book gives and excellent introduction to game development, how it is really done,and describing all the various jobs found within a development studio. It has everything you would expect if you have read other books on game development, but it also offers great advice on software engineering techniques, explaining this advice in easy to understand language. Also the book tutors you about various software tools, how to use visual studio, how to organize, how game engines are constructed piece by piece, and lots of web links for additional resources like source free software that independent developers can use. I love this book.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
1 of 1 people found the following review helpful
on May 28, 2010
I recently finished a degree in computer science specialising in computer games. One of the things that was missing from the course was a good overview of game engines. We studied graphics, physics, maths etc... but we never went looked at the game engine as a whole. This book was a great high level exploration of game engines. I should stress high level, because it does not go into great depth on any one topic instead it motivates a particular topic, gives an overview of the theory then explains how that theory is adapted to games. It should be titled "Selected Topics Relating to Game Engines." It was very easy to read whilst still being professional.

The one thing that, to me, really gave the book validity is the constant references the author makes to commercial games he has been involved with. "In game X we did Y for reason Z." Something which you don't always get, but really should, when reading technical game books.

One of the great things about the book is the coverage - you will be bound to come across something you haven't heard of. For instance the chapter on c/c++ had a couple interesting tid-bits explaining the stack/heap, compilation process etc... The memory management section was very useful - often at uni when you develop small-ish assignments on PCs you don't get a chance to appreciate how important memory management really is in the real world. The only complaint I have is that the chapter I was most looking forward to which discussed the different types of game object models in the end felt underdone and under referenced for such a key part of game development. Although the book is very long it does miss out on a couple topics (AI, sound, game play systems ) which the author points out - not so much an issue because the book does not feel incomplete.

All and all an excellent read and one of the best game engine resources I have come across. I wish this had been written while I was still at uni - it would have been a big help!
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
     
 
Customers who viewed this also viewed
Game Engine Architecture, Second Edition
Game Engine Architecture, Second Edition by Jason Gregory (Hardcover - August 15, 2014)
$56.14

Game Coding Complete, Fourth Edition
Game Coding Complete, Fourth Edition by Mike McShaffry (Paperback - March 5, 2012)
$32.79

Programming Game AI By Example (Wordware Game Developers Library)
Programming Game AI By Example (Wordware Game Developers Library) by Mat Buckland (Paperback - September 30, 2004)
$24.97
 
     

Send us feedback

How can we make Amazon Customer Reviews better for you?
Let us know here.