Everything you need to know about writing game design documents in Gameframe
Read Time: 20 minutes
§Introduction#
The Gameframe editor isn't just another text editor. It's built specifically for game designers—with features you won't find in Notion, Confluence, or Google Docs.
This guide covers everything:
- —Getting started with the basics
- —Slash commands for quick insertion
- —Game-specific blocks (Stat Blocks, Formulas, Loot Tables)
- —Templates for common document types
- —Exporting to PDF, Word, JSON, and more
Let's dive in.
§Part 1: Editor Basics#
Opening the Editor#
Click any document in your vault, then click Edit. The WYSIWYG editor opens with your content ready to edit.
The Interface#
Header Bar:
- —Document name and last-saved time
- —Toggle toolbar visibility
- —Focus mode (fullscreen distraction-free)
- —Export button
- —Save/Cancel buttons
Toolbar:
- —Text formatting (bold, italic, strikethrough)
- —Headings (H1, H2, H3)
- —Lists (bullet, numbered, checkbox)
- —Links and images
- —Tables and blockquotes
Editor Area:
- —Rich text editing
- —Prose styling optimized for readability
- —Type naturally—it just works
Keyboard Shortcuts#
| Shortcut | Action |
|---|---|
Ctrl+S | Save document |
Ctrl+B | Bold |
Ctrl+I | Italic |
Ctrl+Shift+F | Toggle focus mode |
Esc | Cancel editing |
/ | Open slash command menu |
Auto-Save#
Your work is automatically saved to a local draft every 30 seconds. If you close the browser and come back, you'll be asked if you want to restore your draft.
§Part 2: Slash Commands#
Slash commands are the fastest way to insert content. Just type / anywhere in the editor to open the command menu.
Basic Blocks#
| Command | What It Does |
|---|---|
/heading1 | Large section heading |
/heading2 | Medium section heading |
/heading3 | Small section heading |
/bullet | Bullet list |
/numbered | Numbered list |
/task | Checkbox/task list |
/quote | Blockquote |
/code | Code block |
/divider | Horizontal rule |
/image | Insert image (URL prompt) |
/table | Insert 3x3 table |
Game-Specific Blocks#
These are what make Gameframe special:
| Command | What It Does |
|---|---|
/stat | Insert live Stat Block from data source |
/formula | Insert live calculation |
/balance | Insert balance comparison table |
/comparison | Insert before/after change block |
/flowchart | Insert Mermaid.js diagram |
/loot | Insert loot table visualizer |
/curve | Insert progression curve chart |
/playtest | Insert playtest notes tracker |
We'll cover each of these in detail below.
§Part 3: Game-Specific Blocks#
Stat Blocks#
What it is: A card that displays live data from your spreadsheet.
When to use it: Character sheets, item stats, enemy profiles—anywhere you want to show multiple stats for an entity.
How to insert:
- 1.Type
/statand press Enter - 2.Enter the data source name (e.g.,
characters) - 3.Enter the row identifier (e.g.,
Warrior)
Example output:
┌─────────────────────────────────┐
│ 🎮 Warrior │
├─────────────────────────────────┤
│ health │ 150 │
│ damage │ 25 │
│ armor │ 10 │
│ speed │ 3.5 │
└─────────────────────────────────┘The magic: When you update characters.csv, this block updates automatically.
Formula Blocks#
What it is: A live calculation using values from your data sources.
When to use it: DPS calculations, time-to-kill, resource efficiency—any derived stat.
How to insert:
- 1.Type
/formulaand press Enter - 2.Enter a name (e.g., "DPS Calculation")
- 3.Enter the formula (e.g.,
@Warrior.damage * @Warrior.attackSpeed)
Formula syntax:
- —
@EntityName.stat- Reference a value from a data source - —Standard math:
+,-,*,/,() - —Functions:
Math.floor(),Math.ceil(),Math.pow(), etc.
Example:
┌─────────────────────────────────────────┐
│ ⚡ DPS Calculation │
├─────────────────────────────────────────┤
│ Formula: @Warrior.damage × @Warrior.attackSpeed │
│ Result: 62.5 DPS │
│ (25 × 2.5) │
└─────────────────────────────────────────┘Balance Tables#
What it is: A comparison table for abilities, items, or characters.
When to use it: Comparing options, balance decisions, feature comparisons.
How to insert:
- 1.Type
/balanceand press Enter - 2.Enter a title (e.g., "Ability Balance")
- 3.Add rows with entity names and stat references
The key feature: Color-coded cells show relative performance (green = strong, red = weak, yellow = balanced).
Comparison Blocks#
What it is: A before/after visualization for balance changes.
When to use it: Patch notes, balance proposals, change documentation.
How to insert:
- 1.Type
/comparisonand press Enter - 2.Enter a title (e.g., "Warrior Health Buff")
- 3.Set the before and after values
Example:
┌──────────────────────────────────────┐
│ ⚖️ Warrior Health Buff │
├──────────────────────────────────────┤
│ BEFORE → AFTER │
│ 100 (+50%) 150 │
│ (too squishy) (survivable) │
└──────────────────────────────────────┘Flowcharts#
What it is: Visual diagrams powered by Mermaid.js.
When to use it: Game loops, AI behavior, quest flows, dialogue trees, combat systems.
How to insert:
- 1.Type
/flowchartand press Enter - 2.A default diagram appears
- 3.Click Edit to modify, or choose a preset
Presets available:
- —Game Loop
- —Enemy AI
- —Combat System
- —Quest Flow
- —Dialogue Tree
Example Mermaid code:
graph TD
A[Player Attacks] --> B{Enemy Health > 0?}
B -->|Yes| C[Enemy Takes Damage]
B -->|No| D[Enemy Dies]
C --> E[Enemy Counterattacks]
D --> F[Drop Loot]Export options: PNG or SVG for use in presentations.
Loot Tables#
What it is: A visual drop rate simulator.
When to use it: Item drop balancing, reward systems, chest contents.
How to insert:
- 1.Type
/lootand press Enter - 2.Add items with drop rates and quantities
- 3.Click "Simulate 1000 Drops" to test
Example:
┌──────────────────────────────────────────────────┐
│ 🎲 Goblin Loot Table │
├──────────────────────────────────────────────────┤
│ Item │ Rarity │ Drop % │ Qty │
├──────────────────────────────────────────────────┤
│ Gold Coins │ Common │ 50% │ 10-50 │
│ Health Potion │ Uncommon │ 25% │ 1 │
│ Goblin Dagger │ Rare │ 10% │ 1 │
│ Goblin King Crown │ Legendary │ 0.5% │ 1 │
├──────────────────────────────────────────────────┤
│ [Simulate 1000 Drops] │
└──────────────────────────────────────────────────┘The simulation: Run 1000 virtual drops to see actual distribution. Great for spotting if something is too rare or too common.
Progression Curves#
What it is: A chart showing how values scale over levels/time.
When to use it: XP curves, stat scaling, difficulty progression, economy balancing.
How to insert:
- 1.Type
/curveand press Enter - 2.Choose a preset or enter a custom formula
- 3.Set min/max values and steps
Presets available:
- —Linear:
x * 100 - —Quadratic:
x * x * 10 - —Exponential:
Math.pow(1.5, x) * 100 - —Logarithmic:
Math.log(x + 1) * 500 - —Sigmoid: Smooth S-curve
- —Stepped: Discrete jumps
Example: XP required per level
Level │ XP Required
──────┼────────────
1 │ 100
2 │ 220
3 │ 360
4 │ 520
5 │ 700
... │ ...
10 │ 1900The chart updates in real-time as you tweak the formula.
Playtest Notes#
What it is: Structured feedback collector for playtest sessions.
When to use it: QA feedback, playtest debriefs, bug tracking.
How to insert:
- 1.Type
/playtestand press Enter - 2.Add notes with severity and status
- 3.Link to @entities for cross-referencing
Severity levels:
- —🔴 Critical - Blocks core gameplay
- —🟠 Major - Significant impact
- —🟡 Minor - Small issues
- —🔵 Suggestion - Nice-to-haves
Status tracking:
- —New
- —Acknowledged
- —In Progress
- —Resolved
§Part 4: Templates#
Start new documents from pre-built templates instead of a blank page.
Available Templates#
| Template | Description |
|---|---|
| Game Design Document (GDD) | Complete game overview with pillars, loops, features, monetization |
| Character Sheet | Stats, abilities, progression, backstory |
| Enemy Design | Stats, AI behavior, attacks, loot tables |
| Level Design | Layout, encounters, pacing, collectibles |
| Ability Design | Stats, scaling, VFX notes, balance considerations |
| Item Design | Stats, effects, acquisition, lore |
| Economy Design | Currency types, sources, sinks, progression |
| Narrative Design | Plot structure, characters, dialogue style |
| Quest Design | Objectives, flow, triggers, rewards |
| UI/UX Specification | Wireframes, user flows, accessibility |
Using a Template#
- 1.Create a new document
- 2.Click "Start from Template"
- 3.Choose a template
- 4.The structure is pre-filled—just add your content
§Part 5: Exporting#
Click the Export button in the editor header to download your document.
Available Formats#
| Format | Best For |
|---|---|
| Sharing with stakeholders, printing | |
| Word (.docx) | Collaboration with non-Gameframe users |
| HTML | Styled web page, embedding |
| JSON | Game engine integration (Unity, Unreal) |
| Markdown | Plain text, version control |
JSON Export for Engines#
The JSON export is designed for game engines. It preserves:
- —Document structure (headings, sections)
- —Stat block data (already parsed)
- —Entity references
- —Metadata (author, timestamps)
Import into Unity with a simple JSON parser. No scraping HTML required.
§Part 6: Tips & Best Practices#
Writing Better GDDs#
- 1.Use headings liberally - Makes documents scannable
- 2.Link to data sources - Don't copy-paste stats, reference them
- 3.Include visuals - Flowcharts and curves communicate faster than words
- 4.Keep sections focused - One idea per section
- 5.Use balance tables - Show comparisons, not just descriptions
Collaboration Tips#
- 1.Use branches for experiments - Don't edit main directly
- 2.Write change summaries - "Increased Warrior health" not "updated file"
- 3.Reference @entities - Creates automatic cross-links
- 4.Use playtest notes - Structured feedback beats scattered comments
Performance Tips#
- 1.Break large documents - One 100-page doc = slow; 20 focused docs = fast
- 2.Use templates - Consistent structure speeds writing
- 3.Keyboard shortcuts - Ctrl+S saves; / inserts; Esc cancels
- 4.Focus mode - Ctrl+Shift+F for distraction-free writing
§Conclusion#
The Gameframe editor is designed to make game design documentation faster, more accurate, and less painful. Use the features that help you—ignore the ones that don't.
Start simple:
- 1.Write in the WYSIWYG editor
- 2.Use
/commands for quick insertion - 3.Connect a spreadsheet for live data
- 4.Export when you need to share
As you get comfortable, explore flowcharts, loot tables, and progression curves. They're there when you need them.
Continue learning:
- —Live Spreadsheet Sync - Connect your balance data to documents
- —Embedding External Assets - Add Figma, YouTube, and more
- —Getting Started - Create your first vault
Ready to write better docs? Start your free trial and experience game-specific document editing.
Related Topics
About the Author
The Gameframe team builds version control tools specifically for game designers and studios. We understand the unique challenges of game development documentation.
Continue Reading
Getting Started: Your First Vault in 10 Minutes
Create your first vault, upload your first document, and understand why Gameframe is different. Complete beginner's guide.
GuidesVersion Control 101: Track Every Change Like a Pro
Master the diff viewer, understand version history, and never lose a design decision again. Essential reading for every team member.
GuidesEmbedding External Assets: Figma, YouTube, Miro & More
Connect your design docs to Figma mockups, YouTube videos, Miro boards, and Google Drive files. Everything in one place.
See how Gameframe compares to Notion, Confluence, and other tools.
What's next
Start version controlling your game design docs today.
Join studios already using Gameframe to track changes, branch ideas, and keep their teams aligned.
Get started free