GDD Workflow - Game Projects (All Levels)
The workflow execution engine is governed by: {project_root}/bmad/core/tasks/workflow.xml
You MUST have already loaded and processed: {installed_path}/workflow.yaml
This is the GDD instruction set for GAME projects - replaces PRD with Game Design Document
Project analysis already completed - proceeding with game-specific design
Uses gdd_template for GDD output, game_types.csv for type-specific sections
Routes to 3-solutioning for architecture (platform-specific decisions handled there)
If users mention technical details, append to technical_preferences with timestamp
Load bmm-workflow-status.md
Confirm project_type == “game”
Load existing GDD.md and check completion status
Found existing work. Would you like to:
1. Review what’s done and continue
2. Modify existing sections
3. Start fresh
If continuing, skip to first incomplete section
Check or existing game-brief in output_folder
Found existing game brief! Would you like to:
- Use it as input (recommended - I’ll extract key info)
- Ignore it and start fresh
Load and analyze game-brief document
Extract: game_name, core_concept, target_audience, platforms, game_pillars, primary_mechanics
Pre-fill relevant GDD sections with game-brief content
Note which sections were pre-filled from brief
Describe your game. What is it about? What does the player do? What is the Genre or type?
Analyze description to determine game type
Map to closest game_types.csv id or use “custom”
Use game concept from brief to determine game type
I’ve identified this as a {{game_type}} game. Is that correct?
If not, briefly describe what type it should be:
Map selection to game_types.csv id
Load corresponding fragment file from game-types/ folder
Store game_type for later injection
Load gdd_template from workflow.yaml
Get core game concept and vision.
<template-output>description</template-output>
What platform(s) are you targeting?
- Desktop (Windows/Mac/Linux)
- Mobile (iOS/Android)
- Web (Browser-based)
- Console (which consoles?)
- Multiple platforms
Your answer:
<template-output>platforms</template-output>
Who is your target audience?
Consider:
- Age range
- Gaming experience level (casual, core, hardcore)
- Genre familiarity
- Play session length preferences
Your answer:
<template-output>target_audience</template-output>
Goal Guidelines based on project level:
- Level 0-1: 1-2 primary goals
- Level 2: 2-3 primary goals
- Level 3-4: 3-5 strategic goals
<template-output>goals</template-output>
Brief context on why this game matters now.
<template-output>context</template-output>
These are game-defining decisions
What are the core game pillars (2-4 fundamental gameplay elements)?
Examples:
- Tight controls + challenging combat + rewarding exploration
- Strategic depth + replayability + quick sessions
- Narrative + atmosphere + player agency
Your game pillars:
<template-output>game_pillars</template-output>
Describe the core gameplay loop (what the player does repeatedly):
Example: “Player explores level → encounters enemies → defeats enemies with abilities → collects resources → upgrades abilities → explores deeper”
Your gameplay loop:
<template-output>gameplay_loop</template-output>
How does the player win? How do they lose?
<template-output>win_loss_conditions</template-output>
Define the primary game mechanics.
<template-output>primary_mechanics</template-output>
<invoke-task halt=“true”>{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
Describe the control scheme and input method:
- Keyboard + Mouse
- Gamepad
- Touch screen
- Other
Include key bindings or button layouts if known.
<template-output>controls</template-output>
Load game-type fragment from: {installed_path}/gdd/game-types/{{game_type}}.md
Process each section in the fragment template
For each {{placeholder}} in the fragment, elicit and capture that information.
<template-output file=“GDD.md”>GAME_TYPE_SPECIFIC_SECTIONS</template-output>
<invoke-task halt=“true”>{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
How does player progression work?
- Skill-based (player gets better)
- Power-based (character gets stronger)
- Unlock-based (new abilities/areas)
- Narrative-based (story progression)
- Combination
Describe:
<template-output>player_progression</template-output>
Describe the difficulty curve:
- How does difficulty increase?
- Pacing (steady, spikes, player-controlled?)
- Accessibility options?
<template-output>difficulty_curve</template-output>
Is there an in-game economy or resource system?
Skip if not applicable.
<template-output>economy_resources</template-output>
What types of levels/stages does your game have?
Examples:
- Tutorial, early levels, mid-game, late-game, boss arenas
- Biomes/themes
- Procedural vs. handcrafted
Describe:
<template-output>level_types</template-output>
How do levels progress or unlock?
- Linear sequence
- Hub-based
- Open world
- Player choice
Describe:
<template-output>level_progression</template-output>
Describe the art style:
- Visual aesthetic (pixel art, low-poly, realistic, stylized, etc.)
- Color palette
- Inspirations or references
Your vision:
<template-output>art_style</template-output>
Describe audio and music direction:
- Music style/genre
- Sound effect tone
- Audio importance to gameplay
Your vision:
<template-output>audio_music</template-output>
What are the performance requirements?
Consider:
- Target frame rate
- Resolution
- Load times
- Battery life (mobile)
Requirements:
<template-output>performance_requirements</template-output>
Any platform-specific considerations?
- Mobile: Touch controls, screen sizes
- PC: Keyboard/mouse, settings
- Console: Controller, certification
- Web: Browser compatibility, file size
Platform details:
<template-output>platform_details</template-output>
What are the key asset requirements?
- Art assets (sprites, models, animations)
- Audio assets (music, SFX, voice)
- Estimated asset counts/sizes
- Asset pipeline needs
Asset requirements:
<template-output>asset_requirements</template-output>
Translate game features into development epics
Epic Guidelines based on project level:
- Level 1: 1 epic with 1-10 stories
- Level 2: 1-2 epics with 5-15 stories total
- Level 3: 2-5 epics with 12-40 stories
- Level 4: 5+ epics with 40+ stories
<template-output>epics</template-output>
<invoke-task halt=“true”>{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
Load epics_template from workflow.yaml
Create separate epics.md with full story hierarchy
<template-output file=“epics.md”>epic_overview</template-output>
<for-each epic=“epic_list”>
Generate Epic {{epic_number}} with expanded goals, capabilities, success criteria.
Generate all stories with:
- User story format
- Prerequisites
- Acceptance criteria (3-8 per story)
- Technical notes (high-level only)
<template-output file=“epics.md”>epic_{{epic_number}}_details</template-output>
<invoke-task halt=“true”>{project-root}/bmad/core/tasks/adv-elicit.xml</invoke-task>
</for-each>
What technical metrics will you track?
Examples:
- Frame rate consistency
- Load times
- Crash rate
- Memory usage
Your metrics:
<template-output>technical_metrics</template-output>
What gameplay metrics will you track?
Examples:
- Player completion rate
- Average session length
- Difficulty pain points
- Feature engagement
Your metrics:
<template-output>gameplay_metrics</template-output>
<template-output>out_of_scope</template-output>
<template-output>assumptions_and_dependencies</template-output>
Check if game-type fragment contained narrative tags
Next Steps for {{game_name}}
This game type ({{game_type}}) is {{narrative_importance}} for narrative.
Your game would benefit from a Narrative Design Document to detail:
- Story structure and beats
- Character profiles and arcs
- World lore and history
- Dialogue framework
- Environmental storytelling
Would you like to create a Narrative Design Document now?
- Yes, create Narrative Design Document (recommended)
- No, proceed directly to solutioning
- Skip for now, I’ll do it later
Your choice:
<invoke-workflow>{project-root}/bmad/bmm/workflows/2-plan/narrative/workflow.yaml</invoke-workflow>
Pass GDD context to narrative workflow
Exit current workflow (narrative will hand off to solutioning when done)
Since this is a Level {{project_level}} game project, you need solutioning for platform/engine architecture.
Start new chat with solutioning workflow and provide:
- This GDD:
{{gdd_output_file}}
- Project analysis:
{{analysis_file}}
The solutioning workflow will:
- Determine game engine/platform (Unity, Godot, Phaser, custom, etc.)
- Generate solution-architecture.md with engine-specific decisions
- Create per-epic tech specs
- Handle platform-specific architecture (from registry.csv game-* entries)
Complete Next Steps Checklist
Generate comprehensive checklist based on project analysis
Phase 1: Solution Architecture and Engine Selection
- [ ] Run solutioning workflow (REQUIRED)
- Command:
workflow solution-architecture
- Input: GDD.md, bmm-workflow-status.md
- Output: solution-architecture.md with engine/platform specifics
- Note: Registry.csv will provide engine-specific guidance
Phase 2: Prototype and Playtesting
Phase 3: Asset Production
Phase 4: Development
GDD Complete! Next immediate action:
- Create Narrative Design Document (recommended for {{game_type}})
- Start solutioning workflow (engine/architecture)
- Create prototype build
- Begin asset production planning
- Review GDD with team/stakeholders
- Exit workflow
- Start solutioning workflow (engine/architecture)
- Create prototype build
- Begin asset production planning
- Review GDD with team/stakeholders
- Exit workflow
Which would you like to proceed with?
<invoke-workflow>{project-root}/bmad/bmm/workflows/2-plan/narrative/workflow.yaml</invoke-workflow>
Pass GDD context to narrative workflow