Most Helpful Customer Reviews
49 of 50 people found the following review helpful:
5.0 out of 5 stars
A Good First Book on Game Programming, August 22, 2009
This review is from: Game Engine Architecture (Hardcover)
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.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
29 of 31 people found the following review helpful:
5.0 out of 5 stars
Surprisingly good book, August 23, 2009
This review is from: Game Engine Architecture (Hardcover)
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.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
14 of 14 people found the following review helpful:
5.0 out of 5 stars
All you ever wanted to know about game engine but been afraid to ask, September 22, 2009
This review is from: Game Engine Architecture (Hardcover)
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.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
|