Hey, Game Developer!

I’m here to help! Game Programming Patterns is a collection of patterns I found in games that make code cleaner, easier to understand, and faster.

This is the book I wish I had when I started making games, and now I want you to have it. It’s available in four formats:


Buy from Amazon.com .co.uk
Barnes and Noble Book Depository
Download Sample PDF
  • Design and typefaces so beautiful it’s like dessert for your eyes.
  • Each page laid out by hand with love.
  • My hand-drawn illustrations at 2400 DPI.
  • Energy efficient! Requires no batteries!


Kindle Amazon.com .ca .co.uk .com.au
iBooks Apple Play Books Google
Nook B&N EPUB Smashwords
  • Meticulously tuned CSS looks great on as many readers as I could get my hands on.
  • Full-color syntax highlighting.
  • Works great offline!


Buy from Payhip Download Free Sample
  • Same hand-crafted design and layout as print edition.
  • Delicious, beautiful typography.
  • Precisely controlled appearance on every device and reader.


Read Now
  • Responsive design looks great on your desktop browser, tablet, or phone.
  • Free!
  • Absolutely zero cost!
  • Seriously, did I mention the price, or lack thereof?

Frequently Asked Questions

Do the different versions have different content?

Nope! Each format has every chapter in full, every illustration, and all of the asides you know and love. Even the free web version.

Which version pays you the most?

First of all, thank you for caring about this! Since I self-published, I set the prices so that the royalties are about the same for each format. (I also get the lion’s share of the money since there’s no publisher taking a cut.)

Buy the format you want and I’ll get paid pretty much the same either way. If you want to give me money, but don’t actually want a physical book, consider giving it to a friend or your local library. I get money, you feel good, and someone gets a free book!

If I buy the print edition, can I get the eBook cheaper?

Yes, mostly. I have MatchBook enabled on the Kindle edition. If you buy the print copy, you can get the Kindle version for just $3.00. I don’t have a way to set up anything similar for the other eBook formats, unfortunately.

I am a poor student. How can I get your book cheaply?

I had you in mind when I decided to put the entire contents of the book on the web for free. I put more than five years of my life into this book, and I want as many people to have access to it as possible. The web version is also a great starting point to see if you like the book before you plunk down cash.

Do the digital editions use DRM?

Heck no! If you have been kind enough to pay for the book, I want to give you the most flexibility I can. You should be able to freely transfer it to all of your devices, archive it, etc.

I’m in Canada. How can I get the print edition?

CreateSpace does not directly ship to Canada which is why you don’t see it on amazon.ca. Instead, a kind reader tells me that you can get it from Book Depository. If that doesn’t work, you may be able to buy it from amazon.com or barnesandnoble.com and get it shipped from the US.

Readers Say

“If you’re a game dev programmer you need to add this site to your list of resources.”

Ryan Leonski

“I can’t overstate how completely brilliantly written Game Programming Patterns is. And I’m only on chapter 2. Hats off.”

Mark Richards

“This is going to be the #1 book I recommend to new (and some old) game programmers.”

Alistair Doulin

Who Am I?

I’m Bob Nystrom. I started writing this book while working at Electronic Arts. In my eight years there, I saw a lot of beautiful code, and a lot of not-so-beautiful code. My hope was that I could take what I learned from the good stuff, write it down here, and then teach it to the people writing the awful stuff.

If you want to get in touch with me, you can email bob at this site or just ask me (@munificentbob) on twitter. If you just can’t get enough of my writing, I also have a blog. If you like the book, you’ll probably like it too.

Keep in Touch

Part of the magic of writing a book online is that it’s easy to change. If you find mistakes or have suggestions, please don’t hesitate to file a bug or send me a pull request.

I’d love to be able to contact you too. If you put your email address in the little box, I’ll let you know about updates to the book. I post less than once a month, so don’t worry about me spamming you.

The mailing list!