Files
pig-farm-controller/bmad/bmm/workflows/2-plan-workflows/gdd/instructions-gdd.md
2025-11-01 19:22:39 +08:00

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

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