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:

  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.

<template-output>description</template-output>

What platform(s) are you targeting?

Your answer:

<template-output>platforms</template-output>

Who is your target audience?

Consider:

Your answer:

<template-output>target_audience</template-output>

Goal Guidelines based on project level:

<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:

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:

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?

Describe:

<template-output>player_progression</template-output>

Describe the difficulty curve:

<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:

Describe:

<template-output>level_types</template-output>

How do levels progress or unlock?

Describe:

<template-output>level_progression</template-output>

Describe the art style:

Your vision:

<template-output>art_style</template-output>

Describe audio and music direction:

Your vision:

<template-output>audio_music</template-output>

What are the performance requirements?

Consider:

Requirements:

<template-output>performance_requirements</template-output>

Any platform-specific considerations?

Platform details:

<template-output>platform_details</template-output>

What are the key asset requirements?

Asset requirements:

<template-output>asset_requirements</template-output>

Translate game features into development epics

Epic Guidelines based on project level:

<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:

<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:

Your metrics:

<template-output>technical_metrics</template-output>

What gameplay metrics will you track?

Examples:

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:

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:

<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:

  1. This GDD: {{gdd_output_file}}
  2. Project analysis: {{analysis_file}}

The solutioning workflow will:

Complete Next Steps Checklist

Generate comprehensive checklist based on project analysis

Phase 1: Solution Architecture and Engine Selection

Phase 2: Prototype and Playtesting

Phase 3: Asset Production

Phase 4: Development

GDD Complete! 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?

<invoke-workflow>{project-root}/bmad/bmm/workflows/2-plan/narrative/workflow.yaml</invoke-workflow> Pass GDD context to narrative workflow