# 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 Check status of "gdd" workflow in loaded status file ⚠️ GDD already completed: {{gdd status}} Re-running will overwrite the existing GDD. Continue? (y/n) Exiting. Use workflow-status to see your next step. Exit workflow ⚠️ Next expected workflow: {{next_workflow}}. GDD is out of sequence. Continue with GDD anyway? (y/n) Exiting. Run {{next_workflow}} instead. Exit 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 section Check or existing game-brief in output_folder Found existing game brief! Would you like to: 1. Use it as input (recommended - I'll extract key info) 2. 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. 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 DEFINITIONS Parse {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 tag ## Next 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 storytelling This game type ({{game_type}}) benefits from narrative design. Would you like to create a Narrative Design Document now? 1. Yes, create Narrative Design Document (recommended) 2. No, proceed directly to solutioning 3. 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:** 1. This GDD: `{{gdd_output_file}}` 2. 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 ### 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 - [ ] **Sprint planning** - Vertical slices - Milestone planning - Demo/playable builds **✅ GDD Complete, {user_name}!** Next immediate action: 1. Create Narrative Design Document (recommended for {{game_type}}) 2. Start solutioning workflow (engine/architecture) 3. Create prototype build 4. Begin asset production planning 5. Review GDD with team/stakeholders 6. Exit workflow 1. Start solutioning workflow (engine/architecture) 2. Create prototype build 3. Begin asset production planning 4. Review GDD with team/stakeholders 5. 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