4.36 AVERAGE

ursacascadia's review

5.0
informative fast-paced

Required reading for any wannabe intermediate game programmer

Although not directly relevant to my day job I enjoyed this quite a bit. It’s basically a more readable version of the gang of four original. Fun read, nice examples. I do mostly UI & library dev these days where a lot of these patterns will look familiar.

My review from Amazon.ca: I've often struggled to wrap my brain around the classic Gang of Four design patterns,probably because I'm a pragmatic programmer rather than an academic. Although the title of this book includes the word "game", don't let that dissuade you from reading it if you're looking for a lucid, well thought out tour through design patterns, with lots of great examples, well explained, that keep triggering "aha!" Moments. It's no wonder, really, as game programming is one of the most demanding disciplines in computer programming.

This is going to be on my reference shelf for a long time. A super pleasant writing style plus a host of good examples explaining the “why” of each pattern made this a breeze to read through

diomuller's review

5.0

Very good book on Design Patterns for Games. If you are a game developer, you probably know and use a few, if not most of those patterns already. However, the author explains quite a few use cases, optimizations, and reasons why it's better to use one pattern instead of another, depending on what tradeoffs you can accept. Not only that, but the author favors showing things by example, step by step, with a lot of humor in-between, which works better in this case than just dumping a lot of theory at the reader and showing one example or two. Oh, while the focus is on game development, most of the designs in this book are also useful for other types of applications.

Even if you know a bit about Game Programming, I feel this is a good read - it's not a long book, and you may learn a few things. Some of the most useful lessons on this book are not when to use a pattern or when to do something, but when NOT to use a certain pattern or when it's not worth doing some optimization, heavy change or something like that. I feel most programmers could benefit from learning a bit about that too.

I loved this book. It was engaging with great examples. I recommend this book for any programmer that wants to extend their knowledge about patterns. Some are specific to game programming, but most are not. The first section reviews classic patterns from the classic pattern book [b:Design Patterns: Elements of Reusable Object-Oriented Software|85009|Design Patterns Elements of Reusable Object-Oriented Software|Erich Gamma|https://images.gr-assets.com/books/1348027904s/85009.jpg|1432171]. The next three parts give new patterns with examples and things to consider. The fifth and final section about optimization was the slowest for me, but the rest of the book went by extremely quickly. I usually prefer textbook style programming books with densely packed information. This one wasn't very dense but I thought there was an abundance of good content that encourages additional research. I will read through most of these patterns again as I use them and continue to think about program structure.

zeh's review

4.0

A strange mix of high level and low level solutions, but very insightful at times.

strategineer's review

5.0

Are you an experienced programmer and want to learn some video game specific design patterns to help you make games? Well, this is the book for you.

I don't work in the video game industry anymore but sometimes I make small games for fun. When I do, I skim through this book before I get started.

Good book. Covered a lot of ground I knew, but refreshed a few topics for me and introduced a few more. I like that he covers not only the benefits of each pattern, but does a thorough review of all the potential snags you can run into, and gives some guidance on when you might want to use it and when you would want to avoid it.

I will say that the code examples are written for C++ and assume things like native contiguous memory arrays, data caching, gpu access, and other lower level concepts. If you are writing games in a higher level language, some of the info may not apply 100%, but is still good to consider.

cathalog's review

5.0
challenging informative inspiring medium-paced