Phaser 4 Game Design Document Generator
Generate a comprehensive Game Design Document (GDD) for a Phaser 4 game. The GDD captures every design decision — mechanics, art, audio, progression, technical constraints — in a single Markdown file so the entire team (or solo dev) has a shared reference before any code is written.
GDD Structure (13 Sections)
Every generated GDD must include all 13 sections below. If the user has not specified details for a section, provide sensible defaults based on the genre and scope, and mark assumptions with <!-- ASSUMPTION --> so they are easy to find and revise.
Section 1 — Game Overview
Establish the identity of the game at a glance.
Include:
- Title — Working title (can be placeholder).
- Tagline — One punchy sentence that sells the hook.
- Genre — Primary genre and any sub-genres (e.g., "roguelike platformer").
- Target Audience — Age range, player profile, casual vs. hardcore.
- Elevator Pitch — Exactly 2 sentences: what the player does and why it is fun.
- Unique Selling Points (USPs) — 3-5 bullet points that differentiate the game.
- Comparable Titles — 2-3 existing games the user or audience would recognize, with a brief note on what is borrowed and what is different.
Section 2 — Core Game Loop
Define the repeatable cycle that keeps the player engaged.
Include:
- 30-Second Loop — The smallest atomic action cycle (e.g., jump-land-collect).
- 5-Minute Loop — A medium arc such as completing a level or a wave.
- Session Loop — What a full play session looks like (15-30 min for casual, 60+ for hardcore).
Present each loop as an ASCII flow diagram:
[Action] --> [Feedback] --> [Reward] --> [Decision] --+
^ |
+--------------------------------------------------+
- Win Condition — What the player must achieve to "beat" the game or level.
- Lose Condition — What causes failure and what happens next (restart level, lose life, game over).
Section 3 — Mechanics Deep Dive
Detail every interactive system the player touches.
Include:
- Primary Mechanics — The 1-3 core verbs (e.g., jump, shoot, match). For each: input, physics behavior, edge cases.
- Secondary Mechanics — Supporting systems (e.g., inventory, crafting, dialogue). Describe how they feed back into the core loop.
- Control Scheme — Map inputs per platform:
| Action |
Keyboard |
Touch |
Gamepad |
| Move |
WASD / Arrows |
Virtual joystick |
Left stick |
| Jump |
Space |
Tap right side |
A button |
Section 4 — Progression System
Describe how difficulty, content, and rewards evolve over time.
Include:
- Difficulty Curve — Describe the intended ramp (linear, exponential, sawtooth). Reference specific milestones.
- Unlock Sequence — What new abilities, levels, or items the player earns and when.
- Scoring System — How score is calculated, combo multipliers, leaderboards if any.
- Replayability Hooks — What brings the player back (new game+, daily challenges, procedural generation).
- Estimated Play Time — Time to first completion and time to 100% completion.
Section 5 — Level / World Design
Plan the spatial structure of the game.
Include:
- Level Count — Total number of levels, worlds, or zones.
- Themes — Visual and mechanical theme per world (e.g., "World 2 — Ice Caves: slippery surfaces, breakable walls").
- Flow Maps — ASCII diagram showing level progression and branching:
[Level 1] --> [Level 2] --> [Level 3]
|
+--> [Bonus Level A]
- Difficulty Scaling — How enemy count, speed, puzzle complexity, or time pressure increases per level.
Section 6 — Characters & Entities
Catalog every game object with gameplay-relevant detail.
Include:
- Player Character — Base stats (speed, health, jump height), abilities, state machine (idle, run, jump, hurt, dead).
- Enemy Types — Table format:
| Enemy |
HP |
Speed |
Behavior |
Attack |
Drop |
| Slime |
1 |
40px/s |
Patrol left-right |
Contact damage |
Coin (50%) |
- NPCs — Role, dialogue triggers, quest associations.
- Collectibles & Power-ups — Effect, duration, rarity, visual indicator.
Section 7 — UI/UX Wireframes
Define every screen the player sees.
Include:
- HUD Layout — ASCII wireframe of the in-game overlay:
+---------------------------------------+
| [Lives: x3] [Score: 00000] |
| |
| |
| GAME AREA |
| |
| |
| [Item1] [Item2] [Item3] [Pause] |
+---------------------------------------+
- Menu Flow Diagram — ASCII showing navigation between screens:
[Title Screen] --> [Main Menu] --> [Play] --> [Level Select] --> [Game]
| |
+--> [Settings] [Pause Menu]
+--> [Credits] |
[Game Over] --> [Main Menu]
- Screen Mockups — Brief description of each unique screen (title, main menu, settings, game over, win).
- Accessibility Considerations — Color-blind modes, font size options, remappable controls, screen reader hints.
Section 8 — Art Direction
Establish the visual identity and asset pipeline.
Include:
- Visual Style — Describe in 1-2 sentences (e.g., "16-bit pixel art with modern lighting effects").
- Color Palette — 5-8 hex codes with role labels:
| Role |
Hex |
Usage |
| Primary |
#3A86FF |
Player, UI highlights |
| Secondary |
#FF006E |
Enemies, danger |
| Background |
#1B1B2F |
Sky, menus |
- Resolution & Scaling — Game resolution (e.g., 800x600), scale mode (Phaser
FIT, RESIZE, etc.), pixel-perfect flag.
- Animation Guidelines — Frame counts, FPS per animation type (idle: 4 frames @ 8fps, run: 6 frames @ 12fps).
- Asset List with Specs — Table of every required asset:
| Asset |
Type |
Size |
Frames |
Format |
| player_idle |
Spritesheet |
32x32 |
4 |
PNG |
| background_forest |
Static |
800x600 |
1 |
PNG |
Section 9 — Audio Design Plan
Define the soundscape.
Include:
- Music Mood per Scene — Table mapping each scene/level to a musical mood and tempo:
| Scene |
Mood |
Tempo |
Loop? |
| Main Menu |
Mysterious, inviting |
90 BPM |
Yes |
| Level 1 |
Upbeat, adventurous |
120 BPM |
Yes |
| Boss Fight |
Intense, urgent |
150 BPM |
Yes |
| Game Over |
Somber, reflective |
70 BPM |
No |
- SFX List — Action-to-sound mapping:
| Action |
Sound Description |
Priority |
| Player jump |
Short airy whoosh |
High |
| Coin collect |
Bright chime ascending |
High |
| Enemy hit |
Soft thud + squish |
Medium |
- Format Requirements — All audio must be provided in both MP3 and OGG for cross-browser compatibility. Phaser will select the best format at runtime.
- Volume Hierarchy — Define relative volume levels: Music (0.4), SFX (0.7), UI sounds (0.5). Describe how they interact (SFX duck music briefly on major events).
Section 10 — Technical Requirements
Pin down the Phaser-specific technical decisions.
Include:
- Phaser Version —
phaser (v4.2.1 stable) unless the user specifies otherwise.
- Physics Engine — Choose one and justify:
- Arcade — Simple AABB, best for platformers and shooters. Low CPU cost.
- Matter.js — Full rigid-body physics. Use for games needing rotation, joints, or complex collision shapes.
- None — For puzzle or card games with no physics simulation.
- Performance Budgets — Target frame rate (60 FPS), max draw calls per frame, max simultaneous particles, texture atlas size limits.
- Browser/Device Targets — Minimum browser versions, mobile device tier (e.g., "must run at 30+ FPS on 2020-era mid-range Android").
Section 11 — Platform Targets & Device Profiles
Specify where the game will run and how input differs.
Include:
- Primary Platforms — Desktop browser, mobile browser, PWA, Electron, Capacitor/Cordova.
- Input per Platform:
| Platform |
Primary Input |
Secondary Input |
| Desktop |
Keyboard + Mouse |
Gamepad |
| Mobile |
Touch |
Gyroscope (optional) |
| Tablet |
Touch |
Bluetooth gamepad |
- Deployment Method — How the game is built and distributed (static hosting, itch.io, app store via Capacitor, etc.).
Section 12 — Monetization & Release Plan (Optional)
Include this section only if the user wants to discuss business aspects. Mark it optional in the output.
Include:
- Business Model — Free, premium, freemium, ad-supported, or donation-ware.
- Milestones — Key dates or phases:
| Milestone |
Target Date |
Deliverable |
| Prototype |
Week 2 |
Core loop playable |
| Alpha |
Week 6 |
All levels blocked out |
| Beta |
Week 10 |
Feature-complete, playtesting |
| Launch |
Week 14 |
Polished, deployed |
- Distribution — Where the game will be published (itch.io, GitHub Pages, Steam, app stores).
Section 13 — Acceptance Criteria
Every other section describes intent. This one is the only part a machine can check,
and it is what turns the GDD from a document into a specification.
Write each criterion so that it is observable, numeric, and false when the game is
wrong. "The player should feel powerful" is not a criterion. "A charged attack deals
3× base damage" is.
Derive criteria directly from Sections 3 (Mechanics), 4 (Progression), and 6
(Entities) — anywhere the design commits to a number, that number is a criterion.
| Criterion |
Observable state |
Playtest assertion |
| Player jumps 3 tiles (96px) high |
player.y at apex |
player.y, atMost: spawnY - 96 |
| Basic enemy dies in 3 hits |
enemy.active |
press attack ×3, then enemy.active, equals: false |
| Score persists into GameOver |
registry.get('score') |
transition, then atLeast: 10 |
| Coyote time is 100ms |
jump succeeds after leaving ledge |
walk off, wait 80ms, jump → body.velocity.y < 0 |
| Wave 5 spawns 12 enemies |
active enemy count |
set wave, then enemies.countActive(true), equals: 12 |
| Holds 60fps with 50 entities |
game.loop.actualFps |
spawn 50, then atLeast: 55 |
| Boot reaches menu in under 3s |
scene key at t=3s |
game.scene.isActive('MainMenuScene'), equals: true |
Group criteria under the milestone that must satisfy them:
### Vertical Slice
- [ ] Player spawns at level start and responds to left/right/jump within 1 frame
- [ ] Falling off the map triggers respawn at the last checkpoint within 500ms
- [ ] Collecting a coin increments score by 10 and plays the pickup sound
### Alpha
- [ ] All 8 levels load without console errors
- [ ] Enemy AI pathfinds around static geometry (no wall-clipping over 30s)
Mark anything genuinely subjective as such rather than inventing a fake metric:
### Human review required (not automatable)
- Difficulty curve across levels 1-8 feels fair to a first-time player
- Art reads clearly against every background
- Audio mix is balanced at 50% volume
Save these to docs/acceptance-criteria.md alongside the GDD. The phaser-playtest
skill turns each automatable criterion into a scenario assertion, which is how the
design gets verified rather than merely stated.
Post-GDD Workflow
Once the GDD is finalized, guide the user to the next steps:
- Scaffold the project — Use
/phaser-new to generate the base project structure matching the GDD's technical requirements.
- Design the architecture — Use the phaser-architect skill/agent to translate the GDD into a technical architecture: scene graph, class hierarchy, data flow, and system decomposition.
- Start implementing — Use the phaser-coder skill/agent to begin coding scenes, mechanics, and entities as specified in the GDD.
- Verify it runs —
/phaser-playtest after each vertical slice. Section 13's automatable acceptance criteria become playtest assertions, which is how the design gets checked rather than merely stated.
- Ship it —
/phaser-release runs the readiness gate and prepares the store presence.
- Iterate on what players say —
/phaser-feedback turns their reports into failing playtest scenarios, then fixes, then regression tests.
If the user arrived here without a sharpened concept — a genre rather than a hook, or a scope that has not been sized against their available time — send them to /phaser-brainstorm first. A GDD written around an unscoped idea documents a project that will not finish.
Remind the user: the GDD is a living document. Update it as the game evolves during development.
Output Format
The generated GDD must be a single Markdown document with:
- A top-level
# Game Design Document: [Title] heading.
- Each of the 13 sections as
## Section N — Name headings.
- ASCII diagrams for all flow charts, wireframes, and level maps (no external image dependencies).
- Tables for structured data (enemies, assets, audio, controls).
<!-- ASSUMPTION --> comments next to any detail the generator inferred rather than received from the user.
Save the document to docs/GDD.md in the project root. If no project directory exists, print the full GDD inline in the chat.
1---2name: phaser-gdd3description: This skill should be used when the user asks to "write a game design document", "create a GDD", "design my game", "document game mechanics", "plan game progression", "define core loop", "art direction", "audio design plan", "monetization strategy", "game concept document", "plan my game before coding", or wants to produce a structured design document for a Phaser 4 game before writing any code.4---56# Phaser 4 Game Design Document Generator78Generate a comprehensive Game Design Document (GDD) for a Phaser 4 game. The GDD captures every design decision — mechanics, art, audio, progression, technical constraints — in a single Markdown file so the entire team (or solo dev) has a shared reference before any code is written.910## GDD Structure (13 Sections)1112Every generated GDD must include all 13 sections below. If the user has not specified details for a section, provide sensible defaults based on the genre and scope, and mark assumptions with `<!-- ASSUMPTION -->` so they are easy to find and revise.1314---1516### Section 1 — Game Overview1718Establish the identity of the game at a glance.1920Include:21- **Title** — Working title (can be placeholder).22- **Tagline** — One punchy sentence that sells the hook.23- **Genre** — Primary genre and any sub-genres (e.g., "roguelike platformer").24- **Target Audience** — Age range, player profile, casual vs. hardcore.25- **Elevator Pitch** — Exactly 2 sentences: what the player does and why it is fun.26- **Unique Selling Points (USPs)** — 3-5 bullet points that differentiate the game.27- **Comparable Titles** — 2-3 existing games the user or audience would recognize, with a brief note on what is borrowed and what is different.2829---3031### Section 2 — Core Game Loop3233Define the repeatable cycle that keeps the player engaged.3435Include:36- **30-Second Loop** — The smallest atomic action cycle (e.g., jump-land-collect).37- **5-Minute Loop** — A medium arc such as completing a level or a wave.38- **Session Loop** — What a full play session looks like (15-30 min for casual, 60+ for hardcore).3940Present each loop as an **ASCII flow diagram**:4142```43[Action] --> [Feedback] --> [Reward] --> [Decision] --+44 ^ |45 +--------------------------------------------------+46```4748- **Win Condition** — What the player must achieve to "beat" the game or level.49- **Lose Condition** — What causes failure and what happens next (restart level, lose life, game over).5051---5253### Section 3 — Mechanics Deep Dive5455Detail every interactive system the player touches.5657Include:58- **Primary Mechanics** — The 1-3 core verbs (e.g., jump, shoot, match). For each: input, physics behavior, edge cases.59- **Secondary Mechanics** — Supporting systems (e.g., inventory, crafting, dialogue). Describe how they feed back into the core loop.60- **Control Scheme** — Map inputs per platform:6162| Action | Keyboard | Touch | Gamepad |63|--------|----------|-------|---------|64| Move | WASD / Arrows | Virtual joystick | Left stick |65| Jump | Space | Tap right side | A button |6667---6869### Section 4 — Progression System7071Describe how difficulty, content, and rewards evolve over time.7273Include:74- **Difficulty Curve** — Describe the intended ramp (linear, exponential, sawtooth). Reference specific milestones.75- **Unlock Sequence** — What new abilities, levels, or items the player earns and when.76- **Scoring System** — How score is calculated, combo multipliers, leaderboards if any.77- **Replayability Hooks** — What brings the player back (new game+, daily challenges, procedural generation).78- **Estimated Play Time** — Time to first completion and time to 100% completion.7980---8182### Section 5 — Level / World Design8384Plan the spatial structure of the game.8586Include:87- **Level Count** — Total number of levels, worlds, or zones.88- **Themes** — Visual and mechanical theme per world (e.g., "World 2 — Ice Caves: slippery surfaces, breakable walls").89- **Flow Maps** — ASCII diagram showing level progression and branching:9091```92[Level 1] --> [Level 2] --> [Level 3]93 |94 +--> [Bonus Level A]95```9697- **Difficulty Scaling** — How enemy count, speed, puzzle complexity, or time pressure increases per level.9899---100101### Section 6 — Characters & Entities102103Catalog every game object with gameplay-relevant detail.104105Include:106- **Player Character** — Base stats (speed, health, jump height), abilities, state machine (idle, run, jump, hurt, dead).107- **Enemy Types** — Table format:108109| Enemy | HP | Speed | Behavior | Attack | Drop |110|-------|----|-------|----------|--------|------|111| Slime | 1 | 40px/s | Patrol left-right | Contact damage | Coin (50%) |112113- **NPCs** — Role, dialogue triggers, quest associations.114- **Collectibles & Power-ups** — Effect, duration, rarity, visual indicator.115116---117118### Section 7 — UI/UX Wireframes119120Define every screen the player sees.121122Include:123- **HUD Layout** — ASCII wireframe of the in-game overlay:124125```126+---------------------------------------+127| [Lives: x3] [Score: 00000] |128| |129| |130| GAME AREA |131| |132| |133| [Item1] [Item2] [Item3] [Pause] |134+---------------------------------------+135```136137- **Menu Flow Diagram** — ASCII showing navigation between screens:138139```140[Title Screen] --> [Main Menu] --> [Play] --> [Level Select] --> [Game]141 | |142 +--> [Settings] [Pause Menu]143 +--> [Credits] |144 [Game Over] --> [Main Menu]145```146147- **Screen Mockups** — Brief description of each unique screen (title, main menu, settings, game over, win).148- **Accessibility Considerations** — Color-blind modes, font size options, remappable controls, screen reader hints.149150---151152### Section 8 — Art Direction153154Establish the visual identity and asset pipeline.155156Include:157- **Visual Style** — Describe in 1-2 sentences (e.g., "16-bit pixel art with modern lighting effects").158- **Color Palette** — 5-8 hex codes with role labels:159160| Role | Hex | Usage |161|------------|---------|------------------------|162| Primary | #3A86FF | Player, UI highlights |163| Secondary | #FF006E | Enemies, danger |164| Background | #1B1B2F | Sky, menus |165166- **Resolution & Scaling** — Game resolution (e.g., 800x600), scale mode (Phaser `FIT`, `RESIZE`, etc.), pixel-perfect flag.167- **Animation Guidelines** — Frame counts, FPS per animation type (idle: 4 frames @ 8fps, run: 6 frames @ 12fps).168- **Asset List with Specs** — Table of every required asset:169170| Asset | Type | Size | Frames | Format |171|-------|------|------|--------|--------|172| player_idle | Spritesheet | 32x32 | 4 | PNG |173| background_forest | Static | 800x600 | 1 | PNG |174175---176177### Section 9 — Audio Design Plan178179Define the soundscape.180181Include:182- **Music Mood per Scene** — Table mapping each scene/level to a musical mood and tempo:183184| Scene | Mood | Tempo | Loop? |185|-------|------|-------|-------|186| Main Menu | Mysterious, inviting | 90 BPM | Yes |187| Level 1 | Upbeat, adventurous | 120 BPM | Yes |188| Boss Fight | Intense, urgent | 150 BPM | Yes |189| Game Over | Somber, reflective | 70 BPM | No |190191- **SFX List** — Action-to-sound mapping:192193| Action | Sound Description | Priority |194|--------|-------------------|----------|195| Player jump | Short airy whoosh | High |196| Coin collect | Bright chime ascending | High |197| Enemy hit | Soft thud + squish | Medium |198199- **Format Requirements** — All audio must be provided in both **MP3** and **OGG** for cross-browser compatibility. Phaser will select the best format at runtime.200- **Volume Hierarchy** — Define relative volume levels: Music (0.4), SFX (0.7), UI sounds (0.5). Describe how they interact (SFX duck music briefly on major events).201202---203204### Section 10 — Technical Requirements205206Pin down the Phaser-specific technical decisions.207208Include:209- **Phaser Version** — `phaser` (v4.2.1 stable) unless the user specifies otherwise.210- **Physics Engine** — Choose one and justify:211 - **Arcade** — Simple AABB, best for platformers and shooters. Low CPU cost.212 - **Matter.js** — Full rigid-body physics. Use for games needing rotation, joints, or complex collision shapes.213 - **None** — For puzzle or card games with no physics simulation.214- **Performance Budgets** — Target frame rate (60 FPS), max draw calls per frame, max simultaneous particles, texture atlas size limits.215- **Browser/Device Targets** — Minimum browser versions, mobile device tier (e.g., "must run at 30+ FPS on 2020-era mid-range Android").216217---218219### Section 11 — Platform Targets & Device Profiles220221Specify where the game will run and how input differs.222223Include:224- **Primary Platforms** — Desktop browser, mobile browser, PWA, Electron, Capacitor/Cordova.225- **Input per Platform**:226227| Platform | Primary Input | Secondary Input |228|----------|--------------|-----------------|229| Desktop | Keyboard + Mouse | Gamepad |230| Mobile | Touch | Gyroscope (optional) |231| Tablet | Touch | Bluetooth gamepad |232233- **Deployment Method** — How the game is built and distributed (static hosting, itch.io, app store via Capacitor, etc.).234235---236237### Section 12 — Monetization & Release Plan (Optional)238239Include this section only if the user wants to discuss business aspects. Mark it optional in the output.240241Include:242- **Business Model** — Free, premium, freemium, ad-supported, or donation-ware.243- **Milestones** — Key dates or phases:244245| Milestone | Target Date | Deliverable |246|-----------|-------------|-------------|247| Prototype | Week 2 | Core loop playable |248| Alpha | Week 6 | All levels blocked out |249| Beta | Week 10 | Feature-complete, playtesting |250| Launch | Week 14 | Polished, deployed |251252- **Distribution** — Where the game will be published (itch.io, GitHub Pages, Steam, app stores).253254---255256### Section 13 — Acceptance Criteria257258Every other section describes intent. This one is the only part a machine can check,259and it is what turns the GDD from a document into a specification.260261Write each criterion so that it is **observable, numeric, and false when the game is262wrong**. "The player should feel powerful" is not a criterion. "A charged attack deals2633× base damage" is.264265Derive criteria directly from Sections 3 (Mechanics), 4 (Progression), and 6266(Entities) — anywhere the design commits to a number, that number is a criterion.267268| Criterion | Observable state | Playtest assertion |269|---|---|---|270| Player jumps 3 tiles (96px) high | `player.y` at apex | `player.y`, `atMost: spawnY - 96` |271| Basic enemy dies in 3 hits | `enemy.active` | press attack ×3, then `enemy.active`, `equals: false` |272| Score persists into GameOver | `registry.get('score')` | transition, then `atLeast: 10` |273| Coyote time is 100ms | jump succeeds after leaving ledge | walk off, wait 80ms, jump → `body.velocity.y < 0` |274| Wave 5 spawns 12 enemies | active enemy count | set wave, then `enemies.countActive(true)`, `equals: 12` |275| Holds 60fps with 50 entities | `game.loop.actualFps` | spawn 50, then `atLeast: 55` |276| Boot reaches menu in under 3s | scene key at t=3s | `game.scene.isActive('MainMenuScene')`, `equals: true` |277278Group criteria under the milestone that must satisfy them:279280```markdown281### Vertical Slice282- [ ] Player spawns at level start and responds to left/right/jump within 1 frame283- [ ] Falling off the map triggers respawn at the last checkpoint within 500ms284- [ ] Collecting a coin increments score by 10 and plays the pickup sound285286### Alpha287- [ ] All 8 levels load without console errors288- [ ] Enemy AI pathfinds around static geometry (no wall-clipping over 30s)289```290291Mark anything genuinely subjective as such rather than inventing a fake metric:292293```markdown294### Human review required (not automatable)295- Difficulty curve across levels 1-8 feels fair to a first-time player296- Art reads clearly against every background297- Audio mix is balanced at 50% volume298```299300Save these to `docs/acceptance-criteria.md` alongside the GDD. The phaser-playtest301skill turns each automatable criterion into a scenario assertion, which is how the302design gets verified rather than merely stated.303304---305306## Post-GDD Workflow307308Once the GDD is finalized, guide the user to the next steps:3093101. **Scaffold the project** — Use `/phaser-new` to generate the base project structure matching the GDD's technical requirements.3112. **Design the architecture** — Use the **phaser-architect** skill/agent to translate the GDD into a technical architecture: scene graph, class hierarchy, data flow, and system decomposition.3123. **Start implementing** — Use the **phaser-coder** skill/agent to begin coding scenes, mechanics, and entities as specified in the GDD.3134. **Verify it runs** — `/phaser-playtest` after each vertical slice. Section 13's automatable acceptance criteria become playtest assertions, which is how the design gets checked rather than merely stated.3145. **Ship it** — `/phaser-release` runs the readiness gate and prepares the store presence.3156. **Iterate on what players say** — `/phaser-feedback` turns their reports into failing playtest scenarios, then fixes, then regression tests.316317If the user arrived here without a sharpened concept — a genre rather than a hook, or a scope that has not been sized against their available time — send them to `/phaser-brainstorm` first. A GDD written around an unscoped idea documents a project that will not finish.318319Remind the user: the GDD is a living document. Update it as the game evolves during development.320321---322323## Output Format324325The generated GDD must be a **single Markdown document** with:326- A top-level `# Game Design Document: [Title]` heading.327- Each of the 13 sections as `## Section N — Name` headings.328- **ASCII diagrams** for all flow charts, wireframes, and level maps (no external image dependencies).329- Tables for structured data (enemies, assets, audio, controls).330- `<!-- ASSUMPTION -->` comments next to any detail the generator inferred rather than received from the user.331332Save the document to `docs/GDD.md` in the project root. If no project directory exists, print the full GDD inline in the chat.