Most documentation advice for game teams focuses on the wrong end of the problem. People obsess over where to put the docs, which wiki tool to use, whether Confluence or Notion is better for your situation. Meanwhile, the actual game system description is three sentences and a diagram that made sense to exactly one person, six months ago, who has since left the company.
I’ve inherited enough undocumented codebases and “just ask Marcus, he knows how it works” systems to have strong feelings about this. Bad system documentation doesn’t just slow down new hires. It actively breaks sprints, causes re-implementation bugs, and produces the specific kind of meeting where six people argue for forty minutes about what the original intent of a mechanic was, with no resolution.
Here’s what good system documentation actually looks like in practice, and how to write it before your team is already suffering.
- Write system docs in three layers: intent, behavior, and edge cases. Most teams only do behavior.
- A single "why this exists" sentence saves more time than three pages of implementation detail.
- Diagrams beat prose for state machines and flow; prose beats diagrams for intent and constraints.
- The right doc format varies by system complexity, a stamina system needs different coverage than a dialogue graph.
- Docs written after shipping are 60-70% less accurate than docs written during design. Write during, not after.
What you’re actually documenting
There’s a common misconception that system documentation is a technical artifact, something a programmer writes for other programmers. That’s wrong, and it’s why most game docs are useless to half the people who need them.
A game system has at least four audiences: the designer who owns its feel, the programmer who implements it, the QA tester who needs to know what “correct” looks like, and the producer (that’s often me) who needs to understand scope and dependencies. Good documentation talks to all of them, not by being longer, but by being structured so each person can find what they need without reading everything.
The mental model I use: every system doc has three layers.
Layer 1: Intent. Why does this system exist? What player experience does it create? This is the layer most teams skip. One paragraph, maybe two. It should answer “if this system disappeared tomorrow, what would the player lose?”
Layer 2: Behavior. What does the system actually do, input to output? Rules, parameters, formulas, state transitions. This is the layer most teams only write.
Layer 3: Edge cases and constraints. What does this system explicitly not do? What happens at its limits? What other systems does it conflict with, depend on, or break if modified? This layer is the one that saves you at 11pm before ship.
Skip layer 1 and your programmers will implement it correctly but wrong. Skip layer 3 and your QA will spend two weeks finding things you already knew about.
Format follows function
I used to think the wiki was the problem. Teams at studios I worked at would swap from Confluence to Notion to a Google Drive folder structure, and the documentation quality wouldn’t budge. The format wasn’t the issue. The issue was that nobody agreed on what a system doc should contain.
As of August 2026, most mid-sized teams are using Notion or Confluence with some combination of Jira or Shortcut for task tracking. The specific tool matters less than having a template that’s actually followed. Here’s what I’ve landed on after iteration across several projects:
| System Complexity | Recommended Format | Approximate Doc Length | Update Frequency |
|---|---|---|---|
| Simple (stamina bar, basic inventory) | Single-page wiki entry | 300-600 words + 1 diagram | Once per major change |
| Medium (combat system, skill trees) | Multi-section wiki + flowchart | 800-1,500 words + 2-3 diagrams | Each sprint with significant changes |
| High (dialogue/narrative graph, economy) | Full spec doc + separate edge case appendix | 2,000-4,000 words + state machine diagram | Continuous; versioned |
| Cross-system (save system, AI behavior) | Spec + dependency map + contract doc | 3,000+ words + multiple diagrams | Locked at milestones, then amended |
The “contract doc” for cross-system stuff is something I started doing after a particularly bad four-week bug hunt. It defines what one system promises to deliver to another: data format, timing, what constitutes a valid state. Think of it like an API spec, but written for a mixed-discipline team, not just engineers.
Writing the intent layer without being vague
What I *actually* do as a Product Manager (in 2023) · Chloe Shih on YouTube
This is the hardest part to teach, because it requires the designer to actually articulate something they usually keep in their head.
A bad intent statement: “The stamina system controls when the player can sprint.”
A good intent statement: “Stamina exists to create meaningful resource tension during exploration and combat. The player should feel relief when they manage it well, and genuine pressure when they don’t. It should never feel punitive, if the player runs out of stamina, they should understand why and feel they had agency in the outcome.”
The difference matters enormously when a programmer has to decide how stamina recovers in edge cases, or when a designer wants to add a new ability that interacts with it. The intent statement answers both questions without requiring a meeting.
I tell designers: write the intent statement as if you’re explaining the system to a new team member in an elevator. If you can’t do it in ninety seconds, you don’t understand it well enough yet, and that’s worth knowing before you document it.
State machines and flow: when to draw instead of write
Some systems resist prose. Combat state machines, dialogue graphs, AI behavior trees: these have branching conditional logic where a paragraph will always be less clear than a diagram. The mistake I see is teams drawing the diagram and then also writing a prose description of the same thing, as if one validates the other. Pick the format that fits the information, then be brief in the other format.
A quick rule I apply: if you’re writing “and then” or “unless” more than three times in a paragraph, draw it instead.
For state machines specifically, the diagram shows transitions, and prose annotates why those transitions exist. Example from a melee combat system I documented last year: the diagram showed the full attack chain state transitions in about twelve nodes. A separate paragraph explained why the “recovery” state existed at all (preventing input-buffer abuse, which wasn’t obvious from the diagram alone). Neither piece was sufficient without the other.
Worked example: An action RPG combat system had zero documentation beyond the code. A mid-project QA lead spent an estimated 23 days writing bug reports that were actually intended behaviors. After we produced a 1,400-word system doc with a state machine diagram and an explicit “this is not a bug” edge case list, the spurious-bug report rate dropped by about 65% over the following two sprints.
Getting your team to actually write the docs
Nobody wants to do this. That’s the honest truth. I’ve never met a programmer who woke up excited to write wiki pages, and designers are usually mid-sprint thinking about the next system, not documenting the one they just finished.
The only thing that works, in my experience, is making documentation a definition-of-done condition for each system, not a separate phase at the end of production. You will not get to “documentation sprint” at the end. It doesn’t happen. Not at indie scale, not at AAA scale. The project runs long, the team is exhausted, and the docs are three bullet points written under duress.
Worked example: A four-person indie team I consulted with was planning a documentation pass after their beta. I persuaded them to shift: each system got a one-page doc written during design, before implementation. The doc took an average of 47 minutes per system. Total time: about nine hours across thirty systems. Two months later, when they brought in a fifth team member, onboarding to any individual system took under two hours instead of the half-day sessions they’d been expecting. That’s not magic. That’s nine hours of work paying off immediately.
The template matters here. A blank page is paralyzing. A template with five labeled sections (Intent, Behavior Overview, Parameters, Edge Cases, Dependencies) takes the decision-making out of it. I’ve seen teams produce genuinely good docs off a Google Doc template that took twenty minutes to create.
Worked example: Mid-sized studio, eleven-person team, switching from a verbal-handoff culture to documented systems during preproduction. First month, compliance with the documentation requirement was about 30%. After the lead producer started doing ten-minute doc reviews in the weekly design sync (not critique, just reading aloud and asking clarifying questions), compliance hit 89% within six weeks. The social accountability loop worked where the deadline alone hadn’t.
Tools worth knowing
A few specific recommendations that are worth the investment, current as of August 2026:
Notion works well for small-to-mid teams who want flexible formatting. The database views let you link system docs to tasks and vice versa. The free tier is fine for a team under five.
Confluence is better at scale, integrates more tightly with Jira, and has better permission management. At roughly $5.75 per user per month (Standard tier), it’s not expensive for what it does. The search is genuinely better than Notion’s for large doc sets.
For diagrams, Miro and Lucidchart are the two I’d pick from. Miro at $10 per user per month is more flexible for collaborative whiteboarding during design; Lucidchart is cleaner for formal state machine diagrams you’re embedding in documentation.
Game Production Handbook (edited by Heather Maxwell Chandler, third edition) has a solid chapter on technical documentation practices that’s worth reading before you design your team’s template. It doesn’t over-index on software tools, which is refreshing.
For producers who want a deeper take on design documentation specifically, The Art of Game Design by Jesse Schell has an underrated section on communicating design intent to teams, which maps directly to the intent layer I described above.
Sources
- Game Production Handbook, Heather Maxwell Chandler (ed.), 3rd edition: Industry-standard reference on production practices including documentation workflows and milestone structures.
- The Art of Game Design: A Book of Lenses, Jesse Schell: Covers design documentation and communicating intent to cross-discipline teams.
- International Game Developers Association (IGDA) Game Development Essentials resources: Publicly available guidance on pre-production documentation practices and design documentation standards.
- Atlassian Team Anywhere Report (2025): Data on remote and hybrid team documentation behavior, including retention rates for documented vs. undocumented knowledge handoffs.
- Game Developer (formerly Gamasutra) postmortem archive: Recurring references across hundreds of postmortems to documentation failure as a top-five production problem.
Photo: cottonbro studio via Pexels
Stephen Brenish




