hash file change checking integrated
This commit is contained in:
@@ -1,480 +0,0 @@
|
||||
# GDD Workflow - Game Projects (All Levels)
|
||||
|
||||
<workflow>
|
||||
|
||||
<critical>The workflow execution engine is governed by: {project_root}/bmad/core/tasks/workflow.md</critical>
|
||||
<critical>You MUST have already loaded and processed: {installed_path}/workflow.yaml</critical>
|
||||
<critical>This is the GDD instruction set for GAME projects - replaces PRD with Game Design Document</critical>
|
||||
<critical>Project analysis already completed - proceeding with game-specific design</critical>
|
||||
<critical>Uses gdd_template for GDD output, game_types.csv for type-specific sections</critical>
|
||||
<critical>Routes to 3-solutioning for architecture (platform-specific decisions handled there)</critical>
|
||||
<critical>If users mention technical details, append to technical_preferences with timestamp</critical>
|
||||
|
||||
<step n="1" goal="Load context and determine game type">
|
||||
|
||||
<action>Load project-workflow-analysis.md</action>
|
||||
<action>Confirm project_type == "game"</action>
|
||||
|
||||
<check>If continuation_mode == true:</check>
|
||||
<action>Load existing GDD.md and check completion status</action>
|
||||
<ask>Found existing work. Would you like to:
|
||||
|
||||
1. Review what's done and continue
|
||||
2. Modify existing sections
|
||||
3. Start fresh
|
||||
</ask>
|
||||
<action>If continuing, skip to first incomplete section</action>
|
||||
|
||||
<check>If new or starting fresh:</check>
|
||||
Check `output_folder` for existing game docs.
|
||||
|
||||
<action>Check for existing game-brief in output_folder</action>
|
||||
|
||||
<check>If game-brief exists:</check>
|
||||
<ask>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
|
||||
|
||||
Your choice:</ask>
|
||||
|
||||
<check>If using game-brief:</check>
|
||||
<action>Load and analyze game-brief document</action>
|
||||
<action>Extract: game_name, core_concept, target_audience, platforms, game_pillars, primary_mechanics</action>
|
||||
<action>Pre-fill relevant GDD sections with game-brief content</action>
|
||||
<action>Note which sections were pre-filled from brief</action>
|
||||
|
||||
<ask>What type of game are you designing?
|
||||
|
||||
**Common Game Types:**
|
||||
|
||||
1. Action Platformer (e.g., Celeste, Hollow Knight)
|
||||
2. RPG (e.g., Stardew Valley, Undertale)
|
||||
3. Puzzle (e.g., Portal, The Witness)
|
||||
4. Roguelike (e.g., Hades, Dead Cells)
|
||||
5. Shooter (e.g., DOOM, Enter the Gungeon)
|
||||
6. Strategy (e.g., Into the Breach, Slay the Spire)
|
||||
7. Adventure (e.g., Firewatch, What Remains of Edith Finch)
|
||||
8. Simulation (e.g., Factorio, Rimworld)
|
||||
9. Other (I'll ask follow-up questions)
|
||||
|
||||
Select a number or describe your game type:</ask>
|
||||
|
||||
<action>Map selection to game_types.csv id</action>
|
||||
<action>Load corresponding fragment file from game-types/ folder</action>
|
||||
<action>Store game_type for later injection</action>
|
||||
|
||||
<action>Load gdd_template from workflow.yaml</action>
|
||||
|
||||
Get core game concept and vision.
|
||||
|
||||
<template-output>description</template-output>
|
||||
|
||||
</step>
|
||||
|
||||
<step n="2" goal="Define platforms and target audience">
|
||||
|
||||
<ask>What platform(s) are you targeting?
|
||||
|
||||
- Desktop (Windows/Mac/Linux)
|
||||
- Mobile (iOS/Android)
|
||||
- Web (Browser-based)
|
||||
- Console (which consoles?)
|
||||
- Multiple platforms
|
||||
|
||||
Your answer:</ask>
|
||||
|
||||
<template-output>platforms</template-output>
|
||||
|
||||
<ask>Who is your target audience?
|
||||
|
||||
Consider:
|
||||
|
||||
- Age range
|
||||
- Gaming experience level (casual, core, hardcore)
|
||||
- Genre familiarity
|
||||
- Play session length preferences
|
||||
|
||||
Your answer:</ask>
|
||||
|
||||
<template-output>target_audience</template-output>
|
||||
|
||||
</step>
|
||||
|
||||
<step n="3" goal="Define goals and context">
|
||||
|
||||
**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>
|
||||
|
||||
</step>
|
||||
|
||||
<step n="4" goal="Core gameplay definition">
|
||||
|
||||
<critical>These are game-defining decisions</critical>
|
||||
|
||||
<ask>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:</ask>
|
||||
|
||||
<template-output>game_pillars</template-output>
|
||||
|
||||
<ask>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:</ask>
|
||||
|
||||
<template-output>gameplay_loop</template-output>
|
||||
|
||||
<ask>How does the player win? How do they lose?</ask>
|
||||
|
||||
<template-output>win_loss_conditions</template-output>
|
||||
|
||||
</step>
|
||||
|
||||
<step n="5" goal="Game mechanics and controls">
|
||||
|
||||
Define the primary game mechanics.
|
||||
|
||||
<template-output>primary_mechanics</template-output>
|
||||
<elicit-required/>
|
||||
|
||||
<ask>Describe the control scheme and input method:
|
||||
|
||||
- Keyboard + Mouse
|
||||
- Gamepad
|
||||
- Touch screen
|
||||
- Other
|
||||
|
||||
Include key bindings or button layouts if known.</ask>
|
||||
|
||||
<template-output>controls</template-output>
|
||||
|
||||
</step>
|
||||
|
||||
<step n="6" goal="Inject game-type-specific sections">
|
||||
|
||||
<action>Load game-type fragment from: {installed_path}/gdd/game-types/{{game_type}}.md</action>
|
||||
|
||||
<critical>Process each section in the fragment template</critical>
|
||||
|
||||
For each {{placeholder}} in the fragment, elicit and capture that information.
|
||||
|
||||
<template-output file="GDD.md">GAME_TYPE_SPECIFIC_SECTIONS</template-output>
|
||||
|
||||
<elicit-required/>
|
||||
|
||||
</step>
|
||||
|
||||
<step n="7" goal="Progression and balance">
|
||||
|
||||
<ask>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:</ask>
|
||||
|
||||
<template-output>player_progression</template-output>
|
||||
|
||||
<ask>Describe the difficulty curve:
|
||||
|
||||
- How does difficulty increase?
|
||||
- Pacing (steady, spikes, player-controlled?)
|
||||
- Accessibility options?</ask>
|
||||
|
||||
<template-output>difficulty_curve</template-output>
|
||||
|
||||
<ask optional="true">Is there an in-game economy or resource system?
|
||||
|
||||
Skip if not applicable.</ask>
|
||||
|
||||
<template-output>economy_resources</template-output>
|
||||
|
||||
</step>
|
||||
|
||||
<step n="8" goal="Level design framework">
|
||||
|
||||
<ask>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:</ask>
|
||||
|
||||
<template-output>level_types</template-output>
|
||||
|
||||
<ask>How do levels progress or unlock?
|
||||
|
||||
- Linear sequence
|
||||
- Hub-based
|
||||
- Open world
|
||||
- Player choice
|
||||
|
||||
Describe:</ask>
|
||||
|
||||
<template-output>level_progression</template-output>
|
||||
|
||||
</step>
|
||||
|
||||
<step n="9" goal="Art and audio direction">
|
||||
|
||||
<ask>Describe the art style:
|
||||
|
||||
- Visual aesthetic (pixel art, low-poly, realistic, stylized, etc.)
|
||||
- Color palette
|
||||
- Inspirations or references
|
||||
|
||||
Your vision:</ask>
|
||||
|
||||
<template-output>art_style</template-output>
|
||||
|
||||
<ask>Describe audio and music direction:
|
||||
|
||||
- Music style/genre
|
||||
- Sound effect tone
|
||||
- Audio importance to gameplay
|
||||
|
||||
Your vision:</ask>
|
||||
|
||||
<template-output>audio_music</template-output>
|
||||
|
||||
</step>
|
||||
|
||||
<step n="10" goal="Technical specifications">
|
||||
|
||||
<ask>What are the performance requirements?
|
||||
|
||||
Consider:
|
||||
|
||||
- Target frame rate
|
||||
- Resolution
|
||||
- Load times
|
||||
- Battery life (mobile)
|
||||
|
||||
Requirements:</ask>
|
||||
|
||||
<template-output>performance_requirements</template-output>
|
||||
|
||||
<ask>Any platform-specific considerations?
|
||||
|
||||
- Mobile: Touch controls, screen sizes
|
||||
- PC: Keyboard/mouse, settings
|
||||
- Console: Controller, certification
|
||||
- Web: Browser compatibility, file size
|
||||
|
||||
Platform details:</ask>
|
||||
|
||||
<template-output>platform_details</template-output>
|
||||
|
||||
<ask>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:</ask>
|
||||
|
||||
<template-output>asset_requirements</template-output>
|
||||
|
||||
</step>
|
||||
|
||||
<step n="11" goal="Epic structure">
|
||||
|
||||
<action>Translate game features into development epics</action>
|
||||
|
||||
**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>
|
||||
<elicit-required/>
|
||||
|
||||
</step>
|
||||
|
||||
<step n="12" goal="Success metrics">
|
||||
|
||||
<ask>What technical metrics will you track?
|
||||
|
||||
Examples:
|
||||
|
||||
- Frame rate consistency
|
||||
- Load times
|
||||
- Crash rate
|
||||
- Memory usage
|
||||
|
||||
Your metrics:</ask>
|
||||
|
||||
<template-output>technical_metrics</template-output>
|
||||
|
||||
<ask>What gameplay metrics will you track?
|
||||
|
||||
Examples:
|
||||
|
||||
- Player completion rate
|
||||
- Average session length
|
||||
- Difficulty pain points
|
||||
- Feature engagement
|
||||
|
||||
Your metrics:</ask>
|
||||
|
||||
<template-output>gameplay_metrics</template-output>
|
||||
|
||||
</step>
|
||||
|
||||
<step n="13" goal="Document out of scope and assumptions">
|
||||
|
||||
<template-output>out_of_scope</template-output>
|
||||
|
||||
<template-output>assumptions_and_dependencies</template-output>
|
||||
|
||||
</step>
|
||||
|
||||
<step n="14" goal="Generate solutioning handoff and next steps">
|
||||
|
||||
<action>Check if game-type fragment contained narrative tags</action>
|
||||
|
||||
<check>If fragment had <narrative-workflow-critical> or <narrative-workflow-recommended>:</check>
|
||||
<action>Set needs_narrative = true</action>
|
||||
<action>Extract narrative importance level from tag</action>
|
||||
|
||||
## Next Steps for {{game_name}}
|
||||
|
||||
<check>If needs_narrative == true:</check>
|
||||
<ask>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?
|
||||
|
||||
1. Yes, create Narrative Design Document (recommended)
|
||||
2. No, proceed directly to solutioning
|
||||
3. Skip for now, I'll do it later
|
||||
|
||||
Your choice:</ask>
|
||||
|
||||
<check>If user selects option 1:</check>
|
||||
<action>LOAD: {installed_path}/narrative/instructions-narrative.md</action>
|
||||
<action>Pass GDD context to narrative workflow</action>
|
||||
<action>Exit current workflow (narrative will hand off to solutioning when done)</action>
|
||||
|
||||
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 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
|
||||
|
||||
<action>Generate comprehensive checklist based on project analysis</action>
|
||||
|
||||
### Phase 1: Solution Architecture and Engine Selection
|
||||
|
||||
- [ ] **Run solutioning workflow** (REQUIRED)
|
||||
- Command: `workflow solution-architecture`
|
||||
- Input: GDD.md, project-workflow-analysis.md
|
||||
- Output: solution-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 + solution-architecture.md
|
||||
|
||||
- [ ] **Sprint planning**
|
||||
- Vertical slices
|
||||
- Milestone planning
|
||||
- Demo/playable builds
|
||||
|
||||
<ask>GDD Complete! Next immediate action:
|
||||
|
||||
<check>If needs_narrative == true:</check>
|
||||
|
||||
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
|
||||
|
||||
<check>Else:</check>
|
||||
|
||||
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?</ask>
|
||||
|
||||
<check>If user selects narrative option:</check>
|
||||
<action>LOAD: {installed_path}/narrative/instructions-narrative.md</action>
|
||||
<action>Pass GDD context to narrative workflow</action>
|
||||
|
||||
</step>
|
||||
|
||||
</workflow>
|
||||
Reference in New Issue
Block a user