I’m always on the lookout for new resources relevant to game development. When working through the CS50 Introduction to Game Development course (highly recommended), I came across this book: Game Programming Patterns by Robert Nystrom. And the best part? It’s available for free via his website!

Table of Content

  1. Design Patterns Revisited
    1. Command
    2. Flyweight
    3. Observer
    4. Prototype
    5. Singleton
    6. State
  2. Sequencing Patterns
    1. Double Buffer
    2. Game Loop
    3. Update Method
  3. Behavioral Patterns
    1. Bytecode
    2. Subclass Sandbox
    3. Type Object
  4. Decoupling Patterns
    1. Component
    2. Event Queue
    3. Service Locator
  5. Optimization Patterns
    1. Data Locality
    2. Dirty Flag
    3. Object Pool
    4. Spatial Partition

Available Formats

As I mentioned, the book is available completely free via the website. If you can’t afford the book right now or just want to get a feel for the content first, I definitely recommend checking that section out.

If you wish to purchase a copy, you have a few different options available.

The book is available as a PDF. And there is no DRM on it (acknowledged and confirmed on the website). You can transfer it to any device. You can even back it up on an external hard drive.

Second, you can find an eBook version for most major devices: Kindle, iBooks, Nook, EPUB, etc.

And finally, you can purchase a print copy of the book through Book Depository, Barnes and Noble, or Amazon.

Conclusion

I’ll be completely honest. I haven’t actually read Game Programming Patterns yet. And I definitely won’t pretend I know what most of the terms in the table of contents mean. Components, singletons, and state machines are about all I’ve come across so far. (Though I’ll probably recognize more as I read through.)

Usually, I wouldn’t recommend a resource that I haven’t actually read myself. But it is on my reading list and it is available completely for free. I think that is worth sharing.

In the month of February, I plan on reading completely through this. Once I finished, I’ll review it and give my honest assessment. Plus, if the book is even halfway decent (and I suspect it is from what I’ve previewed), I’ll be purchasing my own physical copy. Gotta support fellow game developers, especially if they make their knowledge available for free.

If you have read Game Programming Patterns or have another great resource, I’d love to hear about it. Let us know your thoughts, comments, or suggestions in the comments below.

Categories: Books