Website Review
What is Game Programming Patterns?
Game Programming Patterns is a book about software design patterns as they apply to game development. Its stated goal is to help developers whose code becomes hard to change as it grows—the "giant hairball" problem—by collecting patterns the author found in real games that make code cleaner, easier to understand, and faster. It covers both structural design patterns and game-specific performance techniques like object pools and cache coherency. It is available in print, ebook (Kindle, iBooks, Google Play Books, Nook, EPUB), PDF, and a free web version. According to the site, all formats contain the same full content: every chapter, illustration, and aside—including the free web edition.
Game Programming Patterns
Who it's for
- Developers who can write game code but find their projects turning into tightly coupled messes.
- Programmers coming from non-game software who want to know how familiar design patterns translate to games.
- Anyone hearing terms like "object pools" or "cache coherency" and wanting practical guidance on using them for performance.
How to choose a format
| Format | Best for | Trade-off |
|---|---|---|
| Web | Trying it at zero cost, reading on any device | Requires a browser; no offline copy unless you save it |
| Keeping the hand-crafted layout and typography | Less convenient than reflowable text on small screens | |
| Ebook | Reading offline on a dedicated reader or app | Store/platform dependent |
| Liking a physical book, giving as a gift | Not searchable; costs more than free |
A practical next step: if you're unsure whether the patterns apply to your work, start with the free web version and read the chapters on the problems you're currently hitting—say, tangled update logic or frequent object allocation. If it clicks, buying a format you actually enjoy reading supports the author, and the site notes royalties are roughly similar across formats.
One concrete scenario: a solo developer building a small action game finds their entity code turning into nested conditionals and shared state. Reading the relevant patterns gives vocabulary and trade-offs, then they can decide whether a component-style approach fits their scope or is overkill for a game that size.
Is the web version of Game Programming Patterns completely free?
Yes. The web version of Game Programming Patterns is free in full, not a teaser. The site states each format—print, ebook, PDF, and web—contains every chapter, every illustration, and all asides. The web edition is described as responsive and readable on desktop, tablet, or phone, with no cost.
What that means in practice
- You can read the complete book directly in a browser without buying anything.
- The free version isn't abridged, so you aren't missing chapters or diagrams.
- Paid formats exist for people who want print, offline reading, or specific ebook stores.
How to choose
- Start with the free web version if you want to evaluate the writing or read on a connected device.
- Buy print or ebook if you prefer owning a copy, reading offline, or supporting the author—royalties are set to be roughly similar across paid formats.
- If you want a physical book but also the Kindle edition, the site mentions MatchBook pricing for that combination.
A practical first step: open the web edition, read a chapter that matches a current problem in your codebase—such as object pools or component patterns—and decide from there whether you want a paid format. For broader pattern context beyond games, Refactoring Guru covers general design patterns, while Game Programming Patterns stays focused on game development trade-offs.
Do all versions of the book have the same content?
Yes. According to the book's own FAQ, every format contains the full text: all chapters, all illustrations, and all asides. That includes the free web edition, the PDF sample aside — the sample is a sample, not the whole book.
The real differences are format and price, not content:
| Format | Best for | Trade-off |
|---|---|---|
| Web | Trying before committing, quick reference while coding | Needs a browser and connection; less pleasant for long reading sessions |
| eBook (Kindle, iBooks, Play Books, Nook, EPUB) | Reading on a phone or e-reader, offline access | Store lock-in varies; code samples can reflow awkwardly on small screens |
| Reading on a large screen with the intended layout and typography | Less convenient on e-ink devices | |
| Shelf reference, no screen, lending to others | Costs the most and isn't searchable |
A practical decision rule: if you're unsure whether the patterns apply to your work, start with the free web version and read one or two chapters that match a problem you actually have — say, an object pool for frequently spawned bullets, or a component setup for entities with wildly different behaviors. If it clicks, buy the format you'll actually read in. If you want to support the author without needing another book, the FAQ suggests buying a copy and giving it to a friend or a local library.
For a broader patterns reference alongside this one, see Refactoring Guru and Sourcemaking.
Which format should I buy if I want the author to earn the most money?
Buy whichever format you'll actually use — the author states the royalties are set up to be roughly the same across print, ebook, and PDF, so no single purchase pays him dramatically more than another. Because he self-published, there's no publisher taking a cut either way.
If your real goal is to maximize what reaches the author, the lever that matters isn't format, it's volume: buying more than one copy, or buying a copy for a friend or your local library, multiplies the royalty rather than just shifting it. He explicitly suggests this route if you want to support the work without needing another physical book for yourself.
Practical decision criteria:
- Want to support + want a physical object: print edition.
- Want to support + want convenience: ebook or PDF — same royalty, less shelf space.
- Want to support + want to spend nothing: read the free web version, then buy a copy for someone else.
- Already own print and want the ebook too: the Kindle edition is discounted for print buyers through MatchBook, so you're not paying full price twice.
A concrete scenario: if you're a student on a tight budget, read the free web edition now, and when you have spare cash, buy a print copy for your department library. You get the content immediately, the author gets paid, and other students get access later.
For the book itself and the format list, see Game Programming Patterns.
Can I get the Kindle eBook for a discount if I buy the print edition?
Yes. The site says MatchBook is enabled on the Kindle edition: if you buy the print copy, you can get the Kindle version for just $3.00. The author notes this works "mostly," so treat it as the intended arrangement rather than an unconditional guarantee.
For context, the same page states that every format contains all chapters, illustrations and asides, including the free web version, and that royalties are roughly equal across formats because the book is self-published. That matters for your decision: the discount is about convenience, not extra content.
A practical next step: buy the print edition through the retailer that offers MatchBook, then check your account for the Kindle match offer before buying the Kindle version separately. If the discount doesn't appear, the free web edition at Game Programming Patterns covers the same material while you sort it out.
What game programming patterns and techniques does the book cover?
Game Programming Patterns is a catalog of patterns the author found recurring in real game code, aimed at making a codebase cleaner, easier to change, and faster. It is organized around design patterns (how to structure code so it hangs together) and optimization patterns (how to make that code run faster), rather than around a specific engine or language.
What it covers
- Design patterns — general-purpose structure for game code: the classic patterns adapted to games (for example, component, state, observer, command, and similar), plus the idea of decoupling systems so changes don't ripple everywhere.
- Sequencing patterns — how to control when things happen: game loops, update methods, and double-buffered or deferred state changes.
- Behavioral patterns — how to express game logic and entity behavior without a tangle of conditionals.
- Decoupling patterns — reducing the "giant hairball" where everything references everything else, so systems can be swapped or tested independently.
- Optimization patterns — the performance side, including data locality and cache coherency, object pools, spatial partitioning, dirty flags, and data-oriented approaches.
Who it's for and how to use it
It targets working or aspiring game developers who already write code but find their projects getting harder to modify. Because the web edition is free and every format has the same full content, a practical approach is:
- Read the relevant pattern chapter in the free web version when you hit a concrete problem.
- Decide whether the pattern's trade-off fits — most patterns add indirection, which costs clarity or performance, so they pay off when the problem is real and recurring.
- Buy print, ebook, or PDF only if you want the typeset reference or offline reading.
The main trade-off to keep in mind: patterns are tools for managing complexity, not goals in themselves. Applying an optimization pattern like object pooling to a game that isn't allocation-bound usually adds complexity for no gain.
User reviews (0)