Game Engine Architecture |  | Author: Jason Gregory Creators: Jeff Lander, Matt Whiting Publisher: A K Peters Category: Book
List Price: $65.00 Buy New: $61.10 as of 9/7/2010 14:04 CDT details You Save: $3.90 (6%)
New (21) Used (9) from $32.50
Seller: pbshop Rating: 18 reviews Sales Rank: 26,884
Media: Hardcover Pages: 864 Number Of Items: 1 Shipping Weight (lbs): 3.6 Dimensions (in): 9.2 x 7.5 x 1.7
ISBN: 1568814135 Dewey Decimal Number: 794.81526 EAN: 9781568814131 ASIN: 1568814135
Publication Date: July 10, 2009 Availability: Usually ships in 1-2 business days
| |
| Also Available In:
|
| Similar Items:
| |
| Editorial Reviews:
Product Description A 2009 Game Developer Magazine Front Line Award Finalist, 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.
|
| Customer Reviews:
Showing reviews 1-5 of 18
A Good First Book on Game Programming August 22, 2009 J. Standish 21 out of 22 found this review helpful
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.
Surprisingly good book August 24, 2009 ZT (Houston, TX USA) 19 out of 21 found this review helpful
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.
All you ever wanted to know about game engine but been afraid to ask September 22, 2009 Maciej Sinilo (Uppsala, Sweden) 10 out of 10 found this review helpful
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.
A fresh and up-to-date book about modern game engines December 21, 2009 C. Gyrling 2 out of 2 found this review helpful
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.
Most Comprehensive Resource for Game Programming January 13, 2010 Paul of California (Los Angeles, CA USA) 2 out of 2 found this review helpful
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.
Showing reviews 1-5 of 18
|
|
|