Free template · Games & Tabletop
Game Design Document Template
A game design document, or GDD, describes what a game is and how it works: its core loop, mechanics, levels, characters, controls and interface. For indie developers it works best as a living list of design elements with status and priority, updated as the game changes, rather than a long document written once.
Who it's for: Solo and small-team indie game developers, game jam teams and design students.
Free, no email needed. Google Sheets: download the .xlsx, then File > Import > Upload.
Preview
These are the real columns with example rows. Click Try it here to type your own rows and download them.
| Element | Type | Description | Why it exists | Priority | Status | Milestone | Open questions |
|---|---|---|---|---|---|---|---|
| Dash | Mechanic | Short burst of speed with 0.2s invincibility | Lets skilled players skip damage | Must have | In playtest | Vertical slice | Is the cooldown too short? |
| Sunken Library | Level | Flooded archive, water rises every 60s | Teaches dash under time pressure | Must have | Building | Vertical slice | Too hard as level 2? |
| Ink Wraith | Enemy | Teleports behind the player after 3 hits | Punishes standing still | Should have | Designed | Alpha | |
| Pause menu | UI | Resume, settings, quit, controls | Basic usability | Must have | Done | Vertical slice |
What goes in each column
| Column | What goes in it | Example |
|---|---|---|
| Element | Name of the design element | Dash |
| Type | Mechanic, Level, Character, Enemy, UI, Quest, Audio | Mechanic |
| Description | What it does, in one or two lines | Short burst of speed with 0.2s invincibility |
| Why it exists | What it adds to the core loop | Lets skilled players skip damage |
| Priority | Must have, Should have, Nice to have | Must have |
| Status | Idea, Designed, Building, In playtest, Done | In playtest |
| Milestone | Which build it belongs to | Vertical slice |
| Open questions | What playtesting needs to answer | Is the cooldown too short? |
Why these columns: Long written GDDs go stale within weeks. A list of elements with Priority, Status and Milestone stays current, and the Why it exists column stops features that do not serve the core loop.
How to use it in 5 steps
- Write your core loop in one sentence at the top, then add only elements that serve it.
- Mark Priority honestly. Most indie games ship late because too many elements are Must have.
- Assign each element to a Milestone so scope is visible per build.
- Move Status as you work, and keep Open questions for playtests.
- Before each milestone, filter by Priority and cut the Nice to haves that are not started.
Spreadsheet, dedicated software, or Notion?
| Option | Best for | Falls short when |
|---|---|---|
| This spreadsheet | Quick scope list, easy for a small team | No pages for level maps, art references or playtest notes |
| Written GDD in Google Docs | Pitch documents and publisher submissions | Goes out of date fast |
| Notion version | Design, tasks, bugs, milestones and playtests connected | Needs Notion |
If the free spreadsheet does everything you need, stick with it. The Notion version is for when you want the pieces connected.
Want it connected? Indie Game Developer OS
The spreadsheet is one table. The Notion system links it to everything around it:
- Design elements linked to tasks, bugs and milestones
- Playtest feedback log with how often each issue comes up
- Roadmap, build, assets, marketing and launch in one workspace
- Budget and money tracking for your release
Instant duplicate link after purchase.
Questions
Do indie developers need a game design document?
A short, living one helps even solo developers, mostly to control scope. It does not need to be long.
What should a GDD include?
The core loop, mechanics, levels, characters, controls and UI, plus priority and status so it stays useful during development.
How long should a GDD be?
As short as possible while still answering what the game is and what gets built next.
Can I use this for a game jam?
Yes. Use only Must have and Should have, and one milestone.