18 KiB
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 Communicate all responses in {communication_language} and language MUST be tailored to {user_skill_level} Generate all documents in {document_output_language} 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
DOCUMENT OUTPUT: Concise, clear, actionable game design specs. Use tables/lists over prose. User skill level ({user_skill_level}) affects conversation style ONLY, not document content.
mode: data data_request: project_config **Note: No Workflow Status File Found**The GDD workflow can run standalone or as part of the BMM workflow path.
Recommended: Run workflow-init first for:
- Project context tracking
- Workflow sequencing guidance
- Progress monitoring across workflows
Or continue standalone without progress tracking. Continue in standalone mode or exit to run workflow-init? (continue/exit) Set standalone_mode = true Exit workflow
Store {{status_file_path}} for later updates **Incorrect Workflow for Software Projects**Your project is type: {{project_type}}
Correct workflows for software projects:
- Level 0-1:
tech-spec(Architect agent) - Level 2-4:
prd(PM agent)
{{#if project_level <= 1}}
Use: tech-spec
{{else}}
Use: prd
{{/if}}
Exit and redirect to appropriate workflow
Use {{project_type}} and {{project_level}} from status data
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 sectionCheck 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
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.
description
Guide user to specify target platform(s) for their game, exploring considerations like desktop, mobile, web, console, or multi-platform deployment
platforms
Guide user to define their target audience with specific demographics: age range, gaming experience level (casual/core/hardcore), genre familiarity, and preferred play session lengths
target_audience
Guide user to define project goals appropriate for their level (Level 0-1: 1-2 goals, Level 2: 2-3 goals, Level 3-4: 3-5 strategic goals) - what success looks like for this game
goals
Guide user to provide context on why this game matters now - the motivation and rationale behind the project
context
Guide user to identify the unique selling points (USPs) - what makes this game different from existing games in the market
unique_selling_points
These are game-defining decisions
Guide user to identify 2-4 core game pillars - the fundamental gameplay elements that define their game's experience (e.g., tight controls + challenging combat + rewarding exploration, or strategic depth + replayability + quick sessions)
game_pillars
Guide user to describe the core gameplay loop - what actions the player repeats throughout the game, creating a clear cyclical pattern of player behavior and rewards
gameplay_loop
Guide user to define win and loss conditions - how the player succeeds and fails in the game
win_loss_conditions
Guide user to define the primary game mechanics that players will interact with throughout the game
primary_mechanics {project-root}/bmad/core/tasks/adv-elicit.xml
Guide user to describe their control scheme and input method (keyboard/mouse, gamepad, touchscreen, etc.), including key bindings or button layouts if known
controls
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.
GAME_TYPE_SPECIFIC_SECTIONS
{project-root}/bmad/core/tasks/adv-elicit.xml
Guide user to describe how player progression works in their game - whether through skill improvement, power gains, ability unlocking, narrative advancement, or a combination of approaches
player_progression
Guide user to define the difficulty curve: how challenge increases over time, pacing rhythm (steady/spikes/player-controlled), and any accessibility options planned
difficulty_curve
Ask if the game includes an in-game economy or resource system, and if so, guide user to describe it (skip if not applicable)
economy_resources
Guide user to describe the types of levels/stages in their game (e.g., tutorial, themed biomes, boss arenas, procedural vs. handcrafted, etc.)
level_types
Guide user to explain how levels progress or unlock - whether through linear sequence, hub-based structure, open world exploration, or player-driven choices
level_progression
Guide user to describe their art style vision: visual aesthetic (pixel art, low-poly, realistic, stylized), color palette preferences, and any inspirations or references
art_style
Guide user to describe their audio and music direction: music style/genre, sound effect tone, and how important audio is to the gameplay experience
audio_music
Guide user to define performance requirements: target frame rate, resolution, acceptable load times, and mobile battery considerations if applicable
performance_requirements
Guide user to identify platform-specific considerations (mobile touch controls/screen sizes, PC keyboard/mouse/settings, console controller/certification, web browser compatibility/file size)
platform_details
Guide user to document key asset requirements: art assets (sprites/models/animations), audio assets (music/SFX/voice), estimated counts/sizes, and asset pipeline needs
asset_requirements
Work with user to translate game features into development epics, following level-appropriate guidelines (Level 1: 1 epic/1-10 stories, Level 2: 1-2 epics/5-15 stories, Level 3: 2-5 epics/12-40 stories, Level 4: 5+ epics/40+ stories)
epics {project-root}/bmad/core/tasks/adv-elicit.xml
Load epics_template from workflow.yaml
Create separate epics.md with full story hierarchy
Generate epic overview section with all epics listed
epic_overview
For each epic, generate detailed breakdown with expanded goals, capabilities, and success criteria
For each epic, generate all stories in user story format with prerequisites, acceptance criteria (3-8 per story), and high-level technical notes
epic_{{epic_number}}_details {project-root}/bmad/core/tasks/adv-elicit.xml
Guide user to identify technical metrics they'll track (e.g., frame rate consistency, load times, crash rate, memory usage)
technical_metrics
Guide user to identify gameplay metrics they'll track (e.g., player completion rate, session length, difficulty pain points, feature engagement)
gameplay_metrics
Guide user to document what is explicitly out of scope for this game - features, platforms, or content that won't be included in this version
out_of_scope
Guide user to document key assumptions and dependencies - technical assumptions, team capabilities, third-party dependencies, or external factors the project relies on
assumptions_and_dependencies
Load the FULL file: {output_folder}/bmm-workflow-status.yaml Find workflow_status key "gdd" ONLY write the file path as the status value - no other text, notes, or metadata Update workflow_status["gdd"] = "{output_folder}/bmm-gdd-{{game_name}}-{{date}}.md" Save file, preserving ALL comments and structure including STATUS DEFINITIONSParse {epics_output_file} to extract all stories Populate story_sequence section in status file with story IDs Set each story status to "not-started" Loaded {{total_stories}} stories from epics into story sequence.
Find first non-completed workflow in workflow_status (next workflow to do) Determine next agent from path file based on next workflow Next workflow: {{next_workflow}} ({{next_agent}} agent)
Check if game-type fragment contained narrative tags indicating narrative importance
Set needs_narrative = true Extract narrative importance level from tagNext Steps for {{game_name}}
Inform user that their game type benefits from narrative design, presenting the option to create a Narrative Design Document covering story structure, character arcs, world lore, dialogue framework, and environmental storytellingThis game type ({{game_type}}) benefits from narrative design.
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:
{project-root}/bmad/bmm/workflows/2-plan-workflows/narrative/workflow.yaml 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 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: Architecture and Engine Selection
- Run solutioning workflow (REQUIRED)
- Command:
workflow create-architecture - Input: GDD.md, bmm-workflow-status.md
- Output: architecture.md with engine/platform specifics
- Note: Registry.csv will provide engine-specific guidance
- Command:
Phase 2: Prototype and Playtesting
-
Create core mechanic prototype
- Validate game feel
- Test control responsiveness
- Iterate on game pillars
-
Playtest early and often
- Internal testing
- External playtesting
- Feedback integration
Phase 3: Asset Production
-
Create asset pipeline
- Art style guides
- Technical constraints
- Asset naming conventions
-
Audio integration
- Music composition/licensing
- SFX creation
- Audio middleware setup
Phase 4: Development
-
Generate detailed user stories
- Command:
workflow generate-stories - Input: GDD.md + architecture.md
- Command:
-
Sprint planning
- Vertical slices
- Milestone planning
- Demo/playable builds
✅ GDD Complete, {user_name}!
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?
{project-root}/bmad/bmm/workflows/2-plan-workflows/narrative/workflow.yaml Pass GDD context to narrative workflow