mirror of
https://github.com/R0m1k3/xtremflow.git
synced 2026-10-21 05:58:05 +02:00
feat: security overhaul (proxy ssrf fix, streaming sanitization, docker optimization)
This commit is contained in:
1 parent
6d87ada2b8
commit
8df9a37baa
810 files changed
+131090
-151
No files matched your search
@@ -0,0 +1,26 @@
|
||||
category,technique_name,description,facilitation_prompts,best_for,energy_level,typical_duration
|
||||
game_design,MDA Framework Exploration,Explore game concepts through Mechanics-Dynamics-Aesthetics lens to ensure cohesive design from implementation to player experience,What mechanics create the core loop?|What dynamics emerge from these mechanics?|What aesthetic experience results?|How do they align?,holistic-design,moderate,20-30
|
||||
game_design,Core Loop Brainstorming,Design the fundamental moment-to-moment gameplay loop that players repeat - the heartbeat of your game,What does the player do?|What's the immediate reward?|Why do it again?|How does it evolve?,gameplay-foundation,high,15-25
|
||||
game_design,Player Fantasy Mining,Identify and amplify the core fantasy that players want to embody - what makes them feel powerful and engaged,What fantasy does the player live?|What makes them feel awesome?|What power do they wield?|What identity do they assume?,player-motivation,high,15-20
|
||||
game_design,Genre Mashup,Combine unexpected game genres to create innovative hybrid experiences that offer fresh gameplay,Take two unrelated genres|How do they merge?|What unique gameplay emerges?|What's the hook?,innovation,high,15-20
|
||||
game_design,Verbs Before Nouns,Focus on what players DO before what things ARE - prioritize actions over objects for engaging gameplay,What verbs define your game?|What actions feel good?|Build mechanics from verbs|Nouns support actions,mechanics-first,moderate,20-25
|
||||
game_design,Failure State Design,Work backwards from interesting failure conditions to create tension and meaningful choices,How can players fail interestingly?|What makes failure feel fair?|How does failure teach?|Recovery mechanics?,challenge-design,moderate,15-20
|
||||
game_design,Progression Curve Sculpting,Map the player's emotional and skill journey from tutorial to mastery - pace challenge and revelation,How does difficulty evolve?|When do we introduce concepts?|What's the skill ceiling?|How do we maintain flow?,pacing-balance,moderate,25-30
|
||||
game_design,Emergence Engineering,Design simple rule interactions that create complex unexpected player-driven outcomes,What simple rules combine?|What emerges from interactions?|How do players surprise you?|Systemic possibilities?,depth-complexity,moderate,20-25
|
||||
game_design,Accessibility Layers,Brainstorm how different skill levels and abilities can access your core experience meaningfully,Who might struggle with what?|What alternate inputs exist?|How do we preserve challenge?|Inclusive design options?,inclusive-design,moderate,20-25
|
||||
game_design,Reward Schedule Architecture,Design the timing and type of rewards to maintain player motivation and engagement,What rewards when?|Variable or fixed schedule?|Intrinsic vs extrinsic rewards?|Progression satisfaction?,engagement-retention,moderate,20-30
|
||||
narrative_game,Ludonarrative Harmony,Align story and gameplay so mechanics reinforce narrative themes - make meaning through play,What does gameplay express?|How do mechanics tell story?|Where do they conflict?|How to unify theme?,storytelling,moderate,20-25
|
||||
narrative_game,Environmental Storytelling,Use world design and ambient details to convey narrative without explicit exposition,What does the space communicate?|What happened here before?|Visual narrative clues?|Show don't tell?,world-building,moderate,15-20
|
||||
narrative_game,Player Agency Moments,Identify key decision points where player choice shapes narrative in meaningful ways,What choices matter?|How do consequences manifest?|Branch vs flavor choices?|Meaningful agency where?,player-choice,moderate,20-25
|
||||
narrative_game,Emotion Targeting,Design specific moments intended to evoke targeted emotional responses through integrated design,What emotion when?|How do all elements combine?|Music + mechanics + narrative?|Orchestrated feelings?,emotional-design,high,20-30
|
||||
systems_game,Economy Balancing Thought Experiments,Explore resource generation/consumption balance to prevent game-breaking exploits,What resources exist?|Generation vs consumption rates?|What loops emerge?|Where's the exploit?,economy-design,moderate,25-30
|
||||
systems_game,Meta-Game Layer Design,Brainstorm progression systems that persist beyond individual play sessions,What carries over between sessions?|Long-term goals?|How does meta feed core loop?|Retention hooks?,retention-systems,moderate,20-25
|
||||
multiplayer_game,Social Dynamics Mapping,Anticipate how players will interact and design mechanics that support desired social behaviors,How will players cooperate?|Competitive dynamics?|Toxic behavior prevention?|Positive interaction rewards?,social-design,moderate,20-30
|
||||
multiplayer_game,Spectator Experience Design,Consider how watching others play can be entertaining - esports and streaming potential,What's fun to watch?|Readable visual clarity?|Highlight moments?|Narrative for observers?,spectator-value,moderate,15-20
|
||||
creative_game,Constraint-Based Creativity,Embrace a specific limitation as your core design constraint and build everything around it,Pick a severe constraint|What if this was your ONLY mechanic?|Build a full game from limitation|Constraint as creativity catalyst,innovation,moderate,15-25
|
||||
creative_game,Game Feel Playground,Focus purely on how controls and feedback FEEL before worrying about context or goals,What feels juicy to do?|Controller response?|Visual/audio feedback?|Satisfying micro-interactions?,game-feel,high,20-30
|
||||
creative_game,One Button Game Challenge,Design interesting gameplay using only a single input - forces elegant simplicity,Only one button - what can it do?|Context changes meaning?|Timing variations?|Depth from simplicity?,minimalist-design,moderate,15-20
|
||||
wild_game,Remix an Existing Game,Take a well-known game and twist one core element - what new experience emerges?,Pick a famous game|Change ONE fundamental rule|What ripples from that change?|New game from mutation?,rapid-prototyping,high,10-15
|
||||
wild_game,Anti-Game Design,Design a game that deliberately breaks common conventions - subvert player expectations,What if we broke this rule?|Expectation subversion?|Anti-patterns as features?|Avant-garde possibilities?,experimental,moderate,15-20
|
||||
wild_game,Physics Playground,Start with an interesting physics interaction and build a game around that sensation,What physics are fun to play with?|Build game from physics toy|Emergent physics gameplay?|Sensation first?,prototype-first,high,15-25
|
||||
wild_game,Toy Before Game,Create a playful interactive toy with no goals first - then discover the game within it,What's fun to mess with?|No goals yet - just play|What game emerges organically?|Toy to game evolution?,discovery-design,high,20-30
|
||||
|
@@ -0,0 +1,115 @@
|
||||
# Game Brainstorming Context
|
||||
|
||||
This context guide provides game-specific considerations for brainstorming sessions focused on game design and development.
|
||||
|
||||
## Session Focus Areas
|
||||
|
||||
When brainstorming for games, consider exploring:
|
||||
|
||||
- **Core Gameplay Loop** - What players do moment-to-moment
|
||||
- **Player Fantasy** - What identity/power fantasy does the game fulfill?
|
||||
- **Game Mechanics** - Rules and interactions that define play
|
||||
- **Game Dynamics** - Emergent behaviors from mechanic interactions
|
||||
- **Aesthetic Experience** - Emotional responses and feelings evoked
|
||||
- **Progression Systems** - How players grow and unlock content
|
||||
- **Challenge and Difficulty** - How to create engaging difficulty curves
|
||||
- **Social/Multiplayer Features** - How players interact with each other
|
||||
- **Narrative and World** - Story, setting, and environmental storytelling
|
||||
- **Art Direction and Feel** - Visual style and game feel
|
||||
- **Monetization** - Business model and revenue approach (if applicable)
|
||||
|
||||
## Game Design Frameworks
|
||||
|
||||
### MDA Framework
|
||||
|
||||
- **Mechanics** - Rules and systems (what's in the code)
|
||||
- **Dynamics** - Runtime behavior (how mechanics interact)
|
||||
- **Aesthetics** - Emotional responses (what players feel)
|
||||
|
||||
### Player Motivation (Bartle's Taxonomy)
|
||||
|
||||
- **Achievers** - Goal completion and progression
|
||||
- **Explorers** - Discovery and understanding systems
|
||||
- **Socializers** - Interaction and relationships
|
||||
- **Killers** - Competition and dominance
|
||||
|
||||
### Core Experience Questions
|
||||
|
||||
- What does the player DO? (Verbs first, nouns second)
|
||||
- What makes them feel powerful/competent/awesome?
|
||||
- What's the central tension or challenge?
|
||||
- What's the "one more turn" factor?
|
||||
|
||||
## Recommended Brainstorming Techniques
|
||||
|
||||
### Game Design Specific Techniques
|
||||
|
||||
(These are available as additional techniques in game brainstorming sessions)
|
||||
|
||||
- **MDA Framework Exploration** - Design through mechanics-dynamics-aesthetics
|
||||
- **Core Loop Brainstorming** - Define the heartbeat of gameplay
|
||||
- **Player Fantasy Mining** - Identify and amplify player power fantasies
|
||||
- **Genre Mashup** - Combine unexpected genres for innovation
|
||||
- **Verbs Before Nouns** - Focus on actions before objects
|
||||
- **Failure State Design** - Work backwards from interesting failures
|
||||
- **Ludonarrative Harmony** - Align story and gameplay
|
||||
- **Game Feel Playground** - Focus purely on how controls feel
|
||||
|
||||
### Standard Techniques Well-Suited for Games
|
||||
|
||||
- **SCAMPER Method** - Innovate on existing game mechanics
|
||||
- **What If Scenarios** - Explore radical gameplay possibilities
|
||||
- **First Principles Thinking** - Rebuild game concepts from scratch
|
||||
- **Role Playing** - Generate ideas from player perspectives
|
||||
- **Analogical Thinking** - Find inspiration from other games/media
|
||||
- **Constraint-Based Creativity** - Design around limitations
|
||||
- **Morphological Analysis** - Explore mechanic combinations
|
||||
|
||||
## Output Guidance
|
||||
|
||||
Effective game brainstorming sessions should capture:
|
||||
|
||||
1. **Core Concept** - High-level game vision and hook
|
||||
2. **Key Mechanics** - Primary gameplay verbs and interactions
|
||||
3. **Player Experience** - What it feels like to play
|
||||
4. **Unique Elements** - What makes this game special/different
|
||||
5. **Design Challenges** - Obstacles to solve during development
|
||||
6. **Prototype Ideas** - What to test first
|
||||
7. **Reference Games** - Existing games that inspire or inform
|
||||
8. **Open Questions** - What needs further exploration
|
||||
|
||||
## Integration with Game Development Workflow
|
||||
|
||||
Game brainstorming sessions typically feed into:
|
||||
|
||||
- **Game Briefs** - High-level vision and core pillars
|
||||
- **Game Design Documents (GDD)** - Comprehensive design specifications
|
||||
- **Technical Design Docs** - Architecture for game systems
|
||||
- **Prototype Plans** - What to build to validate concepts
|
||||
- **Art Direction Documents** - Visual style and feel guides
|
||||
|
||||
## Special Considerations for Game Design
|
||||
|
||||
### Start With The Feel
|
||||
|
||||
- How should controls feel? Responsive? Weighty? Floaty?
|
||||
- What's the "game feel" - the juice and feedback?
|
||||
- Can we prototype the core interaction quickly?
|
||||
|
||||
### Think in Systems
|
||||
|
||||
- How do mechanics interact?
|
||||
- What emergent behaviors arise?
|
||||
- Are there dominant strategies or exploits?
|
||||
|
||||
### Design for Failure
|
||||
|
||||
- How do players fail?
|
||||
- Is failure interesting and instructive?
|
||||
- What's the cost of failure?
|
||||
|
||||
### Player Agency vs. Authored Experience
|
||||
|
||||
- Where do players have meaningful choices?
|
||||
- Where is the experience authored/scripted?
|
||||
- How do we balance freedom and guidance?
|
||||
@@ -0,0 +1,130 @@
|
||||
<critical>The workflow execution engine is governed by: {project_root}/_bmad/core/tasks/workflow.xml</critical>
|
||||
<critical>You MUST have already loaded and processed: {installed_path}/workflow.yaml</critical>
|
||||
<critical>Communicate all responses in {communication_language}</critical>
|
||||
<critical>This is a meta-workflow that orchestrates the CIS brainstorming workflow with game-specific context and additional game design techniques</critical>
|
||||
<critical>⚠️ ABSOLUTELY NO TIME ESTIMATES - NEVER mention hours, days, weeks, months, or ANY time-based predictions. AI has fundamentally changed development speed - what once took teams weeks/months can now be done by one person in hours. DO NOT give ANY time estimates whatsoever.</critical>
|
||||
<critical>⚠️ CHECKPOINT PROTOCOL: After EVERY <template-output> tag, you MUST follow workflow.xml substep 2c: SAVE content to file immediately → SHOW checkpoint separator (━━━━━━━━━━━━━━━━━━━━━━━) → DISPLAY generated content → PRESENT options [a]Advanced Elicitation/[c]Continue/[p]Party-Mode/[y]YOLO → WAIT for user response. Never batch saves or skip checkpoints.</critical>
|
||||
|
||||
<workflow>
|
||||
|
||||
<step n="1" goal="Validate workflow readiness" tag="workflow-status">
|
||||
<action>Check if {output_folder}/bmgd-workflow-status.yaml exists</action>
|
||||
|
||||
<check if="status file not found">
|
||||
<output>No workflow status file found. Game brainstorming is optional - you can continue without status tracking.</output>
|
||||
<action>Set standalone_mode = true</action>
|
||||
</check>
|
||||
|
||||
<check if="status file found">
|
||||
<action>Load the FULL file: {output_folder}/bmgd-workflow-status.yaml</action>
|
||||
<action>Parse workflow_status section</action>
|
||||
<action>Check status of "brainstorm-game" workflow</action>
|
||||
<action>Get project_level from YAML metadata</action>
|
||||
<action>Find first non-completed workflow (next expected workflow)</action>
|
||||
|
||||
<check if="project_type != 'game'">
|
||||
<output>Note: This is a {{project_type}} project. Game brainstorming is designed for game projects.</output>
|
||||
<ask>Continue with game brainstorming anyway? (y/n)</ask>
|
||||
<check if="n">
|
||||
<action>Exit workflow</action>
|
||||
</check>
|
||||
</check>
|
||||
|
||||
<check if="brainstorm-game status is file path (already completed)">
|
||||
<output>⚠️ Game brainstorming session already completed: {{brainstorm-game status}}</output>
|
||||
<ask>Re-running will create a new session. Continue? (y/n)</ask>
|
||||
<check if="n">
|
||||
<output>Exiting. Use workflow-status to see your next step.</output>
|
||||
<action>Exit workflow</action>
|
||||
</check>
|
||||
</check>
|
||||
|
||||
<check if="brainstorm-game is not the next expected workflow (latter items are completed already in the list)">
|
||||
<output>⚠️ Next expected workflow: {{next_workflow}}. Game brainstorming is out of sequence.</output>
|
||||
<ask>Continue with game brainstorming anyway? (y/n)</ask>
|
||||
<check if="n">
|
||||
<output>Exiting. Run {{next_workflow}} instead.</output>
|
||||
<action>Exit workflow</action>
|
||||
</check>
|
||||
</check>
|
||||
|
||||
<action>Set standalone_mode = false</action>
|
||||
</check>
|
||||
|
||||
</step>
|
||||
|
||||
<step n="2" goal="Load game brainstorming context and techniques">
|
||||
<action>Read the game context document from: {game_context}</action>
|
||||
<action>This context provides game-specific guidance including:
|
||||
- Focus areas for game ideation (mechanics, narrative, experience, etc.)
|
||||
- Key considerations for game design
|
||||
- Recommended techniques for game brainstorming
|
||||
- Output structure guidance
|
||||
</action>
|
||||
<action>Load game-specific brain techniques from: {game_brain_methods}</action>
|
||||
<action>These additional techniques supplement the standard CIS brainstorming methods with game design-focused approaches like:
|
||||
- MDA Framework exploration
|
||||
- Core loop brainstorming
|
||||
- Player fantasy mining
|
||||
- Genre mashup
|
||||
- And other game-specific ideation methods
|
||||
</action>
|
||||
</step>
|
||||
|
||||
<step n="3" goal="Invoke CIS brainstorming with game context">
|
||||
<action>Execute the CIS brainstorming workflow with game context and additional techniques</action>
|
||||
<invoke-workflow path="{core_brainstorming}" data="{game_context}" techniques="{game_brain_methods}">
|
||||
The CIS brainstorming workflow will:
|
||||
- Merge game-specific techniques with standard techniques
|
||||
- Present interactive brainstorming techniques menu
|
||||
- Guide the user through selected ideation methods
|
||||
- Generate and capture brainstorming session results
|
||||
- Save output to: {output_folder}/brainstorming-session-results-{{date}}.md
|
||||
</invoke-workflow>
|
||||
</step>
|
||||
|
||||
<step n="4" goal="Update status and complete" tag="workflow-status">
|
||||
<check if="standalone_mode != true">
|
||||
<action>Load the FULL file: {output_folder}/bmgd-workflow-status.yaml</action>
|
||||
<action>Find workflow_status key "brainstorm-game"</action>
|
||||
<critical>ONLY write the file path as the status value - no other text, notes, or metadata</critical>
|
||||
<action>Update workflow_status["brainstorm-game"] = "{output_folder}/bmm-brainstorming-session-{{date}}.md"</action>
|
||||
<action>Save file, preserving ALL comments and structure including STATUS DEFINITIONS</action>
|
||||
|
||||
<action>Find first non-completed workflow in workflow_status (next workflow to do)</action>
|
||||
<action>Determine next agent from path file based on next workflow</action>
|
||||
</check>
|
||||
|
||||
<output>**✅ Game Brainstorming Session Complete, {user_name}!**
|
||||
|
||||
**Session Results:**
|
||||
|
||||
- Game brainstorming results saved to: {output_folder}/bmm-brainstorming-session-{{date}}.md
|
||||
|
||||
{{#if standalone_mode != true}}
|
||||
**Status Updated:**
|
||||
|
||||
- Progress tracking updated: brainstorm-game marked complete
|
||||
- Next workflow: {{next_workflow}}
|
||||
{{else}}
|
||||
**Note:** Running in standalone mode (no progress tracking)
|
||||
{{/if}}
|
||||
|
||||
**Next Steps:**
|
||||
|
||||
{{#if standalone_mode != true}}
|
||||
|
||||
- **Next workflow:** {{next_workflow}} ({{next_agent}} agent)
|
||||
- **Optional:** You can run other analysis workflows (research, game-brief) before proceeding
|
||||
|
||||
Check status anytime with: `workflow-status`
|
||||
{{else}}
|
||||
Since no workflow is in progress:
|
||||
|
||||
- Refer to the BMM workflow guide if unsure what to do next
|
||||
- Or run `workflow-init` to create a workflow path and get guided next steps
|
||||
{{/if}}
|
||||
</output>
|
||||
</step>
|
||||
|
||||
</workflow>
|
||||
@@ -0,0 +1,165 @@
|
||||
---
|
||||
name: 'step-01-init'
|
||||
description: 'Initialize the game brainstorming workflow and validate readiness'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/1-preproduction/brainstorm-game'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-01-init.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-02-context.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/brainstorming-session-{date}.md'
|
||||
|
||||
# Context Files
|
||||
gameContext: '{workflow_path}/game-context.md'
|
||||
gameBrainMethods: '{workflow_path}/game-brain-methods.csv'
|
||||
---
|
||||
|
||||
# Step 1: Initialize Brainstorming
|
||||
|
||||
**Progress: Step 1 of 4** - Next: Load Context
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Validate workflow readiness, check for workflow status tracking, and prepare for the game brainstorming session.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- NEVER generate content without user input
|
||||
- CRITICAL: Read the complete step file before taking any action
|
||||
- CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- YOU ARE A FACILITATOR, not a content generator
|
||||
- NEVER mention time estimates
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- You are a creative game design facilitator
|
||||
- Focus on drawing out user's ideas
|
||||
- Game brainstorming is optional but valuable
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- Check for workflow status file
|
||||
- Initialize session document with proper frontmatter
|
||||
- Prepare user for brainstorming mindset
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- Show your analysis before taking any action
|
||||
- Wait for user confirmation before proceeding
|
||||
- Update frontmatter `stepsCompleted: [1]` before loading next step
|
||||
|
||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
||||
|
||||
### 1. Check Workflow Status
|
||||
|
||||
**Search for workflow status file:**
|
||||
|
||||
Check if `{output_folder}/bmgd-workflow-status.yaml` exists.
|
||||
|
||||
**If status file NOT found:**
|
||||
|
||||
"No workflow status file found. Game brainstorming is optional and can run standalone.
|
||||
|
||||
Would you like to:
|
||||
|
||||
1. Continue in standalone mode (no progress tracking)
|
||||
2. Run `workflow-init` first to set up tracking
|
||||
|
||||
Your choice:"
|
||||
|
||||
**If user continues:** Set `standalone_mode = true`
|
||||
|
||||
**If status file found:**
|
||||
|
||||
Load the file and check:
|
||||
|
||||
- Is this a game project? (`project_type == 'game'`)
|
||||
- Has brainstorm-game already been completed?
|
||||
- Is this the next expected workflow?
|
||||
|
||||
Handle each scenario appropriately with user prompts.
|
||||
|
||||
### 2. Set Brainstorming Mindset
|
||||
|
||||
"**Welcome to Game Brainstorming!**
|
||||
|
||||
{{user_name}}, let's explore game ideas together.
|
||||
|
||||
**Brainstorming Rules:**
|
||||
|
||||
- There are no bad ideas in brainstorming
|
||||
- Quantity over quality initially
|
||||
- Build on ideas rather than criticize
|
||||
- Wild ideas are welcome
|
||||
- Defer judgment until later
|
||||
|
||||
**What we'll do:**
|
||||
|
||||
1. Load game-specific brainstorming techniques
|
||||
2. Explore your game concepts using various methods
|
||||
3. Capture and organize all ideas
|
||||
4. Save results for future refinement
|
||||
|
||||
Ready to start brainstorming? [Y/N]"
|
||||
|
||||
### 3. Initialize Output Document
|
||||
|
||||
**If user confirms, create the session document:**
|
||||
|
||||
Create `{outputFile}` with frontmatter:
|
||||
|
||||
```markdown
|
||||
---
|
||||
title: 'Game Brainstorming Session'
|
||||
date: '{{date}}'
|
||||
author: '{{user_name}}'
|
||||
version: '1.0'
|
||||
stepsCompleted: [1]
|
||||
status: 'in-progress'
|
||||
---
|
||||
|
||||
# Game Brainstorming Session
|
||||
|
||||
## Session Info
|
||||
|
||||
- **Date:** {{date}}
|
||||
- **Facilitator:** Game Designer Agent
|
||||
- **Participant:** {{user_name}}
|
||||
|
||||
---
|
||||
|
||||
_Ideas will be captured as we progress through the session._
|
||||
```
|
||||
|
||||
### 4. Proceed to Context Step
|
||||
|
||||
After initialization:
|
||||
|
||||
- Update frontmatter: `stepsCompleted: [1]`
|
||||
- Load `{nextStepFile}`
|
||||
|
||||
---
|
||||
|
||||
## SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### SUCCESS:
|
||||
|
||||
- Workflow status checked appropriately
|
||||
- User confirmed ready to brainstorm
|
||||
- Output document initialized
|
||||
- Brainstorming mindset established
|
||||
- Frontmatter updated with stepsCompleted: [1]
|
||||
|
||||
### SYSTEM FAILURE:
|
||||
|
||||
- Starting without user confirmation
|
||||
- Not checking workflow status
|
||||
- Missing document initialization
|
||||
- Not setting brainstorming tone
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
@@ -0,0 +1,211 @@
|
||||
---
|
||||
name: 'step-02-context'
|
||||
description: 'Load game-specific brainstorming context and techniques'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/1-preproduction/brainstorm-game'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-02-context.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-03-ideation.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/brainstorming-session-{date}.md'
|
||||
|
||||
# Context Files
|
||||
gameContext: '{workflow_path}/game-context.md'
|
||||
gameBrainMethods: '{workflow_path}/game-brain-methods.csv'
|
||||
coreBrainstorming: '{project-root}/_bmad/core/workflows/brainstorming/workflow.yaml'
|
||||
---
|
||||
|
||||
# Step 2: Load Context
|
||||
|
||||
**Progress: Step 2 of 4** - Next: Ideation Session
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Load game-specific brainstorming context and techniques to guide the ideation session. Merge game techniques with core brainstorming methods.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- NEVER generate content without user input
|
||||
- CRITICAL: Read the complete step file before taking any action
|
||||
- CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- YOU ARE A FACILITATOR, not a content generator
|
||||
- NEVER mention time estimates
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- You are a creative game design facilitator
|
||||
- Game-specific techniques enhance standard brainstorming
|
||||
- Understand various ideation methods deeply
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- Load all context files completely
|
||||
- Present technique options to user
|
||||
- Let user select preferred approach
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- Show your analysis before taking any action
|
||||
- Present A/P/C menu after context loaded
|
||||
- ONLY proceed when user chooses C (Continue)
|
||||
- Update frontmatter `stepsCompleted: [1, 2]` before loading next step
|
||||
|
||||
## COLLABORATION MENUS (A/P/C):
|
||||
|
||||
- **A (Advanced Elicitation)**: Explore technique combinations
|
||||
- **P (Party Mode)**: Get perspectives on approaches
|
||||
- **C (Continue)**: Confirm context and proceed
|
||||
|
||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
||||
|
||||
### 1. Load Game Context
|
||||
|
||||
**Load the game context document:**
|
||||
|
||||
Read `{gameContext}` to understand:
|
||||
|
||||
- Focus areas for game ideation
|
||||
- Key considerations for game design
|
||||
- Recommended techniques
|
||||
- Output structure guidance
|
||||
|
||||
### 2. Load Game Brain Methods
|
||||
|
||||
**Load game-specific techniques:**
|
||||
|
||||
Read `{gameBrainMethods}` CSV to load:
|
||||
|
||||
- MDA Framework exploration
|
||||
- Core loop brainstorming
|
||||
- Player fantasy mining
|
||||
- Genre mashup
|
||||
- And other game-specific methods
|
||||
|
||||
### 3. Present Available Techniques
|
||||
|
||||
"**Game Brainstorming Techniques Loaded!**
|
||||
|
||||
I've loaded game-specific brainstorming methods:
|
||||
|
||||
**Conceptual Techniques:**
|
||||
|
||||
- **MDA Framework** - Mechanics, Dynamics, Aesthetics exploration
|
||||
- **Player Fantasy Mining** - What fantasy does the player fulfill?
|
||||
- **Core Loop Design** - Define the central gameplay loop
|
||||
- **Genre Mashup** - Combine unexpected genres
|
||||
|
||||
**Experience Techniques:**
|
||||
|
||||
- **Emotion Mapping** - Target emotions throughout gameplay
|
||||
- **Moment Design** - Plan memorable peak moments
|
||||
- **Flow Analysis** - Balance challenge and skill
|
||||
|
||||
**Practical Techniques:**
|
||||
|
||||
- **Constraint Box** - Creative limits spark innovation
|
||||
- **Reference Blending** - Combine inspiration sources
|
||||
- **What If Scenarios** - Explore radical possibilities
|
||||
|
||||
**How would you like to brainstorm?**
|
||||
|
||||
1. **Guided** - I'll walk you through techniques one by one
|
||||
2. **Selective** - Choose specific techniques to use
|
||||
3. **Freeform** - Open exploration with techniques as needed
|
||||
4. **YOLO** - Let me drive the session with all techniques
|
||||
|
||||
Your preference:"
|
||||
|
||||
### 4. Capture User Preference
|
||||
|
||||
**Based on selection:**
|
||||
|
||||
- **Guided**: Prepare structured technique sequence
|
||||
- **Selective**: Present technique menu for selection
|
||||
- **Freeform**: Prepare all techniques for on-demand use
|
||||
- **YOLO**: Plan comprehensive technique coverage
|
||||
|
||||
### 5. Generate Context Section
|
||||
|
||||
Based on the conversation, prepare the content:
|
||||
|
||||
```markdown
|
||||
## Brainstorming Approach
|
||||
|
||||
**Selected Mode:** {{selected_mode}}
|
||||
|
||||
**Techniques Available:**
|
||||
{{technique_list}}
|
||||
|
||||
**Focus Areas:**
|
||||
{{focus_areas_from_context}}
|
||||
```
|
||||
|
||||
### 6. Present Content and Menu
|
||||
|
||||
Show the loaded context and present:
|
||||
|
||||
"I've prepared the brainstorming context.
|
||||
|
||||
**Here's what I'll add to the document:**
|
||||
|
||||
[Show the complete markdown content from step 5]
|
||||
|
||||
**Ready to start ideation?**
|
||||
|
||||
**Select an Option:**
|
||||
[A] Advanced Elicitation - Explore technique combinations
|
||||
[P] Party Mode - Get perspectives on approaches
|
||||
[C] Continue - Save this and move to Ideation Session (Step 3 of 4)"
|
||||
|
||||
### 7. Handle Menu Selection
|
||||
|
||||
#### IF A (Advanced Elicitation):
|
||||
|
||||
- Explore technique combinations and synergies
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF P (Party Mode):
|
||||
|
||||
- Get multiple perspectives on brainstorming approaches
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF C (Continue):
|
||||
|
||||
- Append the context section to `{outputFile}`
|
||||
- Update frontmatter: `stepsCompleted: [1, 2]`
|
||||
- Load `{nextStepFile}`
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN [C continue option] is selected and [context saved with frontmatter updated], will you then load and read fully `{nextStepFile}`.
|
||||
|
||||
---
|
||||
|
||||
## SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### SUCCESS:
|
||||
|
||||
- Game context loaded completely
|
||||
- Game brain methods loaded from CSV
|
||||
- Techniques presented clearly
|
||||
- User selected brainstorming approach
|
||||
- A/P/C menu presented and handled correctly
|
||||
- Frontmatter updated with stepsCompleted: [1, 2]
|
||||
|
||||
### SYSTEM FAILURE:
|
||||
|
||||
- Not loading context files
|
||||
- Proceeding without user technique selection
|
||||
- Not presenting A/P/C menu after context
|
||||
- Proceeding without user selecting 'C'
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
@@ -0,0 +1,290 @@
|
||||
---
|
||||
name: 'step-03-ideation'
|
||||
description: 'Execute the brainstorming session with game-specific techniques'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/1-preproduction/brainstorm-game'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-03-ideation.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-04-complete.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/brainstorming-session-{date}.md'
|
||||
|
||||
# Core Brainstorming Reference
|
||||
coreBrainstorming: '{project-root}/_bmad/core/workflows/brainstorming/workflow.yaml'
|
||||
|
||||
# Task References
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
---
|
||||
|
||||
# Step 3: Ideation Session
|
||||
|
||||
**Progress: Step 3 of 4** - Next: Complete Session
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Facilitate the actual brainstorming session using selected techniques. Capture all ideas, concepts, and insights generated during the session.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- NEVER generate content without user input
|
||||
- CRITICAL: Read the complete step file before taking any action
|
||||
- CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- YOU ARE A FACILITATOR, not a content generator
|
||||
- NEVER mention time estimates
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- You are a creative game design facilitator
|
||||
- Draw out user's ideas - don't generate for them
|
||||
- Use techniques to unlock creativity
|
||||
- ALL ideas are valid during brainstorming
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- Apply selected techniques from Step 2
|
||||
- Capture EVERY idea, no matter how wild
|
||||
- Build on ideas rather than criticize
|
||||
- User drives the ideation; you facilitate
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- Show your analysis before taking any action
|
||||
- Present A/P/C menu after ideation session
|
||||
- ONLY proceed when user chooses C (Continue)
|
||||
- Update frontmatter `stepsCompleted: [1, 2, 3]` before loading next step
|
||||
|
||||
## COLLABORATION MENUS (A/P/C):
|
||||
|
||||
- **A (Advanced Elicitation)**: Dig deeper into promising ideas
|
||||
- **P (Party Mode)**: Get multiple perspectives on concepts
|
||||
- **C (Continue)**: Save ideas and complete session
|
||||
|
||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
||||
|
||||
### 1. Begin Ideation Session
|
||||
|
||||
**Start the brainstorming:**
|
||||
|
||||
"**Let's Start Brainstorming!**
|
||||
|
||||
Based on your selected approach ({{selected_mode}}), let's explore game ideas.
|
||||
|
||||
**First Question:**
|
||||
What kind of game experience are you drawn to?
|
||||
|
||||
Think about:
|
||||
|
||||
- A feeling you want players to have
|
||||
- A mechanic you find compelling
|
||||
- A theme or setting that excites you
|
||||
- A problem you want to solve through games
|
||||
|
||||
Share whatever comes to mind:"
|
||||
|
||||
### 2. Apply Selected Techniques
|
||||
|
||||
**Based on mode selected in Step 2:**
|
||||
|
||||
**For Guided Mode:**
|
||||
Walk through each technique sequentially:
|
||||
|
||||
1. **Player Fantasy Mining**
|
||||
"What fantasy does your player want to fulfill? Being a hero? Building an empire? Surviving? Exploring? Describe the core fantasy."
|
||||
|
||||
2. **Core Loop Brainstorming**
|
||||
"What's the central action players repeat? Think: [Action] → [Reward/Feedback] → [Motivation to continue]"
|
||||
|
||||
3. **MDA Framework**
|
||||
"Let's explore: What Aesthetics (emotions)? What Dynamics (behaviors)? What Mechanics enable them?"
|
||||
|
||||
4. **Genre Mashup**
|
||||
"What two unexpected genres could combine? Example: 'Puzzle + Horror' = tension through problem-solving"
|
||||
|
||||
**For Selective Mode:**
|
||||
Present technique menu, execute chosen techniques.
|
||||
|
||||
**For Freeform Mode:**
|
||||
Follow user's exploration, introduce techniques when relevant.
|
||||
|
||||
**For YOLO Mode:**
|
||||
Drive comprehensive exploration using all techniques.
|
||||
|
||||
### 3. Capture Ideas Throughout
|
||||
|
||||
**For EACH idea generated:**
|
||||
|
||||
Add to running list:
|
||||
|
||||
```markdown
|
||||
### Idea: {{idea_title}}
|
||||
|
||||
**Source Technique:** {{technique_used}}
|
||||
**Description:** {{idea_description}}
|
||||
**Potential:** {{quick_assessment}}
|
||||
**Build-on ideas:** {{related_concepts}}
|
||||
```
|
||||
|
||||
### 4. Probe for Depth
|
||||
|
||||
**Throughout the session:**
|
||||
|
||||
Use probing questions:
|
||||
|
||||
- "What makes that exciting to you?"
|
||||
- "How would that feel moment-to-moment?"
|
||||
- "What's the twist that makes it unique?"
|
||||
- "What game does this remind you of, and how is it different?"
|
||||
- "What would the 'aha' moment be?"
|
||||
|
||||
### 5. Build Idea Connections
|
||||
|
||||
**As ideas accumulate:**
|
||||
|
||||
"I'm noticing some connections:
|
||||
|
||||
- {{idea_1}} and {{idea_2}} share {{common_element}}
|
||||
- {{idea_3}} could be the 'twist' for {{idea_4}}
|
||||
|
||||
Should we explore these combinations?"
|
||||
|
||||
### 6. Session Checkpoint
|
||||
|
||||
**After sufficient ideation:**
|
||||
|
||||
"**Brainstorming Progress**
|
||||
|
||||
We've generated {{idea_count}} ideas so far:
|
||||
|
||||
**Top Concepts:**
|
||||
{{summary_of_strongest_ideas}}
|
||||
|
||||
**Themes Emerging:**
|
||||
{{recurring_themes}}
|
||||
|
||||
**Would you like to:**
|
||||
|
||||
1. Continue exploring (more techniques)
|
||||
2. Deep dive into a specific concept
|
||||
3. Wrap up and save what we have
|
||||
|
||||
Your choice:"
|
||||
|
||||
### 7. Generate Ideation Section
|
||||
|
||||
Based on all ideas captured, prepare the content:
|
||||
|
||||
```markdown
|
||||
## Ideas Generated
|
||||
|
||||
### Concept 1: {{concept_name}}
|
||||
|
||||
{{full_concept_description}}
|
||||
|
||||
**Core Elements:**
|
||||
|
||||
- {{element_1}}
|
||||
- {{element_2}}
|
||||
|
||||
**Questions to Explore:**
|
||||
|
||||
- {{question_1}}
|
||||
- {{question_2}}
|
||||
|
||||
---
|
||||
|
||||
### Concept 2: {{concept_name}}
|
||||
|
||||
{{repeat_structure}}
|
||||
|
||||
---
|
||||
|
||||
## Themes and Patterns
|
||||
|
||||
{{observed_themes}}
|
||||
|
||||
## Promising Combinations
|
||||
|
||||
{{combination_ideas}}
|
||||
|
||||
## Raw Ideas List
|
||||
|
||||
{{all_ideas_bullet_points}}
|
||||
```
|
||||
|
||||
### 8. Present Content and Menu
|
||||
|
||||
Show the generated content to the user and present:
|
||||
|
||||
"**Ideation Session Summary**
|
||||
|
||||
Here's everything we captured:
|
||||
|
||||
[Show the complete markdown content from step 7]
|
||||
|
||||
**Session Stats:**
|
||||
|
||||
- Ideas generated: {{count}}
|
||||
- Concepts developed: {{count}}
|
||||
- Themes identified: {{count}}
|
||||
|
||||
**Select an Option:**
|
||||
[A] Advanced Elicitation - Dig deeper into promising ideas
|
||||
[P] Party Mode - Get multiple perspectives on concepts
|
||||
[C] Continue - Save ideas and complete session (Step 4 of 4)"
|
||||
|
||||
### 9. Handle Menu Selection
|
||||
|
||||
#### IF A (Advanced Elicitation):
|
||||
|
||||
- Deep dive into selected concepts
|
||||
- Ask user: "Accept these additions? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF P (Party Mode):
|
||||
|
||||
- Get diverse perspectives on concepts
|
||||
- Ask user: "Accept these perspectives? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF C (Continue):
|
||||
|
||||
- Append the ideation section to `{outputFile}`
|
||||
- Update frontmatter: `stepsCompleted: [1, 2, 3]`
|
||||
- Load `{nextStepFile}`
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN [C continue option] is selected and [ideation content saved with frontmatter updated], will you then load and read fully `{nextStepFile}`.
|
||||
|
||||
---
|
||||
|
||||
## SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### SUCCESS:
|
||||
|
||||
- User drove the ideation
|
||||
- Multiple techniques applied
|
||||
- All ideas captured without judgment
|
||||
- Connections and themes identified
|
||||
- Ideas organized and summarized
|
||||
- A/P/C menu presented and handled correctly
|
||||
- Frontmatter updated with stepsCompleted: [1, 2, 3]
|
||||
|
||||
### SYSTEM FAILURE:
|
||||
|
||||
- Generating ideas FOR the user instead of WITH them
|
||||
- Dismissing or criticizing ideas during session
|
||||
- Not capturing all ideas
|
||||
- Rushing through techniques
|
||||
- Not presenting A/P/C menu after ideation
|
||||
- Proceeding without user selecting 'C'
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
@@ -0,0 +1,276 @@
|
||||
---
|
||||
name: 'step-04-complete'
|
||||
description: 'Complete the brainstorming session with summary and next steps'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/1-preproduction/brainstorm-game'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-04-complete.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/brainstorming-session-{date}.md'
|
||||
|
||||
# Handoff References
|
||||
gameBriefWorkflow: '{project-root}/_bmad/bmgd/workflows/1-preproduction/game-brief/workflow.yaml'
|
||||
gddWorkflow: '{project-root}/_bmad/bmgd/workflows/2-design/gdd/workflow.yaml'
|
||||
---
|
||||
|
||||
# Step 4: Complete Session
|
||||
|
||||
**Progress: Step 4 of 4** - Brainstorming Complete!
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Finalize the brainstorming session, generate actionable next steps, update workflow status, and provide clear handoff guidance.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- NEVER generate content without user input
|
||||
- CRITICAL: Read the complete step file before taking any action
|
||||
- YOU ARE A FACILITATOR, not a content generator
|
||||
- NEVER mention time estimates
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- You are a creative game design facilitator
|
||||
- Help user identify most promising concepts
|
||||
- Provide clear path forward
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- Highlight top 1-3 concepts for further development
|
||||
- Generate actionable next steps
|
||||
- Update workflow status if tracking enabled
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- Show your analysis before taking any action
|
||||
- Generate final summary
|
||||
- Update frontmatter `stepsCompleted: [1, 2, 3, 4]`
|
||||
- Present completion summary and next steps
|
||||
|
||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
||||
|
||||
### 1. Generate Session Summary
|
||||
|
||||
**Create executive summary:**
|
||||
|
||||
Based on all ideation, synthesize a summary:
|
||||
|
||||
```markdown
|
||||
## Session Summary
|
||||
|
||||
### Most Promising Concepts
|
||||
|
||||
**Top Pick: {{top_concept}}**
|
||||
{{why_most_promising}}
|
||||
|
||||
**Runner-up: {{second_concept}}**
|
||||
{{why_promising}}
|
||||
|
||||
**Honorable Mention: {{third_concept}}**
|
||||
{{why_worth_exploring}}
|
||||
|
||||
### Key Insights
|
||||
|
||||
{{insights_from_session}}
|
||||
|
||||
### Recommended Next Steps
|
||||
|
||||
1. {{next_step_1}}
|
||||
2. {{next_step_2}}
|
||||
3. {{next_step_3}}
|
||||
```
|
||||
|
||||
### 2. Present Final Summary
|
||||
|
||||
"**Brainstorming Session Complete!**
|
||||
|
||||
{{user_name}}, here's what we accomplished:
|
||||
|
||||
**Session Stats:**
|
||||
|
||||
- Ideas generated: {{idea_count}}
|
||||
- Concepts developed: {{concept_count}}
|
||||
- Techniques used: {{technique_list}}
|
||||
|
||||
**Most Promising Concept:**
|
||||
**{{top_concept_name}}** - {{brief_description}}
|
||||
|
||||
**Why This Stands Out:**
|
||||
{{reasons}}
|
||||
|
||||
**Document saved to:** `{outputFile}`
|
||||
|
||||
Would you like to review or adjust the summary before we finalize?"
|
||||
|
||||
### 3. Handle Review Requests
|
||||
|
||||
**If user wants to review:**
|
||||
|
||||
"Which would you like to review?
|
||||
|
||||
1. Most Promising Concepts
|
||||
2. All Ideas Generated
|
||||
3. Session Insights
|
||||
4. Full Document
|
||||
|
||||
Or type 'all' to see the complete document."
|
||||
|
||||
### 4. Update Workflow Status
|
||||
|
||||
**If not in standalone mode:**
|
||||
|
||||
Load `{output_folder}/bmgd-workflow-status.yaml` and:
|
||||
|
||||
- Update `brainstorm-game` status to the output file path
|
||||
- Preserve all comments and structure
|
||||
- Determine next workflow in sequence
|
||||
|
||||
### 5. Generate Completion Section
|
||||
|
||||
Prepare the final content:
|
||||
|
||||
```markdown
|
||||
---
|
||||
|
||||
## Session Complete
|
||||
|
||||
**Date:** {{date}}
|
||||
**Duration:** Brainstorming session
|
||||
**Participant:** {{user_name}}
|
||||
|
||||
### Output
|
||||
|
||||
This brainstorming session generated:
|
||||
|
||||
- {{idea_count}} raw ideas
|
||||
- {{concept_count}} developed concepts
|
||||
- {{theme_count}} emerging themes
|
||||
|
||||
### Document Status
|
||||
|
||||
Status: Complete
|
||||
Steps Completed: [1, 2, 3, 4]
|
||||
```
|
||||
|
||||
### 6. Present Next Steps Menu
|
||||
|
||||
"**Recommended Next Steps:**
|
||||
|
||||
1. **Create Game Brief** - Transform your top concept into a formal game brief
|
||||
- Workflow: `create-brief`
|
||||
- Input: This brainstorming session
|
||||
- Output: Structured game vision document
|
||||
|
||||
2. **Research Market** - Validate your concept against the market
|
||||
- Look at similar games
|
||||
- Identify your unique angle
|
||||
- Understand competition
|
||||
|
||||
3. **Prototype Core Mechanic** - Test your core idea immediately
|
||||
- Quick paper prototype
|
||||
- Simple digital prototype
|
||||
- Get hands-on feel for the concept
|
||||
|
||||
4. **Another Brainstorm Session** - Explore more concepts
|
||||
- Try different techniques
|
||||
- Explore alternative directions
|
||||
|
||||
**Which would you like to do next?**
|
||||
|
||||
1. Start Game Brief workflow
|
||||
2. Review the brainstorming results
|
||||
3. Run another brainstorm session
|
||||
4. Exit workflow"
|
||||
|
||||
### 7. Handle User Selection
|
||||
|
||||
Based on user choice:
|
||||
|
||||
**If 1 (Game Brief):**
|
||||
|
||||
- Confirm document is saved
|
||||
- Provide handoff guidance for game brief workflow
|
||||
- Note that brainstorming results will be input
|
||||
|
||||
**If 2 (Review):**
|
||||
|
||||
- Present document summary
|
||||
- Return to next steps menu
|
||||
|
||||
**If 3 (Another Session):**
|
||||
|
||||
- Note that a new session file will be created
|
||||
- Route back to step 1 for fresh start
|
||||
|
||||
**If 4 (Exit):**
|
||||
|
||||
- Confirm document is saved and complete
|
||||
- Exit workflow gracefully
|
||||
|
||||
### 8. Final Completion Message
|
||||
|
||||
"**Brainstorming Session Complete!**
|
||||
|
||||
**Deliverables:**
|
||||
|
||||
- Brainstorming results saved to: `{outputFile}`
|
||||
- {{idea_count}} ideas captured
|
||||
- Top concepts identified and summarized
|
||||
|
||||
{{#if standalone_mode != true}}
|
||||
**Status Updated:**
|
||||
|
||||
- Progress tracking updated: brainstorm-game marked complete
|
||||
- Next recommended: Game Brief workflow
|
||||
{{/if}}
|
||||
|
||||
**Your Ideas Are Ready For:**
|
||||
|
||||
- Game Brief creation
|
||||
- Concept validation
|
||||
- Prototyping
|
||||
- Team discussion
|
||||
|
||||
Great brainstorming session, {{user_name}}! Your creativity is the foundation for an exciting game."
|
||||
|
||||
---
|
||||
|
||||
## SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### SUCCESS:
|
||||
|
||||
- Top concepts identified and highlighted
|
||||
- Session summary generated
|
||||
- Actionable next steps provided
|
||||
- Workflow status updated (if tracking)
|
||||
- Document saved and complete
|
||||
- Clear handoff guidance provided
|
||||
- Frontmatter shows all 4 steps completed
|
||||
|
||||
### SYSTEM FAILURE:
|
||||
|
||||
- No clear top concepts identified
|
||||
- Missing session summary
|
||||
- No actionable next steps
|
||||
- Status not updated when tracking enabled
|
||||
- User left without guidance
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
|
||||
---
|
||||
|
||||
## Brainstorm Game Workflow Complete
|
||||
|
||||
The Brainstorm Game workflow facilitates creative game ideation through 4 collaborative steps:
|
||||
|
||||
1. **Initialize** - Set brainstorming mindset and prepare session
|
||||
2. **Context** - Load game-specific techniques and select approach
|
||||
3. **Ideation** - Execute brainstorming with user driving ideas
|
||||
4. **Complete** - Summarize results and provide next steps
|
||||
|
||||
This step-file architecture ensures consistent, creative brainstorming with user collaboration throughout.
|
||||
@@ -0,0 +1,50 @@
|
||||
# Brainstorm Game Workflow
|
||||
|
||||
**Facilitate game brainstorming sessions with game-specific context and techniques**
|
||||
|
||||
## Overview
|
||||
|
||||
This workflow orchestrates creative brainstorming for game ideas by combining the core CIS brainstorming workflow with game-specific context, guidance, and specialized game design techniques.
|
||||
|
||||
## Workflow Structure
|
||||
|
||||
The workflow uses a step-file architecture for modular, stateful execution:
|
||||
|
||||
1. **Step 1: Initialize** - Validate workflow readiness and discover context
|
||||
2. **Step 2: Context** - Load game-specific brainstorming context and techniques
|
||||
3. **Step 3: Ideation** - Execute brainstorming with game techniques
|
||||
4. **Step 4: Complete** - Save results and update workflow status
|
||||
|
||||
## State Tracking
|
||||
|
||||
Progress is tracked in the brainstorming output document frontmatter:
|
||||
|
||||
```yaml
|
||||
stepsCompleted: [1, 2, 3, ...] # Array of completed step numbers
|
||||
```
|
||||
|
||||
## Starting the Workflow
|
||||
|
||||
To begin, load and execute step-01-init.md:
|
||||
|
||||
```
|
||||
{workflow_path}/steps/step-01-init.md
|
||||
```
|
||||
|
||||
## Critical Rules
|
||||
|
||||
- This is a meta-workflow that orchestrates CIS brainstorming
|
||||
- Use game-specific techniques from game-brain-methods.csv
|
||||
- Apply game-context.md guidance throughout
|
||||
- **NEVER** mention time estimates
|
||||
- **ALWAYS** wait for user input between steps
|
||||
|
||||
## Agent Role
|
||||
|
||||
You are a creative facilitator specializing in game ideation:
|
||||
|
||||
- Draw out user's game concepts and ideas
|
||||
- Apply game-specific brainstorming techniques
|
||||
- Help users explore mechanics, themes, and experiences
|
||||
- Capture and organize ideas for later refinement
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
@@ -0,0 +1,42 @@
|
||||
# Brainstorm Game Workflow Configuration
|
||||
name: "brainstorm-game"
|
||||
description: "Facilitate game brainstorming sessions with game-specific context, guidance, and game design techniques."
|
||||
author: "BMad"
|
||||
|
||||
# Critical variables from config
|
||||
config_source: "{project-root}/_bmad/bmgd/config.yaml"
|
||||
output_folder: "{config_source}:output_folder"
|
||||
user_name: "{config_source}:user_name"
|
||||
communication_language: "{config_source}:communication_language"
|
||||
document_output_language: "{config_source}:document_output_language"
|
||||
game_dev_experience: "{config_source}:game_dev_experience"
|
||||
date: system-generated
|
||||
|
||||
# Workflow components - Step-file architecture
|
||||
installed_path: "{project-root}/_bmad/bmgd/workflows/1-preproduction/brainstorm-game"
|
||||
instructions: "{installed_path}/workflow.md"
|
||||
template: false
|
||||
|
||||
# Context and techniques for game brainstorming
|
||||
game_context: "{installed_path}/game-context.md"
|
||||
game_brain_methods: "{installed_path}/game-brain-methods.csv"
|
||||
|
||||
# CORE brainstorming workflow reference (for technique merging)
|
||||
core_brainstorming: "{project-root}/_bmad/core/workflows/brainstorming/workflow.yaml"
|
||||
|
||||
# Output configuration
|
||||
default_output_file: "{output_folder}/brainstorming-session-{date}.md"
|
||||
|
||||
# Workflow metadata
|
||||
version: "2.0.0"
|
||||
paradigm: "step-file-architecture"
|
||||
features:
|
||||
- "Step-file architecture for modular execution"
|
||||
- "Game-specific brainstorming techniques"
|
||||
- "MDA Framework exploration"
|
||||
- "Core loop brainstorming"
|
||||
- "Player fantasy mining"
|
||||
- "Genre mashup ideation"
|
||||
- "State tracking via frontmatter"
|
||||
|
||||
standalone: true
|
||||
@@ -0,0 +1,128 @@
|
||||
# Game Brief Validation Checklist
|
||||
|
||||
Use this checklist to ensure your game brief is complete and ready for GDD creation.
|
||||
|
||||
## Game Vision ✓
|
||||
|
||||
- [ ] **Core Concept** is clear and concise (one sentence)
|
||||
- [ ] **Elevator Pitch** hooks the reader in 2-3 sentences
|
||||
- [ ] **Vision Statement** is aspirational but achievable
|
||||
- [ ] Vision captures the emotional experience you want to create
|
||||
|
||||
## Target Market ✓
|
||||
|
||||
- [ ] **Primary Audience** is specific (not just "gamers")
|
||||
- [ ] Age range and experience level are defined
|
||||
- [ ] Play session expectations are realistic
|
||||
- [ ] **Market Context** demonstrates opportunity
|
||||
- [ ] Competitive landscape is understood
|
||||
- [ ] You know why this audience will care
|
||||
|
||||
## Game Fundamentals ✓
|
||||
|
||||
- [ ] **Core Gameplay Pillars** (2-4) are clearly defined
|
||||
- [ ] Each pillar is specific and measurable
|
||||
- [ ] **Primary Mechanics** describe what players actually DO
|
||||
- [ ] **Player Experience Goals** connect mechanics to emotions
|
||||
- [ ] Core loop is clear and compelling
|
||||
|
||||
## Scope and Constraints ✓
|
||||
|
||||
- [ ] **Target Platforms** are prioritized
|
||||
- [ ] **Development Timeline** is realistic
|
||||
- [ ] **Budget** aligns with scope
|
||||
- [ ] **Team Resources** (size, skills) are documented
|
||||
- [ ] **Technical Constraints** are identified
|
||||
- [ ] Scope matches team capability
|
||||
|
||||
## Reference Framework ✓
|
||||
|
||||
- [ ] **Inspiration Games** (3-5) are listed with specifics
|
||||
- [ ] You know what you're taking vs. NOT taking from each
|
||||
- [ ] **Competitive Analysis** covers direct and indirect competitors
|
||||
- [ ] **Key Differentiators** are genuine and valuable
|
||||
- [ ] Differentiators are specific (not "just better")
|
||||
|
||||
## Content Framework ✓
|
||||
|
||||
- [ ] **World and Setting** is defined
|
||||
- [ ] **Narrative Approach** matches game type
|
||||
- [ ] **Content Volume** is estimated (rough order of magnitude)
|
||||
- [ ] Playtime expectations are set
|
||||
- [ ] Replayability approach is clear
|
||||
|
||||
## Art and Audio Direction ✓
|
||||
|
||||
- [ ] **Visual Style** is described with references
|
||||
- [ ] 2D vs. 3D is decided
|
||||
- [ ] **Audio Style** matches game mood
|
||||
- [ ] **Production Approach** is realistic for team/budget
|
||||
- [ ] Style complexity matches capabilities
|
||||
|
||||
## Risk Assessment ✓
|
||||
|
||||
- [ ] **Key Risks** are honestly identified
|
||||
- [ ] **Technical Challenges** are documented
|
||||
- [ ] **Market Risks** are considered
|
||||
- [ ] **Mitigation Strategies** are actionable
|
||||
- [ ] Assumptions to validate are listed
|
||||
|
||||
## Success Criteria ✓
|
||||
|
||||
- [ ] **MVP Definition** is truly minimal
|
||||
- [ ] MVP can validate core gameplay hypothesis
|
||||
- [ ] **Success Metrics** are specific and measurable
|
||||
- [ ] **Launch Goals** are realistic
|
||||
- [ ] You know what "done" looks like for MVP
|
||||
|
||||
## Next Steps ✓
|
||||
|
||||
- [ ] **Immediate Actions** are prioritized
|
||||
- [ ] **Research Needs** are identified
|
||||
- [ ] **Open Questions** are documented
|
||||
- [ ] Critical path is clear
|
||||
- [ ] Blockers are identified
|
||||
|
||||
## Overall Quality ✓
|
||||
|
||||
- [ ] Brief is clear and concise (3-5 pages)
|
||||
- [ ] Sections are internally consistent
|
||||
- [ ] Scope is realistic for team/timeline/budget
|
||||
- [ ] Vision is compelling and achievable
|
||||
- [ ] You're excited to build this game
|
||||
- [ ] Team/stakeholders can understand the vision
|
||||
|
||||
## Red Flags 🚩
|
||||
|
||||
Watch for these warning signs:
|
||||
|
||||
- [ ] ❌ Scope too large for team/timeline
|
||||
- [ ] ❌ Unclear core loop or pillars
|
||||
- [ ] ❌ Target audience is "everyone"
|
||||
- [ ] ❌ Differentiators are vague or weak
|
||||
- [ ] ❌ No prototype plan for risky mechanics
|
||||
- [ ] ❌ Budget/timeline is wishful thinking
|
||||
- [ ] ❌ Market is saturated with no clear positioning
|
||||
- [ ] ❌ MVP is not actually minimal
|
||||
|
||||
## Ready for Next Steps?
|
||||
|
||||
If you've checked most boxes and have no major red flags:
|
||||
|
||||
✅ **Ready to proceed to:**
|
||||
|
||||
- Prototype core mechanic
|
||||
- GDD workflow
|
||||
- Team/stakeholder review
|
||||
- Market validation
|
||||
|
||||
⚠️ **Need more work if:**
|
||||
|
||||
- Multiple sections incomplete
|
||||
- Red flags present
|
||||
- Team/stakeholders don't align
|
||||
- Core concept unclear
|
||||
|
||||
---
|
||||
|
||||
_This checklist is a guide, not a gate. Use your judgment based on project needs._
|
||||
@@ -0,0 +1,373 @@
|
||||
# Game Brief - Interactive Workflow Instructions
|
||||
|
||||
<critical>The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml</critical>
|
||||
<critical>You MUST have already loaded and processed: {installed_path}/workflow.yaml</critical>
|
||||
<critical>Communicate all responses in {communication_language} and language MUST be tailored to {user_skill_level}</critical>
|
||||
<critical>Generate all documents in {document_output_language}</critical>
|
||||
<critical>⚠️ ABSOLUTELY NO TIME ESTIMATES - NEVER mention hours, days, weeks, months, or ANY time-based predictions. AI has fundamentally changed development speed - what once took teams weeks/months can now be done by one person in hours. DO NOT give ANY time estimates whatsoever.</critical>
|
||||
|
||||
<critical>DOCUMENT OUTPUT: Concise, professional, game-design focused. Use tables/lists over prose. User skill level ({user_skill_level}) affects conversation style ONLY, not document content.</critical>
|
||||
<critical>⚠️ CHECKPOINT PROTOCOL: After EVERY <template-output> tag, you MUST follow workflow.xml substep 2c: SAVE content to file immediately → SHOW checkpoint separator (━━━━━━━━━━━━━━━━━━━━━━━) → DISPLAY generated content → PRESENT options [a]Advanced Elicitation/[c]Continue/[p]Party-Mode/[y]YOLO → WAIT for user response. Never batch saves or skip checkpoints.</critical>
|
||||
|
||||
<workflow>
|
||||
|
||||
<step n="0" goal="Validate workflow readiness" tag="workflow-status">
|
||||
<action>Check if {output_folder}/bmgd-workflow-status.yaml exists</action>
|
||||
|
||||
<check if="status file not found">
|
||||
<output>No workflow status file found. Game brief is optional - you can continue without status tracking.</output>
|
||||
<action>Set standalone_mode = true</action>
|
||||
</check>
|
||||
|
||||
<check if="status file found">
|
||||
<action>Load the FULL file: {output_folder}/bmgd-workflow-status.yaml</action>
|
||||
<action>Parse workflow_status section</action>
|
||||
<action>Check status of "game-brief" workflow</action>
|
||||
<action>Get project_level from YAML metadata</action>
|
||||
<action>Find first non-completed workflow (next expected workflow)</action>
|
||||
|
||||
<check if="project_type != 'game'">
|
||||
<output>Note: This is a {{project_type}} project. Game brief is designed for game projects.</output>
|
||||
<ask>Continue with game brief anyway? (y/n)</ask>
|
||||
<check if="n">
|
||||
<action>Exit workflow</action>
|
||||
</check>
|
||||
</check>
|
||||
|
||||
<check if="game-brief status is file path (already completed)">
|
||||
<output>⚠️ Game Brief already completed: {{game-brief status}}</output>
|
||||
<ask>Re-running will overwrite the existing brief. Continue? (y/n)</ask>
|
||||
<check if="n">
|
||||
<output>Exiting. Use workflow-status to see your next step.</output>
|
||||
<action>Exit workflow</action>
|
||||
</check>
|
||||
</check>
|
||||
|
||||
<check if="game-brief is not the next expected workflow (latter items are completed already in the list)">
|
||||
<output>⚠️ Next expected workflow: {{next_workflow}}. Game Brief is out of sequence.</output>
|
||||
<ask>Continue with Game Brief anyway? (y/n)</ask>
|
||||
<check if="n">
|
||||
<output>Exiting. Run {{next_workflow}} instead.</output>
|
||||
<action>Exit workflow</action>
|
||||
</check>
|
||||
</check>
|
||||
|
||||
<action>Set standalone_mode = false</action>
|
||||
</check>
|
||||
</step>
|
||||
|
||||
<step n="1" goal="Initialize game brief session">
|
||||
<action>Welcome the user in {communication_language} to the Game Brief creation process</action>
|
||||
<action>Explain this is a collaborative process to define their game vision, capturing the essence of what they want to create</action>
|
||||
<action>Ask for the working title of their game</action>
|
||||
<template-output>game_name</template-output>
|
||||
</step>
|
||||
|
||||
<step n="1" goal="Gather available inputs and context">
|
||||
<action>Explore what existing materials the user has available to inform the brief</action>
|
||||
<action>Offer options for input sources: market research, brainstorming results, competitive analysis, design notes, reference games, or starting fresh</action>
|
||||
<action>If documents are provided, load and analyze them to extract key insights, themes, and patterns</action>
|
||||
<action>Engage the user about their core vision: what gameplay experience they want to create, what emotions players should feel, and what sparked this game idea</action>
|
||||
<action>Build initial understanding through conversational exploration rather than rigid questioning</action>
|
||||
|
||||
<template-output>initial_context</template-output>
|
||||
</step>
|
||||
|
||||
<step n="2" goal="Choose collaboration mode">
|
||||
<ask>How would you like to work through the brief?
|
||||
|
||||
**1. Interactive Mode** - We'll work through each section together, discussing and refining as we go
|
||||
**2. YOLO Mode** - I'll generate a complete draft based on our conversation so far, then we'll refine it together
|
||||
|
||||
Which approach works best for you?</ask>
|
||||
|
||||
<action>Store the user's preference for mode</action>
|
||||
<template-output>collaboration_mode</template-output>
|
||||
</step>
|
||||
|
||||
<step n="3" goal="Define game vision" if="collaboration_mode == 'interactive'">
|
||||
<action>Guide user to articulate their game vision across three levels of depth</action>
|
||||
<action>Help them craft a one-sentence core concept that captures the essence (reference successful games like "A roguelike deck-builder where you climb a mysterious spire" as examples)</action>
|
||||
<action>Develop an elevator pitch (2-3 sentences) that would compel a publisher or player - refine until it's concise but hooks attention</action>
|
||||
<action>Explore their aspirational vision statement: the experience they want to create and what makes it meaningful - ensure it's ambitious yet achievable</action>
|
||||
<action>Refine through conversation, challenging vague language and elevating compelling ideas</action>
|
||||
|
||||
<template-output>core_concept</template-output>
|
||||
<template-output>elevator_pitch</template-output>
|
||||
<template-output>vision_statement</template-output>
|
||||
</step>
|
||||
|
||||
<step n="4" goal="Identify target market" if="collaboration_mode == 'interactive'">
|
||||
<action>Guide user to define their primary target audience with specific demographics, gaming preferences, and behavioral characteristics</action>
|
||||
<action>Push for specificity beyond generic descriptions like "people who like fun games" - challenge vague answers</action>
|
||||
<action>Explore secondary audiences if applicable and how their needs might differ</action>
|
||||
<action>Investigate the market context: opportunity size, competitive landscape, similar successful games, and why now is the right time</action>
|
||||
<action>Help identify a realistic and reachable audience segment based on evidence or well-reasoned assumptions</action>
|
||||
|
||||
<template-output>primary_audience</template-output>
|
||||
<template-output>secondary_audience</template-output>
|
||||
<template-output>market_context</template-output>
|
||||
</step>
|
||||
|
||||
<step n="5" goal="Define game fundamentals" if="collaboration_mode == 'interactive'">
|
||||
<action>Help user identify 2-4 core gameplay pillars that fundamentally define their game - everything should support these pillars</action>
|
||||
<action>Provide examples from successful games for inspiration (Hollow Knight's "tight controls + challenging combat + rewarding exploration")</action>
|
||||
<action>Explore what the player actually DOES - core actions, key systems, and interaction models</action>
|
||||
<action>Define the emotional experience goals: what feelings are you designing for (tension/relief, mastery/growth, creativity/expression, discovery/surprise)</action>
|
||||
<action>Ensure pillars are specific and measurable, focusing on player actions rather than implementation details</action>
|
||||
<action>Connect mechanics directly to emotional experiences through guided discussion</action>
|
||||
|
||||
<template-output>core_gameplay_pillars</template-output>
|
||||
<template-output>primary_mechanics</template-output>
|
||||
<template-output>player_experience_goals</template-output>
|
||||
</step>
|
||||
|
||||
<step n="6" goal="Define scope and constraints" if="collaboration_mode == 'interactive'">
|
||||
<action>Help user establish realistic project constraints across all key dimensions</action>
|
||||
<action>Explore target platforms and prioritization (PC, console, mobile, web)</action>
|
||||
<action>Discuss development timeline: release targets, fixed deadlines, phased release strategies</action>
|
||||
<action>Investigate budget reality: funding source, asset creation costs, marketing, tools and software</action>
|
||||
<action>Assess team resources: size, roles, availability, skills gaps, outsourcing needs</action>
|
||||
<action>Define technical constraints: engine choice, performance targets, file size limits, accessibility requirements</action>
|
||||
<action>Push for realism about scope - identify potential blockers early and document resource assumptions</action>
|
||||
|
||||
<template-output>target_platforms</template-output>
|
||||
<template-output>development_timeline</template-output>
|
||||
<template-output>budget_considerations</template-output>
|
||||
<template-output>team_resources</template-output>
|
||||
<template-output>technical_constraints</template-output>
|
||||
</step>
|
||||
|
||||
<step n="7" goal="Establish reference framework" if="collaboration_mode == 'interactive'">
|
||||
<action>Guide user to identify 3-5 inspiration games and articulate what they're drawing from each (mechanics, feel, art style) and explicitly what they're NOT taking</action>
|
||||
<action>Conduct competitive analysis: identify direct and indirect competitors, analyze what they do well and poorly, and define how this game will differ</action>
|
||||
<action>Explore key differentiators and unique value proposition - what's the hook that makes players choose this game over alternatives</action>
|
||||
<action>Challenge "just better" thinking - push for genuine, specific differentiation that's actually valuable to players</action>
|
||||
<action>Validate that differentiators are concrete, achievable, and compelling</action>
|
||||
|
||||
<template-output>inspiration_games</template-output>
|
||||
<template-output>competitive_analysis</template-output>
|
||||
<template-output>key_differentiators</template-output>
|
||||
</step>
|
||||
|
||||
<step n="8" goal="Define content framework" if="collaboration_mode == 'interactive'">
|
||||
<action>Explore the game's world and setting: location, time period, world-building depth, narrative importance, and genre context</action>
|
||||
<action>Define narrative approach: story-driven/light/absent, linear/branching/emergent, delivery methods (cutscenes, dialogue, environmental), writing scope</action>
|
||||
<action>Estimate content volume realistically: playthrough length, level/stage count, replayability strategy, total asset volume</action>
|
||||
<action>Identify if a dedicated narrative workflow will be needed later based on story complexity</action>
|
||||
<action>Flag content-heavy areas that require detailed planning and resource allocation</action>
|
||||
|
||||
<template-output>world_setting</template-output>
|
||||
<template-output>narrative_approach</template-output>
|
||||
<template-output>content_volume</template-output>
|
||||
</step>
|
||||
|
||||
<step n="9" goal="Define art and audio direction" if="collaboration_mode == 'interactive'">
|
||||
<action>Explore visual style direction: art style preference, color palette and mood, reference games/images, 2D vs 3D, animation requirements</action>
|
||||
<action>Define audio style: music genre and mood, SFX approach, voice acting scope, audio's importance to gameplay</action>
|
||||
<action>Discuss production approach: in-house creation vs outsourcing, asset store usage, AI/generative tools, style complexity vs team capability</action>
|
||||
<action>Ensure art and audio vision aligns realistically with budget and team skills - identify potential production bottlenecks early</action>
|
||||
<action>Note if a comprehensive style guide will be needed for consistent production</action>
|
||||
|
||||
<template-output>visual_style</template-output>
|
||||
<template-output>audio_style</template-output>
|
||||
<template-output>production_approach</template-output>
|
||||
</step>
|
||||
|
||||
<step n="10" goal="Assess risks" if="collaboration_mode == 'interactive'">
|
||||
<action>Facilitate honest risk assessment across all dimensions - what could prevent completion, what could make it unfun, what assumptions might be wrong</action>
|
||||
<action>Identify technical challenges: unproven elements, performance concerns, platform-specific issues, tool dependencies</action>
|
||||
<action>Explore market risks: saturation, trend dependency, competition intensity, discoverability challenges</action>
|
||||
<action>For each major risk, develop actionable mitigation strategies - how to validate assumptions, backup plans, early prototyping opportunities</action>
|
||||
<action>Prioritize risks by impact and likelihood, focusing on proactive mitigation rather than passive worry</action>
|
||||
|
||||
<template-output>key_risks</template-output>
|
||||
<template-output>technical_challenges</template-output>
|
||||
<template-output>market_risks</template-output>
|
||||
<template-output>mitigation_strategies</template-output>
|
||||
</step>
|
||||
|
||||
<step n="11" goal="Define success criteria" if="collaboration_mode == 'interactive'">
|
||||
<action>Define the MVP (Minimum Playable Version) - what's the absolute minimum where the core loop is fun and complete, with essential content only</action>
|
||||
<action>Establish specific, measurable success metrics: player acquisition, retention rates, session length, completion rate, review scores, revenue targets, community engagement</action>
|
||||
<action>Set concrete launch goals: first-month sales/downloads, review score targets, streamer/press coverage, community size</action>
|
||||
<action>Push for specificity and measurability - challenge vague aspirations with "how will you measure that?"</action>
|
||||
<action>Clearly distinguish between MVP milestones and full release goals, ensuring all targets are realistic given resources</action>
|
||||
|
||||
<template-output>mvp_definition</template-output>
|
||||
<template-output>success_metrics</template-output>
|
||||
<template-output>launch_goals</template-output>
|
||||
</step>
|
||||
|
||||
<step n="12" goal="Identify immediate next steps" if="collaboration_mode == 'interactive'">
|
||||
<action>Identify immediate actions to take right after this brief: prototype core mechanics, create art style tests, validate technical feasibility, build vertical slice, playtest with target audience</action>
|
||||
<action>Determine research needs: market validation, technical proof of concept, player interest testing, competitive deep-dive</action>
|
||||
<action>Document open questions and uncertainties: unresolved design questions, technical unknowns, market validation needs, resource/budget questions</action>
|
||||
<action>Create actionable, specific next steps - prioritize by importance and dependency</action>
|
||||
<action>Identify blockers that must be resolved before moving forward</action>
|
||||
|
||||
<template-output>immediate_actions</template-output>
|
||||
<template-output>research_needs</template-output>
|
||||
<template-output>open_questions</template-output>
|
||||
</step>
|
||||
|
||||
<!-- YOLO Mode - Generate everything then refine -->
|
||||
<step n="3" goal="Generate complete brief draft" if="collaboration_mode == 'yolo'">
|
||||
<action>Based on initial context and any provided documents, generate a complete game brief covering all sections</action>
|
||||
<action>Make reasonable assumptions where information is missing</action>
|
||||
<action>Flag areas that need user validation with [NEEDS CONFIRMATION] tags</action>
|
||||
|
||||
<template-output>core_concept</template-output>
|
||||
<template-output>elevator_pitch</template-output>
|
||||
<template-output>vision_statement</template-output>
|
||||
<template-output>primary_audience</template-output>
|
||||
<template-output>secondary_audience</template-output>
|
||||
<template-output>market_context</template-output>
|
||||
<template-output>core_gameplay_pillars</template-output>
|
||||
<template-output>primary_mechanics</template-output>
|
||||
<template-output>player_experience_goals</template-output>
|
||||
<template-output>target_platforms</template-output>
|
||||
<template-output>development_timeline</template-output>
|
||||
<template-output>budget_considerations</template-output>
|
||||
<template-output>team_resources</template-output>
|
||||
<template-output>technical_constraints</template-output>
|
||||
<template-output>inspiration_games</template-output>
|
||||
<template-output>competitive_analysis</template-output>
|
||||
<template-output>key_differentiators</template-output>
|
||||
<template-output>world_setting</template-output>
|
||||
<template-output>narrative_approach</template-output>
|
||||
<template-output>content_volume</template-output>
|
||||
<template-output>visual_style</template-output>
|
||||
<template-output>audio_style</template-output>
|
||||
<template-output>production_approach</template-output>
|
||||
<template-output>key_risks</template-output>
|
||||
<template-output>technical_challenges</template-output>
|
||||
<template-output>market_risks</template-output>
|
||||
<template-output>mitigation_strategies</template-output>
|
||||
<template-output>mvp_definition</template-output>
|
||||
<template-output>success_metrics</template-output>
|
||||
<template-output>launch_goals</template-output>
|
||||
<template-output>immediate_actions</template-output>
|
||||
<template-output>research_needs</template-output>
|
||||
<template-output>open_questions</template-output>
|
||||
|
||||
<action>Present the complete draft to the user</action>
|
||||
<ask>Here's the complete game brief draft. What would you like to adjust or refine?</ask>
|
||||
</step>
|
||||
|
||||
<step n="4" goal="Refine brief sections" repeat="until-approved" if="collaboration_mode == 'yolo'">
|
||||
<ask>Which section would you like to refine?
|
||||
|
||||
1. Game Vision
|
||||
2. Target Market
|
||||
3. Game Fundamentals
|
||||
4. Scope and Constraints
|
||||
5. Reference Framework
|
||||
6. Content Framework
|
||||
7. Art and Audio Direction
|
||||
8. Risk Assessment
|
||||
9. Success Criteria
|
||||
10. Next Steps
|
||||
11. Save and continue</ask>
|
||||
|
||||
<action>Work with user to refine selected section</action>
|
||||
<action>Update relevant template outputs</action>
|
||||
</step>
|
||||
|
||||
<!-- Final steps for both modes -->
|
||||
<step n="13" goal="Create executive summary">
|
||||
<action>Synthesize all sections into a compelling executive summary</action>
|
||||
<action>Include:
|
||||
- Game concept in 1-2 sentences
|
||||
- Target audience and market
|
||||
- Core gameplay pillars
|
||||
- Key differentiators
|
||||
- Success vision</action>
|
||||
|
||||
<template-output>executive_summary</template-output>
|
||||
</step>
|
||||
|
||||
<step n="14" goal="Compile supporting materials">
|
||||
<action>If research documents were provided, create a summary of key findings</action>
|
||||
<action>Document any stakeholder input received during the process</action>
|
||||
<action>Compile list of reference games and resources</action>
|
||||
|
||||
<template-output>research_summary</template-output>
|
||||
<template-output>stakeholder_input</template-output>
|
||||
<template-output>references</template-output>
|
||||
</step>
|
||||
|
||||
<step n="15" goal="Final review and handoff">
|
||||
<action>Generate the complete game brief document</action>
|
||||
<action>Review all sections for completeness and consistency</action>
|
||||
<action>Flag any areas that need design attention with [DESIGN-TODO] tags</action>
|
||||
|
||||
<ask>The game brief is complete! Would you like to:
|
||||
|
||||
1. Review the entire document
|
||||
2. Make final adjustments
|
||||
3. Generate an executive summary version (3-page limit)
|
||||
4. Save and prepare for GDD creation
|
||||
|
||||
This brief will serve as the primary input for creating the Game Design Document (GDD).
|
||||
|
||||
**Recommended next steps:**
|
||||
|
||||
- Create prototype of core mechanic
|
||||
- Proceed to GDD workflow: `workflow gdd`
|
||||
- Validate assumptions with target players</ask>
|
||||
|
||||
<check if="user chooses option 3 (executive summary)">
|
||||
<action>Create condensed 3-page executive brief focusing on: core concept, target market, gameplay pillars, key differentiators, and success criteria</action>
|
||||
<action>Save as: {output_folder}/game-brief-executive-{{game_name}}-{{date}}.md</action>
|
||||
</check>
|
||||
|
||||
<template-output>final_brief</template-output>
|
||||
<template-output>executive_brief</template-output>
|
||||
</step>
|
||||
|
||||
<step n="16" goal="Update status and complete" tag="workflow-status">
|
||||
<check if="standalone_mode != true">
|
||||
<action>Load the FULL file: {output_folder}/bmgd-workflow-status.yaml</action>
|
||||
<action>Find workflow_status key "game-brief"</action>
|
||||
<critical>ONLY write the file path as the status value - no other text, notes, or metadata</critical>
|
||||
<action>Update workflow_status["game-brief"] = "{output_folder}/bmm-game-brief-{{game_name}}-{{date}}.md"</action>
|
||||
<action>Save file, preserving ALL comments and structure including STATUS DEFINITIONS</action>
|
||||
|
||||
<action>Find first non-completed workflow in workflow_status (next workflow to do)</action>
|
||||
<action>Determine next agent from path file based on next workflow</action>
|
||||
</check>
|
||||
|
||||
<output>**✅ Game Brief Complete, {user_name}!**
|
||||
|
||||
**Brief Document:**
|
||||
|
||||
- Game brief saved to {output_folder}/bmm-game-brief-{{game_name}}-{{date}}.md
|
||||
|
||||
{{#if standalone_mode != true}}
|
||||
**Status Updated:**
|
||||
|
||||
- Progress tracking updated: game-brief marked complete
|
||||
- Next workflow: {{next_workflow}}
|
||||
{{else}}
|
||||
**Note:** Running in standalone mode (no progress tracking)
|
||||
{{/if}}
|
||||
|
||||
**Next Steps:**
|
||||
|
||||
{{#if standalone_mode != true}}
|
||||
|
||||
- **Next workflow:** {{next_workflow}} ({{next_agent}} agent)
|
||||
- **Optional:** Consider creating a prototype of core mechanic or validating assumptions with target players before proceeding
|
||||
|
||||
Check status anytime with: `workflow-status`
|
||||
{{else}}
|
||||
Since no workflow is in progress:
|
||||
|
||||
- Refer to the BMM workflow guide if unsure what to do next
|
||||
- Or run `workflow-init` to create a workflow path and get guided next steps
|
||||
{{/if}}
|
||||
</output>
|
||||
</step>
|
||||
|
||||
</workflow>
|
||||
@@ -0,0 +1,224 @@
|
||||
---
|
||||
name: 'step-01-init'
|
||||
description: 'Initialize the Game Brief workflow by detecting continuation state and setting up the document'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/1-preproduction/game-brief'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-01-init.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-02-vision.md'
|
||||
continueStepFile: '{workflow_path}/steps/step-01b-continue.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/game-brief.md'
|
||||
|
||||
# Template References
|
||||
briefTemplate: '{workflow_path}/templates/game-brief-template.md'
|
||||
---
|
||||
|
||||
# Step 1: Workflow Initialization
|
||||
|
||||
**Progress: Step 1 of 8** - Next: Game Vision
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Initialize the Game Brief workflow by detecting continuation state, discovering any input documents (brainstorming, research), and setting up the document structure.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- NEVER generate content without user input
|
||||
- CRITICAL: Read the complete step file before taking any action
|
||||
- CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- YOU ARE A FACILITATOR, not a content generator
|
||||
- NEVER mention time estimates
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- You are a veteran game designer facilitator collaborating with a creative peer
|
||||
- If you already have been given a name, communication_style and persona, continue to use those while playing this new role
|
||||
- We engage in collaborative dialogue, not command-response
|
||||
- You bring structured game design thinking and facilitation skills
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- Focus only on initialization and setup - no content generation yet
|
||||
- FORBIDDEN to look ahead to future steps or assume knowledge from them
|
||||
- Approach: Systematic setup with clear reporting to user
|
||||
- Detect existing workflow state and handle continuation properly
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- Show your analysis of current state before taking any action
|
||||
- Initialize document structure and update frontmatter appropriately
|
||||
- Set up frontmatter `stepsCompleted: [1]` before loading next step
|
||||
- FORBIDDEN to load next step until user selects 'C' (Continue)
|
||||
|
||||
## CONTEXT BOUNDARIES:
|
||||
|
||||
- Available context: Variables from workflow.md are available in memory
|
||||
- Focus: Workflow initialization and document setup only
|
||||
- Limits: Don't assume knowledge from other steps or create content yet
|
||||
- Dependencies: Configuration loaded from workflow.md initialization
|
||||
|
||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
||||
|
||||
### 1. Check for Existing Workflow State
|
||||
|
||||
First, check if the output document already exists:
|
||||
|
||||
**Workflow State Detection:**
|
||||
|
||||
- Look for file at `{outputFile}`
|
||||
- If exists, read the complete file including frontmatter
|
||||
- If not exists, this is a fresh workflow
|
||||
|
||||
### 2. Handle Continuation (If Document Exists)
|
||||
|
||||
If the document exists and has frontmatter with `stepsCompleted`:
|
||||
|
||||
**Continuation Protocol:**
|
||||
|
||||
- **STOP immediately** and load `{continueStepFile}`
|
||||
- Do not proceed with any initialization tasks
|
||||
- Let step-01b handle all continuation logic
|
||||
- This is an auto-proceed situation - no user choice needed
|
||||
|
||||
### 3. Fresh Workflow Setup (If No Document)
|
||||
|
||||
If no document exists or no `stepsCompleted` in frontmatter:
|
||||
|
||||
#### A. Input Document Discovery
|
||||
|
||||
Discover and load context documents using smart discovery.
|
||||
|
||||
**IMPORTANT: Track document counts as you discover files.**
|
||||
|
||||
Initialize counters:
|
||||
|
||||
```
|
||||
brainstormingCount = 0
|
||||
researchCount = 0
|
||||
notesCount = 0
|
||||
```
|
||||
|
||||
**Brainstorming Documents:**
|
||||
|
||||
1. Check: `{output_folder}/*brainstorm*.md`
|
||||
2. Check: `{output_folder}/analysis/*brainstorm*.md`
|
||||
3. Load completely and extract key ideas
|
||||
4. **Update brainstormingCount with number of files found**
|
||||
|
||||
**Research Documents:**
|
||||
|
||||
1. Check: `{output_folder}/*research*.md`
|
||||
2. Check: `{output_folder}/analysis/*research*.md`
|
||||
3. Load useful research files completely
|
||||
4. **Update researchCount with number of files found**
|
||||
|
||||
**Design Notes:**
|
||||
|
||||
1. Check: `{output_folder}/*notes*.md` or `{output_folder}/*design*.md`
|
||||
2. Load any relevant design notes
|
||||
3. **Update notesCount with number of files found**
|
||||
|
||||
**Loading Rules:**
|
||||
|
||||
- Load ALL discovered files completely (no offset/limit)
|
||||
- Track all successfully loaded files in frontmatter `inputDocuments` array
|
||||
|
||||
#### B. Create Initial Document
|
||||
|
||||
**Document Setup:**
|
||||
|
||||
- Copy the template from `{briefTemplate}` to `{outputFile}`
|
||||
- Initialize frontmatter with proper structure:
|
||||
|
||||
```yaml
|
||||
---
|
||||
stepsCompleted: []
|
||||
inputDocuments: []
|
||||
documentCounts:
|
||||
brainstorming: { { brainstormingCount } }
|
||||
research: { { researchCount } }
|
||||
notes: { { notesCount } }
|
||||
workflowType: 'game-brief'
|
||||
lastStep: 0
|
||||
project_name: '{{project_name}}'
|
||||
user_name: '{{user_name}}'
|
||||
date: '{{date}}'
|
||||
game_name: ''
|
||||
---
|
||||
```
|
||||
|
||||
#### C. Present Initialization Results
|
||||
|
||||
**Setup Report to User:**
|
||||
|
||||
"Welcome {{user_name}}! I've set up your Game Brief workspace.
|
||||
|
||||
**Document Setup:**
|
||||
|
||||
- Created: `{outputFile}` from template
|
||||
- Initialized frontmatter with workflow state
|
||||
|
||||
**Input Documents Discovered:**
|
||||
|
||||
- Brainstorming: {{brainstormingCount}} files {if brainstormingCount > 0}loaded{else}(none found){/if}
|
||||
- Research: {{researchCount}} files {if researchCount > 0}loaded{else}(none found){/if}
|
||||
- Design notes: {{notesCount}} files {if notesCount > 0}loaded{else}(none found){/if}
|
||||
|
||||
{if any_documents_found}
|
||||
I'll use these documents to give us a head start on your game brief.
|
||||
{else}
|
||||
We'll start fresh and build your game vision together through conversation.
|
||||
{/if}
|
||||
|
||||
Do you have any other documents you'd like me to include, or shall we continue?"
|
||||
|
||||
### 4. Present MENU OPTIONS
|
||||
|
||||
Display menu after setup report:
|
||||
|
||||
"[C] Continue - Save this and move to Game Vision (Step 2 of 8)"
|
||||
|
||||
#### Menu Handling Logic:
|
||||
|
||||
- IF C: Update frontmatter with `stepsCompleted: [1]`, then load, read entire file, then execute {nextStepFile}
|
||||
- IF user provides additional files: Load them, update inputDocuments and documentCounts, redisplay report
|
||||
- IF user asks questions: Answer and redisplay menu
|
||||
|
||||
#### EXECUTION RULES:
|
||||
|
||||
- ALWAYS halt and wait for user input after presenting menu
|
||||
- ONLY proceed to next step when user selects 'C'
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN [C continue option] is selected and [frontmatter properly updated with stepsCompleted: [1] and documentCounts], will you then load and read fully `{nextStepFile}` to execute and begin game vision discovery.
|
||||
|
||||
---
|
||||
|
||||
## SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### SUCCESS:
|
||||
|
||||
- Existing workflow detected and properly handed off to step-01b
|
||||
- Fresh workflow initialized with template and proper frontmatter
|
||||
- Input documents discovered and loaded
|
||||
- All discovered files tracked in frontmatter `inputDocuments`
|
||||
- **Document counts stored in frontmatter `documentCounts`**
|
||||
- Menu presented and user input handled correctly
|
||||
- Frontmatter updated with `stepsCompleted: [1]` before proceeding
|
||||
|
||||
### SYSTEM FAILURE:
|
||||
|
||||
- Proceeding with fresh initialization when existing workflow exists
|
||||
- Not updating frontmatter with discovered input documents
|
||||
- **Not storing document counts in frontmatter**
|
||||
- Creating document without proper template structure
|
||||
- Proceeding without user selecting 'C' (Continue)
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
@@ -0,0 +1,152 @@
|
||||
---
|
||||
name: 'step-01b-continue'
|
||||
description: 'Resume an interrupted Game Brief workflow from the last completed step'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/1-preproduction/game-brief'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-01b-continue.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/game-brief.md'
|
||||
---
|
||||
|
||||
# Step 1B: Workflow Continuation
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Resume the Game Brief workflow from where it was left off, ensuring smooth continuation with full context restoration.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- NEVER generate content without user input
|
||||
- CRITICAL: Read the complete step file before taking any action
|
||||
- CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- YOU ARE A FACILITATOR, not a content generator
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- You are a veteran game designer facilitator collaborating with a creative peer
|
||||
- We engage in collaborative dialogue, not command-response
|
||||
- Resume workflow from exact point where it was interrupted
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- FOCUS on understanding where we left off and continuing appropriately
|
||||
- FORBIDDEN to modify content completed in previous steps
|
||||
- Only reload documents that were already tracked in `inputDocuments`
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- Show your analysis of current state before taking action
|
||||
- Keep existing frontmatter `stepsCompleted` values
|
||||
- Only load documents that were already tracked in `inputDocuments`
|
||||
- FORBIDDEN to discover new input documents during continuation
|
||||
|
||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
||||
|
||||
### 1. Analyze Current State
|
||||
|
||||
**State Assessment:**
|
||||
Review the frontmatter to understand:
|
||||
|
||||
- `stepsCompleted`: Which steps are already done
|
||||
- `lastStep`: The most recently completed step number
|
||||
- `inputDocuments`: What context was already loaded
|
||||
- `documentCounts`: brainstorming, research, notes counts
|
||||
- `game_name`: The game name (if set)
|
||||
- All other frontmatter variables
|
||||
|
||||
### 2. Restore Context Documents
|
||||
|
||||
**Context Reloading:**
|
||||
|
||||
- For each document in `inputDocuments`, load the complete file
|
||||
- This ensures you have full context for continuation
|
||||
- Don't discover new documents - only reload what was previously processed
|
||||
|
||||
### 3. Present Current Progress
|
||||
|
||||
**Progress Report to User:**
|
||||
"Welcome back {{user_name}}! I'm resuming our Game Brief collaboration for {{game_name or project_name}}.
|
||||
|
||||
**Current Progress:**
|
||||
|
||||
- Steps completed: {stepsCompleted}
|
||||
- Last worked on: Step {lastStep}
|
||||
- Context documents available: {len(inputDocuments)} files
|
||||
|
||||
**Document Status:**
|
||||
|
||||
- Current Game Brief is ready with all completed sections
|
||||
- Ready to continue from where we left off
|
||||
|
||||
Does this look right, or do you want to make any adjustments before we proceed?"
|
||||
|
||||
### 4. Determine Continuation Path
|
||||
|
||||
**Next Step Logic:**
|
||||
Based on `lastStep` value, determine which step to load next:
|
||||
|
||||
- If `lastStep = 1` -> Load `./step-02-vision.md`
|
||||
- If `lastStep = 2` -> Load `./step-03-market.md`
|
||||
- If `lastStep = 3` -> Load `./step-04-fundamentals.md`
|
||||
- If `lastStep = 4` -> Load `./step-05-scope.md`
|
||||
- If `lastStep = 5` -> Load `./step-06-references.md`
|
||||
- If `lastStep = 6` -> Load `./step-07-content.md`
|
||||
- If `lastStep = 7` -> Load `./step-08-complete.md`
|
||||
- If `lastStep = 8` -> Workflow already complete
|
||||
|
||||
### 5. Handle Workflow Completion
|
||||
|
||||
**If workflow already complete (`lastStep = 8`):**
|
||||
"Great news! It looks like we've already completed the Game Brief workflow for {{game_name}}.
|
||||
|
||||
The final document is ready at `{outputFile}` with all sections completed.
|
||||
|
||||
Would you like me to:
|
||||
|
||||
- Review the completed brief with you
|
||||
- Suggest next workflow steps (like GDD creation)
|
||||
- Start a new brief revision
|
||||
|
||||
What would be most helpful?"
|
||||
|
||||
### 6. Present MENU OPTIONS
|
||||
|
||||
**If workflow not complete:**
|
||||
Display: "Ready to continue with Step {nextStepNumber}?
|
||||
|
||||
**Select an Option:** [C] Continue to next step"
|
||||
|
||||
#### Menu Handling Logic:
|
||||
|
||||
- IF C: Load, read entire file, then execute the appropriate next step file based on `lastStep`
|
||||
- IF Any other comments or queries: respond and redisplay menu
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN [C continue option] is selected and [current state confirmed], will you then load and read fully the appropriate next step file to resume the workflow.
|
||||
|
||||
---
|
||||
|
||||
## SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### SUCCESS:
|
||||
|
||||
- All previous input documents successfully reloaded
|
||||
- Current workflow state accurately analyzed and presented
|
||||
- User confirms understanding of progress before continuation
|
||||
- Correct next step identified and prepared for loading
|
||||
|
||||
### SYSTEM FAILURE:
|
||||
|
||||
- Discovering new input documents instead of reloading existing ones
|
||||
- Modifying content from already completed steps
|
||||
- Loading wrong next step based on `lastStep` value
|
||||
- Proceeding without user confirmation of current state
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
@@ -0,0 +1,219 @@
|
||||
---
|
||||
name: 'step-02-vision'
|
||||
description: 'Define the core game vision including name, concept, pitch, and vision statement'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/1-preproduction/game-brief'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-02-vision.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-03-market.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/game-brief.md'
|
||||
|
||||
# Task References
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
---
|
||||
|
||||
# Step 2: Game Vision
|
||||
|
||||
**Progress: Step 2 of 8** - Next: Target Market
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Capture the core game vision including the working title, one-sentence concept, elevator pitch, and aspirational vision statement that will guide all design decisions.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- NEVER generate content without user input
|
||||
- CRITICAL: Read the complete step file before taking any action
|
||||
- CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- YOU ARE A FACILITATOR, not a content generator
|
||||
- NEVER mention time estimates
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- You are a veteran game designer facilitator collaborating with a creative peer
|
||||
- Vision is the foundation - get it right before moving forward
|
||||
- Challenge vague language and elevate compelling ideas
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- Focus on crystallizing the game's core identity
|
||||
- FORBIDDEN to generate vision without real user input
|
||||
- Push for specificity and clarity
|
||||
- Reference successful games as examples of good pitches
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- Show your analysis before taking any action
|
||||
- Present A/P/C menu after generating content
|
||||
- ONLY save when user chooses C (Continue)
|
||||
- Update frontmatter `stepsCompleted: [1, 2]` before loading next step
|
||||
- FORBIDDEN to load next step until C is selected
|
||||
|
||||
## COLLABORATION MENUS (A/P/C):
|
||||
|
||||
- **A (Advanced Elicitation)**: Dig deeper into the vision
|
||||
- **P (Party Mode)**: Get multiple perspectives on the vision
|
||||
- **C (Continue)**: Save the content to the document and proceed to next step
|
||||
|
||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
||||
|
||||
### 1. Game Name Discovery
|
||||
|
||||
**Start with the basics:**
|
||||
|
||||
"Let's start with your game's identity.
|
||||
|
||||
**What's the working title for your game?**
|
||||
|
||||
(Don't worry if it's not final - working titles help us talk about the game and can always change later.)"
|
||||
|
||||
Store in frontmatter: `game_name: '{user_provided_name}'`
|
||||
|
||||
### 2. Context Check
|
||||
|
||||
**If input documents were loaded:**
|
||||
|
||||
"I've reviewed your {brainstorming/research} documents and noticed some interesting ideas:
|
||||
|
||||
{summarize_key_themes_from_documents}
|
||||
|
||||
Let's use these as a starting point for crystallizing your vision."
|
||||
|
||||
### 3. Core Concept Discovery
|
||||
|
||||
**Guide user through concept definition:**
|
||||
|
||||
"Now let's capture the essence of {{game_name}} in a single sentence.
|
||||
|
||||
**Examples of great one-sentence concepts:**
|
||||
|
||||
- 'A roguelike deck-builder where you climb a mysterious spire' (Slay the Spire)
|
||||
- 'A precision platformer about climbing a mountain and overcoming anxiety' (Celeste)
|
||||
- 'A cozy farming sim where you rebuild your grandfather's farm and become part of a small town' (Stardew Valley)
|
||||
|
||||
**What is {{game_name}}?** Give me one sentence that captures the core experience."
|
||||
|
||||
### 4. Elevator Pitch Discovery
|
||||
|
||||
**Build on the concept:**
|
||||
|
||||
"Now let's expand that into an elevator pitch - 2-3 sentences that would compel a player or publisher to want to know more.
|
||||
|
||||
**A great elevator pitch answers:**
|
||||
|
||||
- What is it? (genre, style)
|
||||
- What do you do? (core action)
|
||||
- What makes it special? (hook)
|
||||
|
||||
**Refine this until it hooks attention.** What's your elevator pitch for {{game_name}}?"
|
||||
|
||||
### 5. Vision Statement Discovery
|
||||
|
||||
**Explore the aspirational vision:**
|
||||
|
||||
"Finally, let's capture your aspirational vision - the experience you want to create and what makes it meaningful.
|
||||
|
||||
**Questions to consider:**
|
||||
|
||||
- What feeling do you want players to have when they put down the controller?
|
||||
- What would make this game matter to someone?
|
||||
- What's your personal motivation for making this?
|
||||
|
||||
**This is your North Star** - ambitious yet achievable. What's your vision for {{game_name}}?"
|
||||
|
||||
### 6. Generate Vision Content
|
||||
|
||||
Based on the conversation, prepare the content:
|
||||
|
||||
```markdown
|
||||
## Game Vision
|
||||
|
||||
### Core Concept
|
||||
|
||||
{{core_concept}}
|
||||
|
||||
### Elevator Pitch
|
||||
|
||||
{{elevator_pitch}}
|
||||
|
||||
### Vision Statement
|
||||
|
||||
{{vision_statement}}
|
||||
```
|
||||
|
||||
### 7. Present Content and Menu
|
||||
|
||||
Show the generated content to the user and present:
|
||||
|
||||
"I've drafted the Game Vision section based on our conversation.
|
||||
|
||||
**Here's what I'll add to the document:**
|
||||
|
||||
[Show the complete markdown content from step 6]
|
||||
|
||||
**Validation Check:**
|
||||
|
||||
- Does the core concept capture the essence?
|
||||
- Does the pitch hook attention?
|
||||
- Does the vision inspire?
|
||||
|
||||
**Select an Option:**
|
||||
[A] Advanced Elicitation - Refine and strengthen the vision
|
||||
[P] Party Mode - Get other perspectives on the vision
|
||||
[C] Continue - Save this and move to Target Market (Step 3 of 8)"
|
||||
|
||||
### 8. Handle Menu Selection
|
||||
|
||||
#### IF A (Advanced Elicitation):
|
||||
|
||||
- Execute {advancedElicitationTask} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF P (Party Mode):
|
||||
|
||||
- Execute {partyModeWorkflow} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF C (Continue):
|
||||
|
||||
- Append the final content to `{outputFile}`
|
||||
- Update frontmatter: `stepsCompleted: [1, 2]`, `game_name: '{game_name}'`
|
||||
- Load `{nextStepFile}`
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN [C continue option] is selected and [vision content saved with frontmatter updated including game_name], will you then load and read fully `{nextStepFile}`.
|
||||
|
||||
---
|
||||
|
||||
## SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### SUCCESS:
|
||||
|
||||
- Game name captured and stored in frontmatter
|
||||
- Core concept is clear and concise (one sentence)
|
||||
- Elevator pitch is compelling (2-3 sentences)
|
||||
- Vision statement is aspirational yet achievable
|
||||
- A/P/C menu presented and handled correctly
|
||||
- Frontmatter updated with stepsCompleted: [1, 2]
|
||||
|
||||
### SYSTEM FAILURE:
|
||||
|
||||
- Generating vision without user input
|
||||
- Core concept is vague or generic
|
||||
- Elevator pitch doesn't hook attention
|
||||
- Not presenting A/P/C menu after content generation
|
||||
- Proceeding without user selecting 'C'
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
@@ -0,0 +1,219 @@
|
||||
---
|
||||
name: 'step-03-market'
|
||||
description: 'Define target audience and market context'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/1-preproduction/game-brief'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-03-market.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-04-fundamentals.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/game-brief.md'
|
||||
|
||||
# Task References
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
---
|
||||
|
||||
# Step 3: Target Market
|
||||
|
||||
**Progress: Step 3 of 8** - Next: Game Fundamentals
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Define the primary and secondary target audiences with specific demographics, and establish the market context including competitive landscape and timing.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- NEVER generate content without user input
|
||||
- CRITICAL: Read the complete step file before taking any action
|
||||
- CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- YOU ARE A FACILITATOR, not a content generator
|
||||
- NEVER mention time estimates
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- You are a veteran game designer facilitator collaborating with a creative peer
|
||||
- Push for specificity beyond generic descriptions
|
||||
- Challenge vague answers like "people who like fun games"
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- Focus on who will actually play this game
|
||||
- FORBIDDEN to generate audience without real user input
|
||||
- Help identify a realistic and reachable audience segment
|
||||
- Consider secondary audiences if applicable
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- Show your analysis before taking any action
|
||||
- Present A/P/C menu after generating content
|
||||
- ONLY save when user chooses C (Continue)
|
||||
- Update frontmatter `stepsCompleted: [1, 2, 3]` before loading next step
|
||||
|
||||
## COLLABORATION MENUS (A/P/C):
|
||||
|
||||
- **A (Advanced Elicitation)**: Dig deeper into audience insights
|
||||
- **P (Party Mode)**: Get multiple perspectives on market positioning
|
||||
- **C (Continue)**: Save the content and proceed
|
||||
|
||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
||||
|
||||
### 1. Primary Audience Discovery
|
||||
|
||||
**Guide user through audience definition:**
|
||||
|
||||
"Let's define who {{game_name}} is really for.
|
||||
|
||||
**Primary Audience Questions:**
|
||||
|
||||
- **Age range:** Who are you designing for?
|
||||
- **Gaming experience:** Casual, core, or hardcore gamers?
|
||||
- **Genre familiarity:** Do they know this genre well, or are they new to it?
|
||||
- **Play patterns:** When and how do they play? (commute, evening sessions, weekends)
|
||||
- **Motivations:** What draws them to games like this?
|
||||
|
||||
**Push for specificity:**
|
||||
'People who like roguelikes' is too broad. 'Experienced roguelike fans who want deeper deckbuilding strategy' is better.
|
||||
|
||||
Who is your primary audience for {{game_name}}?"
|
||||
|
||||
### 2. Secondary Audience Discovery
|
||||
|
||||
**Explore additional audiences:**
|
||||
|
||||
"Are there secondary audiences who might enjoy {{game_name}}?
|
||||
|
||||
**Examples:**
|
||||
|
||||
- Primary: Hardcore roguelike fans → Secondary: Strategy game players looking for something new
|
||||
- Primary: Cozy game fans → Secondary: Burnt-out competitive gamers seeking relaxation
|
||||
|
||||
**If you have a secondary audience:**
|
||||
|
||||
- How do their needs differ from primary?
|
||||
- What features might appeal specifically to them?
|
||||
|
||||
Do you have a secondary audience in mind?"
|
||||
|
||||
### 3. Market Context Discovery
|
||||
|
||||
**Explore the competitive landscape:**
|
||||
|
||||
"Let's understand the market context for {{game_name}}.
|
||||
|
||||
**Market Questions:**
|
||||
|
||||
- **Similar successful games:** What games have proven there's an audience?
|
||||
- **Market gaps:** What's missing that {{game_name}} could fill?
|
||||
- **Timing:** Why is now the right time for this game?
|
||||
- **Competition:** Who are you competing with for player attention?
|
||||
- **Discoverability:** How will players find your game?
|
||||
|
||||
What does the market look like for {{game_name}}?"
|
||||
|
||||
### 4. Generate Market Content
|
||||
|
||||
Based on the conversation, prepare the content:
|
||||
|
||||
```markdown
|
||||
## Target Market
|
||||
|
||||
### Primary Audience
|
||||
|
||||
{{primary_audience_description}}
|
||||
|
||||
**Demographics:**
|
||||
{{demographics}}
|
||||
|
||||
**Gaming Preferences:**
|
||||
{{gaming_preferences}}
|
||||
|
||||
**Motivations:**
|
||||
{{what_draws_them}}
|
||||
|
||||
### Secondary Audience
|
||||
|
||||
{{secondary_audience_description}}
|
||||
|
||||
### Market Context
|
||||
|
||||
{{market_context_analysis}}
|
||||
|
||||
**Similar Successful Games:**
|
||||
{{comparable_titles}}
|
||||
|
||||
**Market Opportunity:**
|
||||
{{why_now}}
|
||||
```
|
||||
|
||||
### 5. Present Content and Menu
|
||||
|
||||
Show the generated content to the user and present:
|
||||
|
||||
"I've drafted the Target Market section based on our conversation.
|
||||
|
||||
**Here's what I'll add to the document:**
|
||||
|
||||
[Show the complete markdown content from step 4]
|
||||
|
||||
**Validation Check:**
|
||||
|
||||
- Is the primary audience specific enough to guide design decisions?
|
||||
- Does the market context support the viability of this game?
|
||||
|
||||
**Select an Option:**
|
||||
[A] Advanced Elicitation - Dig deeper into market insights
|
||||
[P] Party Mode - Get perspectives on market positioning
|
||||
[C] Continue - Save this and move to Game Fundamentals (Step 4 of 8)"
|
||||
|
||||
### 6. Handle Menu Selection
|
||||
|
||||
#### IF A (Advanced Elicitation):
|
||||
|
||||
- Execute {advancedElicitationTask} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF P (Party Mode):
|
||||
|
||||
- Execute {partyModeWorkflow} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF C (Continue):
|
||||
|
||||
- Append the final content to `{outputFile}`
|
||||
- Update frontmatter: `stepsCompleted: [1, 2, 3]`
|
||||
- Load `{nextStepFile}`
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN [C continue option] is selected and [market content saved with frontmatter updated], will you then load and read fully `{nextStepFile}`.
|
||||
|
||||
---
|
||||
|
||||
## SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### SUCCESS:
|
||||
|
||||
- Primary audience is specific and well-defined
|
||||
- Secondary audience considered (even if none exists)
|
||||
- Market context provides business rationale
|
||||
- A/P/C menu presented and handled correctly
|
||||
- Frontmatter updated with stepsCompleted: [1, 2, 3]
|
||||
|
||||
### SYSTEM FAILURE:
|
||||
|
||||
- Generating audience without user input
|
||||
- Audience is too vague to guide decisions
|
||||
- Not presenting A/P/C menu after content generation
|
||||
- Proceeding without user selecting 'C'
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
@@ -0,0 +1,232 @@
|
||||
---
|
||||
name: 'step-04-fundamentals'
|
||||
description: 'Define core gameplay pillars, mechanics, and player experience goals'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/1-preproduction/game-brief'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-04-fundamentals.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-05-scope.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/game-brief.md'
|
||||
|
||||
# Task References
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
---
|
||||
|
||||
# Step 4: Game Fundamentals
|
||||
|
||||
**Progress: Step 4 of 8** - Next: Scope & Constraints
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Define the core gameplay pillars (fundamental design tenets), primary mechanics (what players do), and player experience goals (what feelings are designed for).
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- NEVER generate content without user input
|
||||
- CRITICAL: Read the complete step file before taking any action
|
||||
- CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- YOU ARE A FACILITATOR, not a content generator
|
||||
- NEVER mention time estimates
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- You are a veteran game designer facilitator collaborating with a creative peer
|
||||
- Pillars are the "constitution" - everything must serve them
|
||||
- Connect mechanics directly to emotional experiences
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- Focus on the core of what makes this game unique
|
||||
- FORBIDDEN to generate fundamentals without real user input
|
||||
- Ensure pillars are specific and measurable
|
||||
- Focus on player actions rather than implementation details
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- Show your analysis before taking any action
|
||||
- Present A/P/C menu after generating content
|
||||
- ONLY save when user chooses C (Continue)
|
||||
- Update frontmatter `stepsCompleted: [1, 2, 3, 4]` before loading next step
|
||||
|
||||
## COLLABORATION MENUS (A/P/C):
|
||||
|
||||
- **A (Advanced Elicitation)**: Stress test the fundamentals
|
||||
- **P (Party Mode)**: Get perspectives on core design
|
||||
- **C (Continue)**: Save the content and proceed
|
||||
|
||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
||||
|
||||
### 1. Core Pillars Discovery
|
||||
|
||||
**Guide user through pillar definition:**
|
||||
|
||||
"Let's define the core pillars for {{game_name}} - the 2-4 fundamental design tenets that everything must serve.
|
||||
|
||||
**Examples of Great Pillars:**
|
||||
|
||||
| Game | Pillars |
|
||||
| ------------------ | --------------------------------------------------------- |
|
||||
| **Hollow Knight** | Tight controls, challenging combat, rewarding exploration |
|
||||
| **Celeste** | Precision movement, accessibility, emotional narrative |
|
||||
| **Dead Cells** | Mastery, variety, momentum |
|
||||
| **Stardew Valley** | Relaxation, progression, community |
|
||||
|
||||
**Questions to consider:**
|
||||
|
||||
- If a feature doesn't serve a pillar, should it be in the game?
|
||||
- When pillars conflict, which wins?
|
||||
|
||||
What are the 2-4 core pillars for {{game_name}}?"
|
||||
|
||||
### 2. Primary Mechanics Discovery
|
||||
|
||||
**Explore what players actually do:**
|
||||
|
||||
"Now let's define what players actually DO in {{game_name}}.
|
||||
|
||||
**Think in verbs - what actions define the experience?**
|
||||
|
||||
Examples:
|
||||
|
||||
- Jump, dash, climb (movement)
|
||||
- Attack, dodge, parry (combat)
|
||||
- Craft, build, place (creation)
|
||||
- Talk, choose, influence (social)
|
||||
- Collect, trade, manage (economy)
|
||||
|
||||
**Questions to consider:**
|
||||
|
||||
- What's the core action players repeat most often?
|
||||
- What actions create the most satisfying moments?
|
||||
- How do different mechanics interact?
|
||||
|
||||
What are the primary mechanics in {{game_name}}?"
|
||||
|
||||
### 3. Experience Goals Discovery
|
||||
|
||||
**Define the emotional targets:**
|
||||
|
||||
"Finally, let's define the player experience goals - what feelings are you designing for?
|
||||
|
||||
**Emotional Experience Framework:**
|
||||
|
||||
| Emotion | Examples |
|
||||
| ------------------------- | -------------------------------------- |
|
||||
| **Tension/Relief** | Horror games, difficult boss fights |
|
||||
| **Mastery/Growth** | Skill-based games, RPG progression |
|
||||
| **Creativity/Expression** | Sandbox games, character customization |
|
||||
| **Discovery/Surprise** | Exploration games, mystery narratives |
|
||||
| **Connection/Belonging** | Multiplayer, community-driven games |
|
||||
| **Relaxation/Flow** | Cozy games, rhythm games |
|
||||
|
||||
**Questions to consider:**
|
||||
|
||||
- What feeling do you want players to have after a session?
|
||||
- What emotional journey happens during play?
|
||||
- What makes this experience meaningful?
|
||||
|
||||
What are the player experience goals for {{game_name}}?"
|
||||
|
||||
### 4. Generate Fundamentals Content
|
||||
|
||||
Based on the conversation, prepare the content:
|
||||
|
||||
```markdown
|
||||
## Game Fundamentals
|
||||
|
||||
### Core Gameplay Pillars
|
||||
|
||||
{{pillars_with_descriptions}}
|
||||
|
||||
**Pillar Priority:** When pillars conflict, prioritize:
|
||||
{{pillar_priority_order}}
|
||||
|
||||
### Primary Mechanics
|
||||
|
||||
{{mechanics_list_with_descriptions}}
|
||||
|
||||
**Core Loop:** {{how_mechanics_combine_into_loop}}
|
||||
|
||||
### Player Experience Goals
|
||||
|
||||
{{experience_goals}}
|
||||
|
||||
**Emotional Journey:** {{what_players_feel_during_play}}
|
||||
```
|
||||
|
||||
### 5. Present Content and Menu
|
||||
|
||||
Show the generated content to the user and present:
|
||||
|
||||
"I've drafted the Game Fundamentals section based on our conversation.
|
||||
|
||||
**Here's what I'll add to the document:**
|
||||
|
||||
[Show the complete markdown content from step 4]
|
||||
|
||||
**Validation Check:**
|
||||
|
||||
- Do all pillars support your vision?
|
||||
- Do mechanics serve the pillars?
|
||||
- Do experience goals match your audience?
|
||||
|
||||
**Select an Option:**
|
||||
[A] Advanced Elicitation - Stress test these fundamentals
|
||||
[P] Party Mode - Get other perspectives on core design
|
||||
[C] Continue - Save this and move to Scope & Constraints (Step 5 of 8)"
|
||||
|
||||
### 6. Handle Menu Selection
|
||||
|
||||
#### IF A (Advanced Elicitation):
|
||||
|
||||
- Execute {advancedElicitationTask} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF P (Party Mode):
|
||||
|
||||
- Execute {partyModeWorkflow} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF C (Continue):
|
||||
|
||||
- Append the final content to `{outputFile}`
|
||||
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4]`
|
||||
- Load `{nextStepFile}`
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN [C continue option] is selected and [fundamentals content saved with frontmatter updated], will you then load and read fully `{nextStepFile}`.
|
||||
|
||||
---
|
||||
|
||||
## SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### SUCCESS:
|
||||
|
||||
- 2-4 clear, actionable pillars defined
|
||||
- Primary mechanics clearly described
|
||||
- Experience goals tied to audience and vision
|
||||
- Pillar priority established
|
||||
- A/P/C menu presented and handled correctly
|
||||
- Frontmatter updated with stepsCompleted: [1, 2, 3, 4]
|
||||
|
||||
### SYSTEM FAILURE:
|
||||
|
||||
- Generating fundamentals without user input
|
||||
- Generic pillars that don't guide decisions
|
||||
- Mechanics disconnected from experience goals
|
||||
- Not presenting A/P/C menu after content generation
|
||||
- Proceeding without user selecting 'C'
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
@@ -0,0 +1,243 @@
|
||||
---
|
||||
name: 'step-05-scope'
|
||||
description: 'Define project scope including platforms, constraints, and resources'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/1-preproduction/game-brief'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-05-scope.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-06-references.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/game-brief.md'
|
||||
|
||||
# Task References
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
---
|
||||
|
||||
# Step 5: Scope & Constraints
|
||||
|
||||
**Progress: Step 5 of 8** - Next: Reference Framework
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Define realistic project constraints including target platforms, budget considerations, team resources, and technical constraints. Push for realism about scope.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- NEVER generate content without user input
|
||||
- CRITICAL: Read the complete step file before taking any action
|
||||
- CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- YOU ARE A FACILITATOR, not a content generator
|
||||
- NEVER mention time estimates
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- You are a veteran game designer facilitator collaborating with a creative peer
|
||||
- Push for realism about constraints
|
||||
- Identify potential blockers early
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- Focus on establishing realistic boundaries
|
||||
- FORBIDDEN to generate scope without real user input
|
||||
- Help identify skill gaps and resource assumptions
|
||||
- Document constraints that will affect design decisions
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- Show your analysis before taking any action
|
||||
- Present A/P/C menu after generating content
|
||||
- ONLY save when user chooses C (Continue)
|
||||
- Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5]` before loading next step
|
||||
|
||||
## COLLABORATION MENUS (A/P/C):
|
||||
|
||||
- **A (Advanced Elicitation)**: Challenge assumptions about scope
|
||||
- **P (Party Mode)**: Get perspectives on feasibility
|
||||
- **C (Continue)**: Save the content and proceed
|
||||
|
||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
||||
|
||||
### 1. Platform Discovery
|
||||
|
||||
**Guide user through platform selection:**
|
||||
|
||||
"Let's define where {{game_name}} will be played.
|
||||
|
||||
**Platform Considerations:**
|
||||
|
||||
| Platform | Key Considerations |
|
||||
| -------------- | ------------------------------------------------------- |
|
||||
| **PC (Steam)** | Keyboard/mouse, largest indie audience, most flexible |
|
||||
| **Console** | Controller-first, certification, couch play |
|
||||
| **Mobile** | Touch controls, short sessions, different monetization |
|
||||
| **Web** | Instant access, file size limits, browser compatibility |
|
||||
| **VR** | Specialized hardware, motion controls, comfort |
|
||||
|
||||
**Questions to consider:**
|
||||
|
||||
- Where does your target audience primarily play?
|
||||
- Which platform(s) are you targeting for launch?
|
||||
- Are there secondary platforms for later?
|
||||
|
||||
What platform(s) are you targeting for {{game_name}}?"
|
||||
|
||||
### 2. Budget Considerations
|
||||
|
||||
**Explore financial constraints:**
|
||||
|
||||
"Let's be realistic about budget constraints.
|
||||
|
||||
**Budget Categories:**
|
||||
|
||||
- **Development costs:** Tools, software, hardware
|
||||
- **Asset creation:** Art, audio, music (in-house vs outsource)
|
||||
- **Marketing:** Visibility, trailers, press
|
||||
- **Platform fees:** Store cuts, devkit costs
|
||||
- **External services:** Servers, analytics, localization
|
||||
|
||||
**Questions to consider:**
|
||||
|
||||
- What's your budget reality? (self-funded, funded, shoestring)
|
||||
- What can you create yourself vs need to outsource?
|
||||
- Are there areas where budget will limit scope?
|
||||
|
||||
What are the budget considerations for {{game_name}}?"
|
||||
|
||||
### 3. Team Resources Discovery
|
||||
|
||||
**Assess team capabilities:**
|
||||
|
||||
"Let's understand what team resources you have.
|
||||
|
||||
**Resource Questions:**
|
||||
|
||||
- **Team size:** Solo, small team, larger team?
|
||||
- **Roles covered:** Design, programming, art, audio, marketing?
|
||||
- **Availability:** Full-time, part-time, nights/weekends?
|
||||
- **Skill gaps:** What expertise is missing?
|
||||
- **Outsourcing:** What might need external help?
|
||||
|
||||
What team resources do you have for {{game_name}}?"
|
||||
|
||||
### 4. Technical Constraints Discovery
|
||||
|
||||
**Identify technical boundaries:**
|
||||
|
||||
"Finally, let's identify technical constraints.
|
||||
|
||||
**Technical Considerations:**
|
||||
|
||||
- **Engine/framework:** Already decided or open?
|
||||
- **Performance targets:** Frame rate, file size, load times?
|
||||
- **Technical experience:** Team's technical capabilities?
|
||||
- **Accessibility:** What accessibility features are required?
|
||||
- **Online features:** Multiplayer, leaderboards, cloud saves?
|
||||
|
||||
What technical constraints apply to {{game_name}}?"
|
||||
|
||||
### 5. Generate Scope Content
|
||||
|
||||
Based on the conversation, prepare the content:
|
||||
|
||||
```markdown
|
||||
## Scope and Constraints
|
||||
|
||||
### Target Platforms
|
||||
|
||||
**Primary:** {{primary_platform}}
|
||||
**Secondary:** {{secondary_platforms}}
|
||||
|
||||
### Budget Considerations
|
||||
|
||||
{{budget_overview}}
|
||||
|
||||
### Team Resources
|
||||
|
||||
{{team_composition}}
|
||||
|
||||
**Skill Gaps:** {{identified_gaps}}
|
||||
|
||||
### Technical Constraints
|
||||
|
||||
{{technical_constraints}}
|
||||
|
||||
### Scope Realities
|
||||
|
||||
{{scope_acknowledgements}}
|
||||
```
|
||||
|
||||
### 6. Present Content and Menu
|
||||
|
||||
Show the generated content to the user and present:
|
||||
|
||||
"I've drafted the Scope & Constraints section based on our conversation.
|
||||
|
||||
**Here's what I'll add to the document:**
|
||||
|
||||
[Show the complete markdown content from step 5]
|
||||
|
||||
**Validation Check:**
|
||||
|
||||
- Are these constraints realistic?
|
||||
- Have we identified potential blockers?
|
||||
- Is the scope achievable with these resources?
|
||||
|
||||
**Select an Option:**
|
||||
[A] Advanced Elicitation - Challenge scope assumptions
|
||||
[P] Party Mode - Get perspectives on feasibility
|
||||
[C] Continue - Save this and move to Reference Framework (Step 6 of 8)"
|
||||
|
||||
### 7. Handle Menu Selection
|
||||
|
||||
#### IF A (Advanced Elicitation):
|
||||
|
||||
- Execute {advancedElicitationTask} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF P (Party Mode):
|
||||
|
||||
- Execute {partyModeWorkflow} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF C (Continue):
|
||||
|
||||
- Append the final content to `{outputFile}`
|
||||
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5]`
|
||||
- Load `{nextStepFile}`
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN [C continue option] is selected and [scope content saved with frontmatter updated], will you then load and read fully `{nextStepFile}`.
|
||||
|
||||
---
|
||||
|
||||
## SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### SUCCESS:
|
||||
|
||||
- Target platforms clearly defined
|
||||
- Budget constraints documented realistically
|
||||
- Team resources and gaps identified
|
||||
- Technical constraints established
|
||||
- A/P/C menu presented and handled correctly
|
||||
- Frontmatter updated with stepsCompleted: [1, 2, 3, 4, 5]
|
||||
|
||||
### SYSTEM FAILURE:
|
||||
|
||||
- Generating scope without user input
|
||||
- Unrealistic constraints that set project up for failure
|
||||
- Missing critical blockers
|
||||
- Not presenting A/P/C menu after content generation
|
||||
- Proceeding without user selecting 'C'
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
@@ -0,0 +1,225 @@
|
||||
---
|
||||
name: 'step-06-references'
|
||||
description: 'Define inspiration games, competitive analysis, and key differentiators'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/1-preproduction/game-brief'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-06-references.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-07-content.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/game-brief.md'
|
||||
|
||||
# Task References
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
---
|
||||
|
||||
# Step 6: Reference Framework
|
||||
|
||||
**Progress: Step 6 of 8** - Next: Content Framework
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Identify inspiration games (what you're drawing from and NOT taking), analyze competition, and define concrete differentiators that make this game worth making.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- NEVER generate content without user input
|
||||
- CRITICAL: Read the complete step file before taking any action
|
||||
- CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- YOU ARE A FACILITATOR, not a content generator
|
||||
- NEVER mention time estimates
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- You are a veteran game designer facilitator collaborating with a creative peer
|
||||
- Challenge "just better" thinking
|
||||
- Push for genuine, specific differentiation
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- Focus on what makes this game unique
|
||||
- FORBIDDEN to generate references without real user input
|
||||
- Validate that differentiators are concrete and achievable
|
||||
- Understand both what you're taking AND what you're avoiding
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- Show your analysis before taking any action
|
||||
- Present A/P/C menu after generating content
|
||||
- ONLY save when user chooses C (Continue)
|
||||
- Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6]` before loading next step
|
||||
|
||||
## COLLABORATION MENUS (A/P/C):
|
||||
|
||||
- **A (Advanced Elicitation)**: Challenge differentiation claims
|
||||
- **P (Party Mode)**: Get perspectives on uniqueness
|
||||
- **C (Continue)**: Save the content and proceed
|
||||
|
||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
||||
|
||||
### 1. Inspiration Games Discovery
|
||||
|
||||
**Guide user through references:**
|
||||
|
||||
"Let's identify the games that inspire {{game_name}}.
|
||||
|
||||
**For each inspiration game, I want to know:**
|
||||
|
||||
1. **What game?**
|
||||
2. **What are you taking?** (mechanics, feel, art style, structure)
|
||||
3. **What are you NOT taking?** (equally important!)
|
||||
|
||||
**Example:**
|
||||
|
||||
- 'From Hades: the combat feel and build variety'
|
||||
- 'NOT from Hades: the roguelike structure or the dialogue system'
|
||||
|
||||
What 3-5 games inspire {{game_name}}, and what specifically are you drawing from each?"
|
||||
|
||||
### 2. Competitive Analysis Discovery
|
||||
|
||||
**Explore the competition:**
|
||||
|
||||
"Now let's analyze your competition.
|
||||
|
||||
**Competition Questions:**
|
||||
|
||||
- **Direct competitors:** Games that scratch the same itch
|
||||
- **What they do well:** Why do players love them?
|
||||
- **What they do poorly:** Where do they fall short?
|
||||
- **Market positioning:** How crowded is this space?
|
||||
|
||||
**For {{game_name}}, who are you competing with?**
|
||||
|
||||
Remember: if there are no competitors, that might mean there's no market. Some competition is healthy."
|
||||
|
||||
### 3. Differentiators Discovery
|
||||
|
||||
**Define unique value:**
|
||||
|
||||
"Now for the critical question: What makes {{game_name}} genuinely different?
|
||||
|
||||
**Differentiation Test:**
|
||||
|
||||
A strong differentiator passes ALL of these:
|
||||
|
||||
1. Is it concrete and achievable?
|
||||
2. Does it matter to your target audience?
|
||||
3. Can competitors easily copy it?
|
||||
4. Would you still make the game without it?
|
||||
|
||||
**Challenge 'just better' thinking:**
|
||||
'Better graphics' or 'more content' aren't differentiators - they're expectations.
|
||||
|
||||
What 2-4 things make {{game_name}} genuinely different and worth players' attention?"
|
||||
|
||||
### 4. Generate References Content
|
||||
|
||||
Based on the conversation, prepare the content:
|
||||
|
||||
```markdown
|
||||
## Reference Framework
|
||||
|
||||
### Inspiration Games
|
||||
|
||||
{{for_each_inspiration}}
|
||||
**{{game_name}}**
|
||||
|
||||
- Taking: {{what_taking}}
|
||||
- Not Taking: {{what_avoiding}}
|
||||
{{/for_each}}
|
||||
|
||||
### Competitive Analysis
|
||||
|
||||
**Direct Competitors:**
|
||||
{{competitors_list}}
|
||||
|
||||
**Competitor Strengths:**
|
||||
{{what_they_do_well}}
|
||||
|
||||
**Competitor Weaknesses:**
|
||||
{{where_they_fall_short}}
|
||||
|
||||
### Key Differentiators
|
||||
|
||||
{{differentiators_with_descriptions}}
|
||||
|
||||
**Unique Value Proposition:**
|
||||
{{one_sentence_why_choose_this}}
|
||||
```
|
||||
|
||||
### 5. Present Content and Menu
|
||||
|
||||
Show the generated content to the user and present:
|
||||
|
||||
"I've drafted the Reference Framework section based on our conversation.
|
||||
|
||||
**Here's what I'll add to the document:**
|
||||
|
||||
[Show the complete markdown content from step 4]
|
||||
|
||||
**Validation Check:**
|
||||
|
||||
- Are differentiators genuine, not just features?
|
||||
- Does the competitive analysis reveal opportunity?
|
||||
- Are inspirations specific about what you're taking vs avoiding?
|
||||
|
||||
**Select an Option:**
|
||||
[A] Advanced Elicitation - Challenge differentiation claims
|
||||
[P] Party Mode - Get perspectives on uniqueness
|
||||
[C] Continue - Save this and move to Content Framework (Step 7 of 8)"
|
||||
|
||||
### 6. Handle Menu Selection
|
||||
|
||||
#### IF A (Advanced Elicitation):
|
||||
|
||||
- Execute {advancedElicitationTask} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF P (Party Mode):
|
||||
|
||||
- Execute {partyModeWorkflow} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF C (Continue):
|
||||
|
||||
- Append the final content to `{outputFile}`
|
||||
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6]`
|
||||
- Load `{nextStepFile}`
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN [C continue option] is selected and [references content saved with frontmatter updated], will you then load and read fully `{nextStepFile}`.
|
||||
|
||||
---
|
||||
|
||||
## SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### SUCCESS:
|
||||
|
||||
- 3-5 inspiration games with specific takeaways
|
||||
- Competition analyzed with strengths and weaknesses
|
||||
- Differentiators are concrete and achievable
|
||||
- Unique value proposition is clear
|
||||
- A/P/C menu presented and handled correctly
|
||||
- Frontmatter updated with stepsCompleted: [1, 2, 3, 4, 5, 6]
|
||||
|
||||
### SYSTEM FAILURE:
|
||||
|
||||
- Generating references without user input
|
||||
- Generic differentiators like "better gameplay"
|
||||
- Missing the "not taking" aspect of inspirations
|
||||
- Not presenting A/P/C menu after content generation
|
||||
- Proceeding without user selecting 'C'
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
@@ -0,0 +1,283 @@
|
||||
---
|
||||
name: 'step-07-content'
|
||||
description: 'Define content framework, art/audio direction, and risk assessment'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/1-preproduction/game-brief'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-07-content.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-08-complete.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/game-brief.md'
|
||||
|
||||
# Task References
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
---
|
||||
|
||||
# Step 7: Content & Production
|
||||
|
||||
**Progress: Step 7 of 8** - Next: Final Review
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Define the content framework (world, narrative approach, volume), art and audio direction, and assess key risks with mitigation strategies.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- NEVER generate content without user input
|
||||
- CRITICAL: Read the complete step file before taking any action
|
||||
- CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- YOU ARE A FACILITATOR, not a content generator
|
||||
- NEVER mention time estimates
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- You are a veteran game designer facilitator collaborating with a creative peer
|
||||
- Ensure art/audio vision aligns with budget and team
|
||||
- Facilitate honest risk assessment
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- Focus on production realities
|
||||
- FORBIDDEN to generate content framework without user input
|
||||
- Flag content-heavy areas that need planning
|
||||
- Prioritize risks by impact and likelihood
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- Show your analysis before taking any action
|
||||
- Present A/P/C menu after generating content
|
||||
- ONLY save when user chooses C (Continue)
|
||||
- Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6, 7]` before loading next step
|
||||
|
||||
## COLLABORATION MENUS (A/P/C):
|
||||
|
||||
- **A (Advanced Elicitation)**: Deep dive into risks
|
||||
- **P (Party Mode)**: Get perspectives on feasibility
|
||||
- **C (Continue)**: Save the content and proceed
|
||||
|
||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
||||
|
||||
### 1. World & Setting Discovery
|
||||
|
||||
**Explore the game's world:**
|
||||
|
||||
"Let's define the world of {{game_name}}.
|
||||
|
||||
**World Questions:**
|
||||
|
||||
- **Setting:** Where and when does this take place?
|
||||
- **World-building depth:** How much lore matters?
|
||||
- **Narrative importance:** Story-driven or story-light?
|
||||
- **Atmosphere:** What mood should the world evoke?
|
||||
|
||||
Describe the world and setting for {{game_name}}."
|
||||
|
||||
### 2. Narrative Approach Discovery
|
||||
|
||||
**Define storytelling strategy:**
|
||||
|
||||
"How will {{game_name}} handle narrative?
|
||||
|
||||
**Narrative Approaches:**
|
||||
|
||||
| Approach | Examples |
|
||||
| ----------------- | ----------------------------------------- |
|
||||
| **Story-Driven** | Linear narrative with cutscenes, dialogue |
|
||||
| **Environmental** | Story told through world, items, visuals |
|
||||
| **Emergent** | Player creates their own stories |
|
||||
| **Minimal** | Pure gameplay, little to no story |
|
||||
|
||||
**Questions:**
|
||||
|
||||
- How is story delivered? (cutscenes, dialogue, text, environmental)
|
||||
- Is there a dedicated narrative workflow needed later?
|
||||
|
||||
What's the narrative approach for {{game_name}}?"
|
||||
|
||||
### 3. Art & Audio Direction Discovery
|
||||
|
||||
**Establish aesthetic vision:**
|
||||
|
||||
"Let's define the look and sound of {{game_name}}.
|
||||
|
||||
**Visual Style:**
|
||||
|
||||
- Art style (pixel, low-poly, stylized 3D, realistic)
|
||||
- Color palette and mood
|
||||
- Reference games or images
|
||||
- Animation complexity
|
||||
|
||||
**Audio Style:**
|
||||
|
||||
- Music genre and mood
|
||||
- Sound effect approach
|
||||
- Voice acting scope (none, grunts, partial, full)
|
||||
|
||||
**Production Reality:**
|
||||
|
||||
- What can be created in-house?
|
||||
- What needs outsourcing?
|
||||
- Are asset store/AI tools acceptable?
|
||||
|
||||
Describe the art and audio direction for {{game_name}}."
|
||||
|
||||
### 4. Risk Assessment Discovery
|
||||
|
||||
**Facilitate honest risk evaluation:**
|
||||
|
||||
"Now let's honestly assess the risks for {{game_name}}.
|
||||
|
||||
**Risk Categories:**
|
||||
|
||||
| Category | Questions |
|
||||
| ------------- | --------------------------------------- |
|
||||
| **Technical** | Unproven systems? Performance concerns? |
|
||||
| **Market** | Saturated genre? Discoverability? |
|
||||
| **Scope** | Too ambitious? Feature creep? |
|
||||
| **Team** | Skill gaps? Availability? |
|
||||
| **Financial** | Runway? Unexpected costs? |
|
||||
|
||||
**For each major risk:**
|
||||
|
||||
- What could go wrong?
|
||||
- How likely is it?
|
||||
- What's the impact if it happens?
|
||||
- How can we mitigate it?
|
||||
|
||||
What are the key risks for {{game_name}}?"
|
||||
|
||||
### 5. Generate Content & Production Content
|
||||
|
||||
Based on the conversation, prepare the content:
|
||||
|
||||
```markdown
|
||||
## Content Framework
|
||||
|
||||
### World and Setting
|
||||
|
||||
{{world_setting_description}}
|
||||
|
||||
### Narrative Approach
|
||||
|
||||
{{narrative_approach}}
|
||||
|
||||
**Story Delivery:** {{how_story_delivered}}
|
||||
|
||||
### Content Volume
|
||||
|
||||
{{content_volume_estimates}}
|
||||
|
||||
---
|
||||
|
||||
## Art and Audio Direction
|
||||
|
||||
### Visual Style
|
||||
|
||||
{{visual_style_description}}
|
||||
|
||||
**References:** {{reference_games_or_images}}
|
||||
|
||||
### Audio Style
|
||||
|
||||
{{audio_direction}}
|
||||
|
||||
### Production Approach
|
||||
|
||||
{{production_strategy}}
|
||||
|
||||
---
|
||||
|
||||
## Risk Assessment
|
||||
|
||||
### Key Risks
|
||||
|
||||
{{prioritized_risk_list}}
|
||||
|
||||
### Technical Challenges
|
||||
|
||||
{{technical_risks}}
|
||||
|
||||
### Market Risks
|
||||
|
||||
{{market_risks}}
|
||||
|
||||
### Mitigation Strategies
|
||||
|
||||
{{mitigation_strategies}}
|
||||
```
|
||||
|
||||
### 6. Present Content and Menu
|
||||
|
||||
Show the generated content to the user and present:
|
||||
|
||||
"I've drafted the Content & Production section based on our conversation.
|
||||
|
||||
**Here's what I'll add to the document:**
|
||||
|
||||
[Show the complete markdown content from step 5]
|
||||
|
||||
**Validation Check:**
|
||||
|
||||
- Does art/audio align with budget and team?
|
||||
- Have we identified the biggest risks?
|
||||
- Are mitigations actionable?
|
||||
|
||||
**Select an Option:**
|
||||
[A] Advanced Elicitation - Deep dive into risks
|
||||
[P] Party Mode - Get perspectives on feasibility
|
||||
[C] Continue - Save this and move to Final Review (Step 8 of 8)"
|
||||
|
||||
### 7. Handle Menu Selection
|
||||
|
||||
#### IF A (Advanced Elicitation):
|
||||
|
||||
- Execute {advancedElicitationTask} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF P (Party Mode):
|
||||
|
||||
- Execute {partyModeWorkflow} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF C (Continue):
|
||||
|
||||
- Append the final content to `{outputFile}`
|
||||
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6, 7]`
|
||||
- Load `{nextStepFile}`
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN [C continue option] is selected and [content saved with frontmatter updated], will you then load and read fully `{nextStepFile}`.
|
||||
|
||||
---
|
||||
|
||||
## SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### SUCCESS:
|
||||
|
||||
- World and setting clearly defined
|
||||
- Narrative approach documented
|
||||
- Art/audio direction established
|
||||
- Risks prioritized with mitigations
|
||||
- A/P/C menu presented and handled correctly
|
||||
- Frontmatter updated with stepsCompleted: [1, 2, 3, 4, 5, 6, 7]
|
||||
|
||||
### SYSTEM FAILURE:
|
||||
|
||||
- Generating content without user input
|
||||
- Art/audio vision misaligned with resources
|
||||
- Missing major risk categories
|
||||
- Not presenting A/P/C menu after content generation
|
||||
- Proceeding without user selecting 'C'
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
@@ -0,0 +1,297 @@
|
||||
---
|
||||
name: 'step-08-complete'
|
||||
description: 'Define success criteria and complete the game brief with handoff guidance'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/1-preproduction/game-brief'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-08-complete.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/game-brief.md'
|
||||
|
||||
# Workflow References
|
||||
gddWorkflow: '{project-root}/_bmad/bmgd/workflows/2-design/gdd/workflow.yaml'
|
||||
---
|
||||
|
||||
# Step 8: Success & Handoff
|
||||
|
||||
**Progress: Step 8 of 8** - Game Brief Complete!
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Define MVP scope, success metrics, immediate next steps, and provide clear handoff guidance for proceeding to GDD creation.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- NEVER generate content without user input
|
||||
- CRITICAL: Read the complete step file before taking any action
|
||||
- YOU ARE A FACILITATOR, not a content generator
|
||||
- NEVER mention time estimates
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- You are a veteran game designer facilitator collaborating with a creative peer
|
||||
- This is the final step - ensure completeness
|
||||
- Provide actionable next steps
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- Focus on measurable success criteria
|
||||
- Push for specificity - challenge vague aspirations
|
||||
- Clearly distinguish MVP from full release
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- Show your analysis before taking any action
|
||||
- Generate final sections
|
||||
- Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8]`
|
||||
- Present completion summary and next steps
|
||||
|
||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
||||
|
||||
### 1. MVP Definition Discovery
|
||||
|
||||
**Define minimum viable product:**
|
||||
|
||||
"Let's define the MVP (Minimum Playable Version) for {{game_name}}.
|
||||
|
||||
**MVP is the absolute minimum where:**
|
||||
|
||||
- Core gameplay loop is fun and complete
|
||||
- Only essential content is included
|
||||
- It could stand alone as a playable experience
|
||||
|
||||
**Questions:**
|
||||
|
||||
- What features are absolutely required?
|
||||
- What content is the minimum to prove the concept?
|
||||
- What can be cut and added later?
|
||||
|
||||
What's the MVP for {{game_name}}?"
|
||||
|
||||
### 2. Success Metrics Discovery
|
||||
|
||||
**Define measurable success:**
|
||||
|
||||
"Let's define how you'll measure success for {{game_name}}.
|
||||
|
||||
**Metric Categories:**
|
||||
|
||||
| Category | Examples |
|
||||
| ---------------------- | --------------------------------------- |
|
||||
| **Player Acquisition** | Wishlists, downloads, sales |
|
||||
| **Engagement** | Session length, retention, completion |
|
||||
| **Quality** | Review scores, bug reports |
|
||||
| **Community** | Discord members, streamers, fan content |
|
||||
| **Financial** | Revenue, ROI, sustainability |
|
||||
|
||||
**For each metric, answer:** How will you measure that?
|
||||
|
||||
What success metrics matter for {{game_name}}?"
|
||||
|
||||
### 3. Immediate Actions Discovery
|
||||
|
||||
**Identify next steps:**
|
||||
|
||||
"What should happen immediately after this brief is complete?
|
||||
|
||||
**Common Next Actions:**
|
||||
|
||||
- Prototype core mechanic
|
||||
- Create art style test
|
||||
- Validate technical feasibility
|
||||
- Build vertical slice
|
||||
- Playtest with target audience
|
||||
- Proceed to GDD workflow
|
||||
|
||||
**Open Questions:**
|
||||
|
||||
- What design questions are still unresolved?
|
||||
- What assumptions need validation?
|
||||
- What blockers must be resolved?
|
||||
|
||||
What are the immediate next steps for {{game_name}}?"
|
||||
|
||||
### 4. Generate Executive Summary
|
||||
|
||||
**Create summary section:**
|
||||
|
||||
Based on all previous sections, synthesize an executive summary:
|
||||
|
||||
```markdown
|
||||
## Executive Summary
|
||||
|
||||
{{game_name}} is {{core_concept}}.
|
||||
|
||||
**Target Audience:** {{primary_audience_summary}}
|
||||
|
||||
**Core Pillars:** {{pillars_list}}
|
||||
|
||||
**Key Differentiators:** {{top_differentiators}}
|
||||
|
||||
**Platform:** {{primary_platform}}
|
||||
|
||||
**Success Vision:** {{what_success_looks_like}}
|
||||
```
|
||||
|
||||
### 5. Generate Success & Next Steps Content
|
||||
|
||||
Based on the conversation, prepare the content:
|
||||
|
||||
```markdown
|
||||
## Success Criteria
|
||||
|
||||
### MVP Definition
|
||||
|
||||
{{mvp_scope}}
|
||||
|
||||
### Success Metrics
|
||||
|
||||
{{metrics_with_targets}}
|
||||
|
||||
### Launch Goals
|
||||
|
||||
{{launch_targets}}
|
||||
|
||||
---
|
||||
|
||||
## Next Steps
|
||||
|
||||
### Immediate Actions
|
||||
|
||||
{{prioritized_action_list}}
|
||||
|
||||
### Research Needs
|
||||
|
||||
{{research_requirements}}
|
||||
|
||||
### Open Questions
|
||||
|
||||
{{unresolved_questions}}
|
||||
```
|
||||
|
||||
### 6. Present Completion Summary
|
||||
|
||||
"**Game Brief Complete!**
|
||||
|
||||
{{user_name}}, the Game Brief for **{{game_name}}** is now complete!
|
||||
|
||||
**Brief Summary:**
|
||||
|
||||
- **Core Concept:** {{core_concept}}
|
||||
- **Target Audience:** {{primary_audience}}
|
||||
- **Pillars:** {{pillars}}
|
||||
- **Platform:** {{platform}}
|
||||
|
||||
**Sections Completed:**
|
||||
|
||||
1. Game Vision
|
||||
2. Target Market
|
||||
3. Game Fundamentals
|
||||
4. Scope & Constraints
|
||||
5. Reference Framework
|
||||
6. Content & Production
|
||||
7. Success Criteria
|
||||
8. Next Steps
|
||||
|
||||
**Document saved to:** `{outputFile}`
|
||||
|
||||
Do you want to review or adjust anything before we finalize?"
|
||||
|
||||
### 7. Present Next Steps Menu
|
||||
|
||||
**After user confirms completion:**
|
||||
|
||||
"**Recommended Next Steps for {{game_name}}:**
|
||||
|
||||
1. **Create GDD** - Transform this brief into a detailed Game Design Document
|
||||
- Command: `create-gdd` (Game Designer agent)
|
||||
- Input: This game brief
|
||||
- Output: Comprehensive GDD
|
||||
|
||||
2. **Prototype Core Mechanic** - Validate gameplay before full production
|
||||
|
||||
3. **Art Style Test** - Validate visual direction
|
||||
|
||||
4. **Market Validation** - Test interest with target audience
|
||||
|
||||
**Which would you like to do next?**
|
||||
|
||||
1. Start GDD workflow
|
||||
2. Review the completed brief
|
||||
3. Exit workflow"
|
||||
|
||||
### 8. Handle User Selection
|
||||
|
||||
Based on user choice:
|
||||
|
||||
**If 1 (Start GDD):**
|
||||
|
||||
- Update frontmatter with final `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8]`
|
||||
- Provide handoff guidance for GDD workflow
|
||||
|
||||
**If 2 (Review):**
|
||||
|
||||
- Present full document summary
|
||||
- Return to next steps menu
|
||||
|
||||
**If 3 (Exit):**
|
||||
|
||||
- Update frontmatter with final stepsCompleted
|
||||
- Confirm brief is saved
|
||||
- Exit workflow gracefully
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
This is the final step. Ensure:
|
||||
|
||||
- Executive summary is generated
|
||||
- All content is saved to game-brief.md
|
||||
- Frontmatter shows all 8 steps completed
|
||||
- User has clear actionable next steps
|
||||
- Handoff to GDD workflow is smooth
|
||||
|
||||
---
|
||||
|
||||
## SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### SUCCESS:
|
||||
|
||||
- MVP clearly scoped
|
||||
- Success metrics are measurable
|
||||
- Immediate actions are actionable
|
||||
- Executive summary synthesizes the brief
|
||||
- Document is complete and saved
|
||||
- Clear next steps provided
|
||||
- Frontmatter updated with all steps completed
|
||||
|
||||
### SYSTEM FAILURE:
|
||||
|
||||
- Missing MVP definition
|
||||
- Vague success metrics that can't be measured
|
||||
- No clear next steps
|
||||
- Frontmatter not updated to show completion
|
||||
- User left without actionable guidance
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
|
||||
---
|
||||
|
||||
## Game Brief Workflow Complete
|
||||
|
||||
The Game Brief workflow transforms a game idea into a validated vision through 8 collaborative steps:
|
||||
|
||||
1. **Initialize** - Set up workflow and discover input documents
|
||||
2. **Vision** - Capture core concept, pitch, and vision statement
|
||||
3. **Market** - Define target audience and market context
|
||||
4. **Fundamentals** - Establish pillars, mechanics, and experience goals
|
||||
5. **Scope** - Set realistic constraints and resources
|
||||
6. **References** - Identify inspirations and differentiators
|
||||
7. **Content** - Define world, art/audio, and assess risks
|
||||
8. **Complete** - Set success criteria and provide handoff
|
||||
|
||||
This step-file architecture ensures consistent, thorough game brief creation with user collaboration at every step.
|
||||
@@ -0,0 +1,205 @@
|
||||
# Game Brief: {{game_name}}
|
||||
|
||||
**Date:** {{date}}
|
||||
**Author:** {{user_name}}
|
||||
**Status:** Draft for GDD Development
|
||||
|
||||
---
|
||||
|
||||
## Executive Summary
|
||||
|
||||
{{executive_summary}}
|
||||
|
||||
---
|
||||
|
||||
## Game Vision
|
||||
|
||||
### Core Concept
|
||||
|
||||
{{core_concept}}
|
||||
|
||||
### Elevator Pitch
|
||||
|
||||
{{elevator_pitch}}
|
||||
|
||||
### Vision Statement
|
||||
|
||||
{{vision_statement}}
|
||||
|
||||
---
|
||||
|
||||
## Target Market
|
||||
|
||||
### Primary Audience
|
||||
|
||||
{{primary_audience}}
|
||||
|
||||
### Secondary Audience
|
||||
|
||||
{{secondary_audience}}
|
||||
|
||||
### Market Context
|
||||
|
||||
{{market_context}}
|
||||
|
||||
---
|
||||
|
||||
## Game Fundamentals
|
||||
|
||||
### Core Gameplay Pillars
|
||||
|
||||
{{core_gameplay_pillars}}
|
||||
|
||||
### Primary Mechanics
|
||||
|
||||
{{primary_mechanics}}
|
||||
|
||||
### Player Experience Goals
|
||||
|
||||
{{player_experience_goals}}
|
||||
|
||||
---
|
||||
|
||||
## Scope and Constraints
|
||||
|
||||
### Target Platforms
|
||||
|
||||
{{target_platforms}}
|
||||
|
||||
### Development Timeline
|
||||
|
||||
{{development_timeline}}
|
||||
|
||||
### Budget Considerations
|
||||
|
||||
{{budget_considerations}}
|
||||
|
||||
### Team Resources
|
||||
|
||||
{{team_resources}}
|
||||
|
||||
### Technical Constraints
|
||||
|
||||
{{technical_constraints}}
|
||||
|
||||
---
|
||||
|
||||
## Reference Framework
|
||||
|
||||
### Inspiration Games
|
||||
|
||||
{{inspiration_games}}
|
||||
|
||||
### Competitive Analysis
|
||||
|
||||
{{competitive_analysis}}
|
||||
|
||||
### Key Differentiators
|
||||
|
||||
{{key_differentiators}}
|
||||
|
||||
---
|
||||
|
||||
## Content Framework
|
||||
|
||||
### World and Setting
|
||||
|
||||
{{world_setting}}
|
||||
|
||||
### Narrative Approach
|
||||
|
||||
{{narrative_approach}}
|
||||
|
||||
### Content Volume
|
||||
|
||||
{{content_volume}}
|
||||
|
||||
---
|
||||
|
||||
## Art and Audio Direction
|
||||
|
||||
### Visual Style
|
||||
|
||||
{{visual_style}}
|
||||
|
||||
### Audio Style
|
||||
|
||||
{{audio_style}}
|
||||
|
||||
### Production Approach
|
||||
|
||||
{{production_approach}}
|
||||
|
||||
---
|
||||
|
||||
## Risk Assessment
|
||||
|
||||
### Key Risks
|
||||
|
||||
{{key_risks}}
|
||||
|
||||
### Technical Challenges
|
||||
|
||||
{{technical_challenges}}
|
||||
|
||||
### Market Risks
|
||||
|
||||
{{market_risks}}
|
||||
|
||||
### Mitigation Strategies
|
||||
|
||||
{{mitigation_strategies}}
|
||||
|
||||
---
|
||||
|
||||
## Success Criteria
|
||||
|
||||
### MVP Definition
|
||||
|
||||
{{mvp_definition}}
|
||||
|
||||
### Success Metrics
|
||||
|
||||
{{success_metrics}}
|
||||
|
||||
### Launch Goals
|
||||
|
||||
{{launch_goals}}
|
||||
|
||||
---
|
||||
|
||||
## Next Steps
|
||||
|
||||
### Immediate Actions
|
||||
|
||||
{{immediate_actions}}
|
||||
|
||||
### Research Needs
|
||||
|
||||
{{research_needs}}
|
||||
|
||||
### Open Questions
|
||||
|
||||
{{open_questions}}
|
||||
|
||||
---
|
||||
|
||||
## Appendices
|
||||
|
||||
### A. Research Summary
|
||||
|
||||
{{research_summary}}
|
||||
|
||||
### B. Stakeholder Input
|
||||
|
||||
{{stakeholder_input}}
|
||||
|
||||
### C. References
|
||||
|
||||
{{references}}
|
||||
|
||||
---
|
||||
|
||||
_This Game Brief serves as the foundational input for Game Design Document (GDD) creation._
|
||||
|
||||
_Next Steps: Use the `workflow gdd` command to create detailed game design documentation._
|
||||
@@ -0,0 +1,63 @@
|
||||
---
|
||||
name: create-game-brief
|
||||
description: Creates a comprehensive Game Brief through collaborative step-by-step discovery to capture game vision before detailed design.
|
||||
main_config: '{project-root}/_bmad/bmgd/config.yaml'
|
||||
web_bundle: true
|
||||
---
|
||||
|
||||
# Game Brief Workflow
|
||||
|
||||
**Goal:** Create comprehensive Game Briefs through collaborative step-by-step discovery to capture and validate the core game vision before detailed design work.
|
||||
|
||||
**Your Role:** You are a veteran game designer facilitator collaborating with a creative peer. This is a partnership, not a client-vendor relationship. You bring structured game design thinking and market awareness, while the user brings their game vision and creative ideas. Work together as equals. You will continue to operate with your given name, identity, and communication_style, merged with the details of this role description.
|
||||
|
||||
---
|
||||
|
||||
## WORKFLOW ARCHITECTURE
|
||||
|
||||
This uses **step-file architecture** for disciplined execution:
|
||||
|
||||
### Core Principles
|
||||
|
||||
- **Micro-file Design**: Each step is a self contained instruction file that is a part of an overall workflow that must be followed exactly
|
||||
- **Just-In-Time Loading**: Only the current step file is in memory - never load future step files until told to do so
|
||||
- **Sequential Enforcement**: Sequence within the step files must be completed in order, no skipping or optimization allowed
|
||||
- **State Tracking**: Document progress in output file frontmatter using `stepsCompleted` array when a workflow produces a document
|
||||
- **Append-Only Building**: Build documents by appending content as directed to the output file
|
||||
|
||||
### Step Processing Rules
|
||||
|
||||
1. **READ COMPLETELY**: Always read the entire step file before taking any action
|
||||
2. **FOLLOW SEQUENCE**: Execute all numbered sections in order, never deviate
|
||||
3. **WAIT FOR INPUT**: If a menu is presented, halt and wait for user selection
|
||||
4. **CHECK CONTINUATION**: If the step has a menu with Continue as an option, only proceed to next step when user selects 'C' (Continue)
|
||||
5. **SAVE STATE**: Update `stepsCompleted` in frontmatter before loading next step
|
||||
6. **LOAD NEXT**: When directed, load, read entire file, then execute the next step file
|
||||
|
||||
### Critical Rules (NO EXCEPTIONS)
|
||||
|
||||
- NEVER load multiple step files simultaneously
|
||||
- ALWAYS read entire step file before execution
|
||||
- NEVER skip steps or optimize the sequence
|
||||
- ALWAYS update frontmatter of output files when writing the final output for a specific step
|
||||
- ALWAYS follow the exact instructions in the step file
|
||||
- ALWAYS halt at menus and wait for user input
|
||||
- NEVER create mental todo lists from future steps
|
||||
- NEVER mention time estimates
|
||||
|
||||
---
|
||||
|
||||
## INITIALIZATION SEQUENCE
|
||||
|
||||
### 1. Configuration Loading
|
||||
|
||||
Load and read full config from {main_config} and resolve:
|
||||
|
||||
- `project_name`, `output_folder`, `user_name`
|
||||
- `communication_language`, `document_output_language`, `user_skill_level`
|
||||
- `date` as system-generated current datetime
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### 2. First Step EXECUTION
|
||||
|
||||
Load, read the full file and then execute `steps/step-01-init.md` to begin the workflow.
|
||||
@@ -0,0 +1,44 @@
|
||||
# Game Brief - Interactive Workflow Configuration
|
||||
name: game-brief
|
||||
description: "Interactive game brief creation workflow that guides users through defining their game vision with multiple input sources and conversational collaboration"
|
||||
author: "BMad"
|
||||
|
||||
# Critical variables from config
|
||||
config_source: "{project-root}/_bmad/bmgd/config.yaml"
|
||||
output_folder: "{config_source}:output_folder"
|
||||
user_name: "{config_source}:user_name"
|
||||
communication_language: "{config_source}:communication_language"
|
||||
document_output_language: "{config_source}:document_output_language"
|
||||
game_dev_experience: "{config_source}:game_dev_experience"
|
||||
date: system-generated
|
||||
|
||||
# Workflow components - Step-file architecture
|
||||
installed_path: "{project-root}/_bmad/bmgd/workflows/1-preproduction/game-brief"
|
||||
instructions: "{installed_path}/workflow.md"
|
||||
template: "{installed_path}/templates/game-brief-template.md"
|
||||
validation: "{installed_path}/checklist.md"
|
||||
|
||||
# Smart input file references - handles brainstorming/research docs
|
||||
input_file_patterns:
|
||||
brainstorm:
|
||||
description: "Brainstorming or ideation documents (optional)"
|
||||
whole: "{output_folder}/*brainstorm*.md"
|
||||
sharded: "{output_folder}/*brainstorm*/index.md"
|
||||
load_strategy: "FULL_LOAD"
|
||||
|
||||
research:
|
||||
description: "Market or domain research (optional)"
|
||||
whole: "{output_folder}/*research*.md"
|
||||
sharded: "{output_folder}/*research*/index.md"
|
||||
load_strategy: "FULL_LOAD"
|
||||
|
||||
inspiration:
|
||||
description: "Inspiration or reference documents (optional)"
|
||||
whole: "{output_folder}/*inspiration*.md"
|
||||
sharded: "{output_folder}/*inspiration*/index.md"
|
||||
load_strategy: "FULL_LOAD"
|
||||
|
||||
# Output configuration
|
||||
default_output_file: "{output_folder}/game-brief.md"
|
||||
|
||||
standalone: true
|
||||
@@ -0,0 +1,148 @@
|
||||
# GDD Workflow Validation Checklist
|
||||
|
||||
**Purpose**: Validate GDD workflow outputs are complete, playable, and ready for solutioning.
|
||||
|
||||
**Scope**: All game project levels (0-4)
|
||||
|
||||
**Expected Outputs**: GDD.md, epics.md
|
||||
|
||||
---
|
||||
|
||||
## 1. Output Files Exist
|
||||
|
||||
- [ ] GDD.md created in output folder
|
||||
- [ ] epics.md created in output folder (separate file)
|
||||
- [ ] bmm-workflow-status.md updated
|
||||
- [ ] No unfilled {{template_variables}}
|
||||
|
||||
---
|
||||
|
||||
## 2. Core Gameplay Definition (CRITICAL)
|
||||
|
||||
### Game Pillars
|
||||
|
||||
- [ ] **2-4 game pillars defined** (fundamental gameplay elements)
|
||||
- [ ] Each pillar is game-defining (not superficial)
|
||||
- [ ] Pillars are distinct (don't overlap)
|
||||
|
||||
### Core Gameplay Loop
|
||||
|
||||
- [ ] **Complete cycle documented** (what player does repeatedly)
|
||||
- [ ] Loop shows: player action → outcome → reward → motivation to repeat
|
||||
- [ ] Loop sounds compelling and repeatable
|
||||
|
||||
### Win/Loss Conditions
|
||||
|
||||
- [ ] Victory conditions clearly defined
|
||||
- [ ] Failure conditions defined (or N/A for sandbox games)
|
||||
- [ ] Conditions are testable
|
||||
|
||||
---
|
||||
|
||||
## 3. Game Mechanics and Systems
|
||||
|
||||
### Mechanics
|
||||
|
||||
- [ ] Primary mechanics described in detail
|
||||
- [ ] Mechanics support the game pillars
|
||||
- [ ] Player interaction with mechanics is clear
|
||||
|
||||
### Progression
|
||||
|
||||
- [ ] Player progression system defined (skill/power/unlock/narrative)
|
||||
- [ ] Difficulty curve explained
|
||||
- [ ] Progression feels rewarding
|
||||
|
||||
### Platform and Controls
|
||||
|
||||
- [ ] Target platforms specified
|
||||
- [ ] Control scheme appropriate for platforms
|
||||
- [ ] Input method clear (keyboard/gamepad/touch/etc.)
|
||||
|
||||
---
|
||||
|
||||
## 4. Story Quality (If epics.md exists)
|
||||
|
||||
### Epic Structure
|
||||
|
||||
- [ ] Epics represent deliverable game features
|
||||
- [ ] Epic sequence makes sense for game development
|
||||
- [ ] Stories show implementation path
|
||||
|
||||
### Story Sequencing (If stories present)
|
||||
|
||||
- [ ] **Vertical slices**: Each story delivers playable functionality
|
||||
- [ ] **Sequential ordering**: Stories build progressively
|
||||
- [ ] **No forward dependencies**: Each story builds on previous work only
|
||||
- [ ] Stories result in testable game features
|
||||
|
||||
---
|
||||
|
||||
## 5. Technical Specifications
|
||||
|
||||
### Performance and Platform
|
||||
|
||||
- [ ] Performance requirements specified (frame rate, resolution, etc.)
|
||||
- [ ] Platform-specific considerations noted
|
||||
- [ ] Asset requirements estimated
|
||||
|
||||
### Production Scope
|
||||
|
||||
- [ ] Art requirements realistic for project scale
|
||||
- [ ] Audio requirements documented
|
||||
- [ ] Scope matches project level and resources
|
||||
|
||||
---
|
||||
|
||||
## 6. Narrative Integration (If Applicable)
|
||||
|
||||
**If narrative-design.md was generated:**
|
||||
|
||||
- [ ] Narrative aligns with GDD game design
|
||||
- [ ] Story supports gameplay (not fighting it)
|
||||
- [ ] Tone consistent across GDD and narrative docs
|
||||
|
||||
---
|
||||
|
||||
## 7. Consistency
|
||||
|
||||
- [ ] Epic titles match between GDD.md and epics.md
|
||||
- [ ] Game type identified and appropriate
|
||||
- [ ] Terminology consistent throughout
|
||||
- [ ] No contradictions between sections
|
||||
|
||||
---
|
||||
|
||||
## 8. Readiness for Solutioning
|
||||
|
||||
- [ ] Sufficient detail for engine/platform selection
|
||||
- [ ] Game systems defined enough for technical architecture
|
||||
- [ ] Clear what needs to be built
|
||||
- [ ] Playable vision (reader can envision playing the game)
|
||||
|
||||
---
|
||||
|
||||
## 9. Critical Failures (Auto-Fail)
|
||||
|
||||
- [ ] ❌ **No core gameplay loop** (can't be a game without this)
|
||||
- [ ] ❌ **No game pillars** (game-defining elements missing)
|
||||
- [ ] ❌ **No mechanics** (what does player actually DO?)
|
||||
- [ ] ❌ **No epics.md file** (implementation roadmap required)
|
||||
- [ ] ❌ **Engine/tech in GDD** (should defer to solutioning workflow)
|
||||
|
||||
---
|
||||
|
||||
## Validation Notes
|
||||
|
||||
**Document any findings:**
|
||||
|
||||
- Game concept strength: [Compelling / Interesting / Unclear / Weak]
|
||||
- Strengths:
|
||||
- Issues to address:
|
||||
- Recommended actions:
|
||||
|
||||
**Ready for solutioning?** [Yes / No - explain]
|
||||
|
||||
---
|
||||
|
||||
_Adapt based on game type and narrative complexity. Core gameplay must always be solid._
|
||||
@@ -0,0 +1,25 @@
|
||||
id,name,description,genre_tags,fragment_file
|
||||
action-platformer,Action Platformer,"Side-scrolling or 3D platforming with combat mechanics","action,platformer,combat,movement",action-platformer.md
|
||||
puzzle,Puzzle,"Logic-based challenges and problem-solving","puzzle,logic,cerebral",puzzle.md
|
||||
rpg,RPG,"Character progression, stats, inventory, quests","rpg,stats,inventory,quests,narrative",rpg.md
|
||||
strategy,Strategy,"Resource management, tactical decisions, long-term planning","strategy,tactics,resources,planning",strategy.md
|
||||
shooter,Shooter,"Projectile combat, aiming mechanics, arena/level design","shooter,combat,aiming,fps,tps",shooter.md
|
||||
adventure,Adventure,"Story-driven exploration and narrative","adventure,narrative,exploration,story",adventure.md
|
||||
simulation,Simulation,"Realistic systems, management, building","simulation,management,sandbox,systems",simulation.md
|
||||
roguelike,Roguelike,"Procedural generation, permadeath, run-based progression","roguelike,procedural,permadeath,runs",roguelike.md
|
||||
moba,MOBA,"Multiplayer team battles, hero/champion selection, lanes","moba,multiplayer,pvp,heroes,lanes",moba.md
|
||||
fighting,Fighting,"1v1 combat, combos, frame data, competitive","fighting,combat,competitive,combos,pvp",fighting.md
|
||||
racing,Racing,"Vehicle control, tracks, speed, lap times","racing,vehicles,tracks,speed",racing.md
|
||||
sports,Sports,"Team-based or individual sports simulation","sports,teams,realistic,physics",sports.md
|
||||
survival,Survival,"Resource gathering, crafting, persistent threats","survival,crafting,resources,danger",survival.md
|
||||
horror,Horror,"Atmosphere, tension, limited resources, fear mechanics","horror,atmosphere,tension,fear",horror.md
|
||||
idle-incremental,Idle/Incremental,"Passive progression, upgrades, automation","idle,incremental,automation,progression",idle-incremental.md
|
||||
card-game,Card Game,"Deck building, card mechanics, turn-based strategy","card,deck-building,strategy,turns",card-game.md
|
||||
tower-defense,Tower Defense,"Wave-based defense, tower placement, resource management","tower-defense,waves,placement,strategy",tower-defense.md
|
||||
metroidvania,Metroidvania,"Interconnected world, ability gating, exploration","metroidvania,exploration,abilities,interconnected",metroidvania.md
|
||||
visual-novel,Visual Novel,"Narrative choices, branching story, dialogue","visual-novel,narrative,choices,story",visual-novel.md
|
||||
rhythm,Rhythm,"Music synchronization, timing-based gameplay","rhythm,music,timing,beats",rhythm.md
|
||||
turn-based-tactics,Turn-Based Tactics,"Grid-based movement, turn order, positioning","tactics,turn-based,grid,positioning",turn-based-tactics.md
|
||||
sandbox,Sandbox,"Creative freedom, building, minimal objectives","sandbox,creative,building,freedom",sandbox.md
|
||||
text-based,Text-Based,"Text input/output, parser or choice-based","text,parser,interactive-fiction,mud",text-based.md
|
||||
party-game,Party Game,"Local multiplayer, minigames, casual fun","party,multiplayer,minigames,casual",party-game.md
|
||||
|
@@ -0,0 +1,45 @@
|
||||
## Action Platformer Specific Elements
|
||||
|
||||
### Movement System
|
||||
|
||||
{{movement_mechanics}}
|
||||
|
||||
**Core movement abilities:**
|
||||
|
||||
- Jump mechanics (height, air control, coyote time)
|
||||
- Running/walking speed
|
||||
- Special movement (dash, wall-jump, double-jump, etc.)
|
||||
|
||||
### Combat System
|
||||
|
||||
{{combat_system}}
|
||||
|
||||
**Combat mechanics:**
|
||||
|
||||
- Attack types (melee, ranged, special)
|
||||
- Combo system
|
||||
- Enemy AI behavior patterns
|
||||
- Hit feedback and impact
|
||||
|
||||
### Level Design Patterns
|
||||
|
||||
{{level_design_patterns}}
|
||||
|
||||
**Level structure:**
|
||||
|
||||
- Platforming challenges
|
||||
- Combat arenas
|
||||
- Secret areas and collectibles
|
||||
- Checkpoint placement
|
||||
- Difficulty spikes and pacing
|
||||
|
||||
### Player Abilities and Unlocks
|
||||
|
||||
{{player_abilities}}
|
||||
|
||||
**Ability progression:**
|
||||
|
||||
- Starting abilities
|
||||
- Unlockable abilities
|
||||
- Ability synergies
|
||||
- Upgrade paths
|
||||
@@ -0,0 +1,84 @@
|
||||
## Adventure Specific Elements
|
||||
|
||||
<narrative-workflow-recommended>
|
||||
This game type is **narrative-heavy**. Consider running the Narrative Design workflow after completing the GDD to create:
|
||||
- Detailed story structure and beats
|
||||
- Character profiles and arcs
|
||||
- World lore and history
|
||||
- Dialogue framework
|
||||
- Environmental storytelling
|
||||
</narrative-workflow-recommended>
|
||||
|
||||
### Exploration Mechanics
|
||||
|
||||
{{exploration_mechanics}}
|
||||
|
||||
**Exploration design:**
|
||||
|
||||
- World structure (linear, open, hub-based, interconnected)
|
||||
- Movement and traversal
|
||||
- Observation and inspection mechanics
|
||||
- Discovery rewards (story reveals, items, secrets)
|
||||
- Pacing of exploration vs. story
|
||||
|
||||
### Story Integration
|
||||
|
||||
{{story_integration}}
|
||||
|
||||
**Narrative gameplay:**
|
||||
|
||||
- Story delivery methods (cutscenes, in-game, environmental)
|
||||
- Player agency in story (linear, branching, player-driven)
|
||||
- Story pacing (acts, beats, tension/release)
|
||||
- Character introduction and development
|
||||
- Climax and resolution structure
|
||||
|
||||
**Note:** Detailed story elements (plot, characters, lore) belong in the Narrative Design Document.
|
||||
|
||||
### Puzzle Systems
|
||||
|
||||
{{puzzle_systems}}
|
||||
|
||||
**Puzzle integration:**
|
||||
|
||||
- Puzzle types (inventory, logic, environmental, dialogue)
|
||||
- Puzzle difficulty curve
|
||||
- Hint systems
|
||||
- Puzzle-story connection (narrative purpose)
|
||||
- Optional vs. required puzzles
|
||||
|
||||
### Character Interaction
|
||||
|
||||
{{character_interaction}}
|
||||
|
||||
**NPC systems:**
|
||||
|
||||
- Dialogue system (branching, linear, choice-based)
|
||||
- Character relationships
|
||||
- NPC schedules/behaviors
|
||||
- Companion mechanics (if applicable)
|
||||
- Memorable character moments
|
||||
|
||||
### Inventory and Items
|
||||
|
||||
{{inventory_items}}
|
||||
|
||||
**Item systems:**
|
||||
|
||||
- Inventory scope (key items, collectibles, consumables)
|
||||
- Item examination/description
|
||||
- Combination/crafting (if applicable)
|
||||
- Story-critical items vs. optional items
|
||||
- Item-based progression gates
|
||||
|
||||
### Environmental Storytelling
|
||||
|
||||
{{environmental_storytelling}}
|
||||
|
||||
**World narrative:**
|
||||
|
||||
- Visual storytelling techniques
|
||||
- Audio atmosphere
|
||||
- Readable documents (journals, notes, signs)
|
||||
- Environmental clues
|
||||
- Show vs. tell balance
|
||||
@@ -0,0 +1,76 @@
|
||||
## Card Game Specific Elements
|
||||
|
||||
### Card Types and Effects
|
||||
|
||||
{{card_types}}
|
||||
|
||||
**Card design:**
|
||||
|
||||
- Card categories (creatures, spells, enchantments, etc.)
|
||||
- Card rarity tiers (common, rare, epic, legendary)
|
||||
- Card attributes (cost, power, health, etc.)
|
||||
- Effect types (damage, healing, draw, control, etc.)
|
||||
- Keywords and abilities
|
||||
- Card synergies
|
||||
|
||||
### Deck Building
|
||||
|
||||
{{deck_building}}
|
||||
|
||||
**Deck construction:**
|
||||
|
||||
- Deck size limits (minimum, maximum)
|
||||
- Card quantity limits (e.g., max 2 copies)
|
||||
- Class/faction restrictions
|
||||
- Deck archetypes (aggro, control, combo, midrange)
|
||||
- Sideboard mechanics (if applicable)
|
||||
- Pre-built vs. custom decks
|
||||
|
||||
### Mana/Resource System
|
||||
|
||||
{{mana_resources}}
|
||||
|
||||
**Resource mechanics:**
|
||||
|
||||
- Mana generation (per turn, from cards, etc.)
|
||||
- Mana curve design
|
||||
- Resource types (colored mana, energy, etc.)
|
||||
- Ramp mechanics
|
||||
- Resource denial strategies
|
||||
|
||||
### Turn Structure
|
||||
|
||||
{{turn_structure}}
|
||||
|
||||
**Game flow:**
|
||||
|
||||
- Turn phases (draw, main, combat, end)
|
||||
- Priority and response windows
|
||||
- Simultaneous vs. alternating turns
|
||||
- Time limits per turn
|
||||
- Match length targets
|
||||
|
||||
### Card Collection and Progression
|
||||
|
||||
{{collection_progression}}
|
||||
|
||||
**Player progression:**
|
||||
|
||||
- Card acquisition (packs, rewards, crafting)
|
||||
- Deck unlocks
|
||||
- Currency systems (gold, dust, wildcards)
|
||||
- Free-to-play balance
|
||||
- Collection completion incentives
|
||||
|
||||
### Game Modes
|
||||
|
||||
{{game_modes}}
|
||||
|
||||
**Mode variety:**
|
||||
|
||||
- Ranked ladder
|
||||
- Draft/Arena modes
|
||||
- Campaign/story mode
|
||||
- Casual/unranked
|
||||
- Special event modes
|
||||
- Tournament formats
|
||||
@@ -0,0 +1,89 @@
|
||||
## Fighting Game Specific Elements
|
||||
|
||||
### Character Roster
|
||||
|
||||
{{character_roster}}
|
||||
|
||||
**Fighter design:**
|
||||
|
||||
- Roster size (launch + planned DLC)
|
||||
- Character archetypes (rushdown, zoner, grappler, all-rounder, etc.)
|
||||
- Move list diversity
|
||||
- Complexity tiers (beginner vs. expert characters)
|
||||
- Balance philosophy (everyone viable vs. tier system)
|
||||
|
||||
### Move Lists and Frame Data
|
||||
|
||||
{{moves_frame_data}}
|
||||
|
||||
**Combat mechanics:**
|
||||
|
||||
- Normal moves (light, medium, heavy)
|
||||
- Special moves (quarter-circle, charge, etc.)
|
||||
- Super/ultimate moves
|
||||
- Frame data (startup, active, recovery, advantage)
|
||||
- Hit/hurt boxes
|
||||
- Command inputs vs. simplified inputs
|
||||
|
||||
### Combo System
|
||||
|
||||
{{combo_system}}
|
||||
|
||||
**Combo design:**
|
||||
|
||||
- Combo structure (links, cancels, chains)
|
||||
- Juggle system
|
||||
- Wall/ground bounces
|
||||
- Combo scaling
|
||||
- Reset opportunities
|
||||
- Optimal vs. practical combos
|
||||
|
||||
### Defensive Mechanics
|
||||
|
||||
{{defensive_mechanics}}
|
||||
|
||||
**Defense options:**
|
||||
|
||||
- Blocking (high, low, crossup protection)
|
||||
- Dodging/rolling/backdashing
|
||||
- Parries/counters
|
||||
- Pushblock/advancing guard
|
||||
- Invincibility frames
|
||||
- Escape options (burst, breaker, etc.)
|
||||
|
||||
### Stage Design
|
||||
|
||||
{{stage_design}}
|
||||
|
||||
**Arena design:**
|
||||
|
||||
- Stage size and boundaries
|
||||
- Wall mechanics (wall combos, wall break)
|
||||
- Interactive elements
|
||||
- Ring-out mechanics (if applicable)
|
||||
- Visual clarity vs. aesthetics
|
||||
|
||||
### Single Player Modes
|
||||
|
||||
{{single_player}}
|
||||
|
||||
**Offline content:**
|
||||
|
||||
- Arcade/story mode
|
||||
- Training mode features
|
||||
- Mission/challenge mode
|
||||
- Boss fights
|
||||
- Unlockables
|
||||
|
||||
### Competitive Features
|
||||
|
||||
{{competitive_features}}
|
||||
|
||||
**Tournament-ready:**
|
||||
|
||||
- Ranked matchmaking
|
||||
- Lobby systems
|
||||
- Replay features
|
||||
- Frame delay/rollback netcode
|
||||
- Spectator mode
|
||||
- Tournament mode
|
||||
@@ -0,0 +1,86 @@
|
||||
## Horror Game Specific Elements
|
||||
|
||||
<narrative-workflow-recommended>
|
||||
This game type is **narrative-important**. Consider running the Narrative Design workflow after completing the GDD to create:
|
||||
- Detailed story structure and scares
|
||||
- Character backstories and motivations
|
||||
- World lore and mythology
|
||||
- Environmental storytelling
|
||||
- Tension pacing and narrative beats
|
||||
</narrative-workflow-recommended>
|
||||
|
||||
### Atmosphere and Tension Building
|
||||
|
||||
{{atmosphere}}
|
||||
|
||||
**Horror atmosphere:**
|
||||
|
||||
- Visual design (lighting, shadows, color palette)
|
||||
- Audio design (soundscape, silence, music cues)
|
||||
- Environmental storytelling
|
||||
- Pacing of tension and release
|
||||
- Jump scares vs. psychological horror
|
||||
- Safe zones vs. danger zones
|
||||
|
||||
### Fear Mechanics
|
||||
|
||||
{{fear_mechanics}}
|
||||
|
||||
**Core horror systems:**
|
||||
|
||||
- Visibility/darkness mechanics
|
||||
- Limited resources (ammo, health, light)
|
||||
- Vulnerability (combat avoidance, hiding)
|
||||
- Sanity/fear meter (if applicable)
|
||||
- Pursuer/stalker mechanics
|
||||
- Detection systems (line of sight, sound)
|
||||
|
||||
### Enemy/Threat Design
|
||||
|
||||
{{enemy_threat}}
|
||||
|
||||
**Threat systems:**
|
||||
|
||||
- Enemy types (stalker, environmental, psychological)
|
||||
- Enemy behavior (patrol, hunt, ambush)
|
||||
- Telegraphing and tells
|
||||
- Invincible vs. killable enemies
|
||||
- Boss encounters
|
||||
- Encounter frequency and pacing
|
||||
|
||||
### Resource Scarcity
|
||||
|
||||
{{resource_scarcity}}
|
||||
|
||||
**Limited resources:**
|
||||
|
||||
- Ammo/weapon durability
|
||||
- Health items
|
||||
- Light sources (batteries, fuel)
|
||||
- Save points (if limited)
|
||||
- Inventory constraints
|
||||
- Risk vs. reward of exploration
|
||||
|
||||
### Safe Zones and Respite
|
||||
|
||||
{{safe_zones}}
|
||||
|
||||
**Tension management:**
|
||||
|
||||
- Safe room design
|
||||
- Save point placement
|
||||
- Temporary refuge mechanics
|
||||
- Calm before storm pacing
|
||||
- Item management areas
|
||||
|
||||
### Puzzle Integration
|
||||
|
||||
{{puzzles}}
|
||||
|
||||
**Environmental puzzles:**
|
||||
|
||||
- Puzzle types (locks, codes, environmental)
|
||||
- Difficulty balance (accessibility vs. challenge)
|
||||
- Hint systems
|
||||
- Puzzle-tension balance
|
||||
- Narrative purpose of puzzles
|
||||
@@ -0,0 +1,78 @@
|
||||
## Idle/Incremental Game Specific Elements
|
||||
|
||||
### Core Click/Interaction
|
||||
|
||||
{{core_interaction}}
|
||||
|
||||
**Primary mechanic:**
|
||||
|
||||
- Click action (what happens on click)
|
||||
- Click value progression
|
||||
- Auto-click mechanics
|
||||
- Combo/streak systems (if applicable)
|
||||
- Satisfaction and feedback (visual, audio)
|
||||
|
||||
### Upgrade Trees
|
||||
|
||||
{{upgrade_trees}}
|
||||
|
||||
**Upgrade systems:**
|
||||
|
||||
- Upgrade categories (click power, auto-generation, multipliers)
|
||||
- Upgrade costs and scaling
|
||||
- Unlock conditions
|
||||
- Synergies between upgrades
|
||||
- Upgrade branches and choices
|
||||
- Meta-upgrades (affect future runs)
|
||||
|
||||
### Automation Systems
|
||||
|
||||
{{automation}}
|
||||
|
||||
**Passive mechanics:**
|
||||
|
||||
- Auto-clicker unlocks
|
||||
- Manager/worker systems
|
||||
- Multiplier stacking
|
||||
- Offline progression
|
||||
- Automation tiers
|
||||
- Balance between active and idle play
|
||||
|
||||
### Prestige and Reset Mechanics
|
||||
|
||||
{{prestige_reset}}
|
||||
|
||||
**Long-term progression:**
|
||||
|
||||
- Prestige conditions (when to reset)
|
||||
- Persistent bonuses after reset
|
||||
- Prestige currency
|
||||
- Multiple prestige layers (if applicable)
|
||||
- Scaling between runs
|
||||
- Endgame infinite scaling
|
||||
|
||||
### Number Balancing
|
||||
|
||||
{{number_balancing}}
|
||||
|
||||
**Economy design:**
|
||||
|
||||
- Exponential growth curves
|
||||
- Notation systems (K, M, B, T or scientific)
|
||||
- Soft caps and plateaus
|
||||
- Time gates
|
||||
- Pacing of progression
|
||||
- Wall breaking mechanics
|
||||
|
||||
### Meta-Progression
|
||||
|
||||
{{meta_progression}}
|
||||
|
||||
**Long-term engagement:**
|
||||
|
||||
- Achievement system
|
||||
- Collectibles
|
||||
- Alternate game modes
|
||||
- Seasonal content
|
||||
- Challenge runs
|
||||
- Endgame goals
|
||||
@@ -0,0 +1,87 @@
|
||||
## Metroidvania Specific Elements
|
||||
|
||||
<narrative-workflow-recommended>
|
||||
This game type is **narrative-moderate**. Consider running the Narrative Design workflow after completing the GDD to create:
|
||||
- World lore and environmental storytelling
|
||||
- Character encounters and NPC arcs
|
||||
- Backstory reveals through exploration
|
||||
- Optional narrative depth
|
||||
</narrative-workflow-recommended>
|
||||
|
||||
### Interconnected World Map
|
||||
|
||||
{{world_map}}
|
||||
|
||||
**Map design:**
|
||||
|
||||
- World structure (regions, zones, biomes)
|
||||
- Interconnection points (shortcuts, elevators, warps)
|
||||
- Verticality and layering
|
||||
- Secret areas
|
||||
- Map reveal mechanics
|
||||
- Fast travel system (if applicable)
|
||||
|
||||
### Ability-Gating System
|
||||
|
||||
{{ability_gating}}
|
||||
|
||||
**Progression gates:**
|
||||
|
||||
- Core abilities (double jump, dash, wall climb, swim, etc.)
|
||||
- Ability locations and pacing
|
||||
- Soft gates vs. hard gates
|
||||
- Optional abilities
|
||||
- Sequence breaking considerations
|
||||
- Ability synergies
|
||||
|
||||
### Backtracking Design
|
||||
|
||||
{{backtracking}}
|
||||
|
||||
**Return mechanics:**
|
||||
|
||||
- Obvious backtrack opportunities
|
||||
- Hidden backtrack rewards
|
||||
- Fast travel to reduce tedium
|
||||
- Enemy respawn considerations
|
||||
- Changed world state (if applicable)
|
||||
- Completionist incentives
|
||||
|
||||
### Exploration Rewards
|
||||
|
||||
{{exploration_rewards}}
|
||||
|
||||
**Discovery incentives:**
|
||||
|
||||
- Health/energy upgrades
|
||||
- Ability upgrades
|
||||
- Collectibles (lore, cosmetics)
|
||||
- Secret bosses
|
||||
- Optional areas
|
||||
- Completion percentage tracking
|
||||
|
||||
### Combat System
|
||||
|
||||
{{combat_system}}
|
||||
|
||||
**Combat mechanics:**
|
||||
|
||||
- Attack types (melee, ranged, magic)
|
||||
- Boss fight design
|
||||
- Enemy variety and placement
|
||||
- Combat progression
|
||||
- Defensive options
|
||||
- Difficulty balance
|
||||
|
||||
### Sequence Breaking
|
||||
|
||||
{{sequence_breaking}}
|
||||
|
||||
**Advanced play:**
|
||||
|
||||
- Intended vs. unintended skips
|
||||
- Speedrun considerations
|
||||
- Difficulty of sequence breaks
|
||||
- Reward for sequence breaking
|
||||
- Developer stance on breaks
|
||||
- Game completion without all abilities
|
||||
@@ -0,0 +1,74 @@
|
||||
## MOBA Specific Elements
|
||||
|
||||
### Hero/Champion Roster
|
||||
|
||||
{{hero_roster}}
|
||||
|
||||
**Character design:**
|
||||
|
||||
- Hero count (initial roster, planned additions)
|
||||
- Hero roles (tank, support, carry, assassin, mage, etc.)
|
||||
- Unique abilities per hero (Q, W, E, R + passive)
|
||||
- Hero complexity tiers (beginner-friendly vs. advanced)
|
||||
- Visual and thematic diversity
|
||||
- Counter-pick dynamics
|
||||
|
||||
### Lane Structure and Map
|
||||
|
||||
{{lane_map}}
|
||||
|
||||
**Map design:**
|
||||
|
||||
- Lane configuration (3-lane, 2-lane, custom)
|
||||
- Jungle/neutral areas
|
||||
- Objective locations (towers, inhibitors, nexus/ancient)
|
||||
- Spawn points and fountains
|
||||
- Vision mechanics (wards, fog of war)
|
||||
|
||||
### Item and Build System
|
||||
|
||||
{{item_build}}
|
||||
|
||||
**Itemization:**
|
||||
|
||||
- Item categories (offensive, defensive, utility, consumables)
|
||||
- Gold economy
|
||||
- Build paths and item trees
|
||||
- Situational itemization
|
||||
- Starting items vs. late-game items
|
||||
|
||||
### Team Composition and Roles
|
||||
|
||||
{{team_composition}}
|
||||
|
||||
**Team strategy:**
|
||||
|
||||
- Role requirements (1-3-1, 2-1-2, etc.)
|
||||
- Team synergies
|
||||
- Draft/ban phase (if applicable)
|
||||
- Meta considerations
|
||||
- Flexible vs. rigid compositions
|
||||
|
||||
### Match Phases
|
||||
|
||||
{{match_phases}}
|
||||
|
||||
**Game flow:**
|
||||
|
||||
- Early game (laning phase)
|
||||
- Mid game (roaming, objectives)
|
||||
- Late game (team fights, sieging)
|
||||
- Phase transition mechanics
|
||||
- Comeback mechanics
|
||||
|
||||
### Objectives and Win Conditions
|
||||
|
||||
{{objectives_victory}}
|
||||
|
||||
**Strategic objectives:**
|
||||
|
||||
- Primary objective (destroy base/nexus/ancient)
|
||||
- Secondary objectives (towers, dragons, baron, roshan, etc.)
|
||||
- Neutral camps
|
||||
- Vision control objectives
|
||||
- Time limits and sudden death (if applicable)
|
||||
@@ -0,0 +1,79 @@
|
||||
## Party Game Specific Elements
|
||||
|
||||
### Minigame Variety
|
||||
|
||||
{{minigame_variety}}
|
||||
|
||||
**Minigame design:**
|
||||
|
||||
- Minigame count (launch + DLC)
|
||||
- Genre variety (racing, puzzle, reflex, trivia, etc.)
|
||||
- Minigame length (15-60 seconds typical)
|
||||
- Skill vs. luck balance
|
||||
- Team vs. FFA minigames
|
||||
- Accessibility across skill levels
|
||||
|
||||
### Turn Structure
|
||||
|
||||
{{turn_structure}}
|
||||
|
||||
**Game flow:**
|
||||
|
||||
- Board game structure (if applicable)
|
||||
- Turn order (fixed, random, earned)
|
||||
- Turn actions (roll dice, move, minigame, etc.)
|
||||
- Event spaces
|
||||
- Special mechanics (warp, steal, bonus)
|
||||
- Match length (rounds, turns, time)
|
||||
|
||||
### Player Elimination vs. Points
|
||||
|
||||
{{scoring_elimination}}
|
||||
|
||||
**Competition design:**
|
||||
|
||||
- Points-based (everyone plays to the end)
|
||||
- Elimination (last player standing)
|
||||
- Hybrid systems
|
||||
- Comeback mechanics
|
||||
- Handicap systems
|
||||
- Victory conditions
|
||||
|
||||
### Local Multiplayer UX
|
||||
|
||||
{{local_multiplayer}}
|
||||
|
||||
**Couch co-op design:**
|
||||
|
||||
- Controller sharing vs. individual controllers
|
||||
- Screen layout (split-screen, shared screen)
|
||||
- Turn clarity (whose turn indicators)
|
||||
- Spectator experience (watching others play)
|
||||
- Player join/drop mechanics
|
||||
- Tutorial integration for new players
|
||||
|
||||
### Accessibility and Skill Range
|
||||
|
||||
{{accessibility}}
|
||||
|
||||
**Inclusive design:**
|
||||
|
||||
- Skill floor (easy to understand)
|
||||
- Skill ceiling (depth for experienced players)
|
||||
- Luck elements to balance skill gaps
|
||||
- Assist modes or handicaps
|
||||
- Child-friendly content
|
||||
- Colorblind modes and accessibility
|
||||
|
||||
### Session Length
|
||||
|
||||
{{session_length}}
|
||||
|
||||
**Time management:**
|
||||
|
||||
- Quick play (5-10 minutes)
|
||||
- Standard match (15-30 minutes)
|
||||
- Extended match (30+ minutes)
|
||||
- Drop-in/drop-out support
|
||||
- Pause and resume
|
||||
- Party management (hosting, invites)
|
||||
@@ -0,0 +1,58 @@
|
||||
## Puzzle Game Specific Elements
|
||||
|
||||
### Core Puzzle Mechanics
|
||||
|
||||
{{puzzle_mechanics}}
|
||||
|
||||
**Puzzle elements:**
|
||||
|
||||
- Primary puzzle mechanic(s)
|
||||
- Supporting mechanics
|
||||
- Mechanic interactions
|
||||
- Constraint systems
|
||||
|
||||
### Puzzle Progression
|
||||
|
||||
{{puzzle_progression}}
|
||||
|
||||
**Difficulty progression:**
|
||||
|
||||
- Tutorial/introduction puzzles
|
||||
- Core concept puzzles
|
||||
- Combined mechanic puzzles
|
||||
- Expert/bonus puzzles
|
||||
- Pacing and difficulty curve
|
||||
|
||||
### Level Structure
|
||||
|
||||
{{level_structure}}
|
||||
|
||||
**Level organization:**
|
||||
|
||||
- Number of levels/puzzles
|
||||
- World/chapter grouping
|
||||
- Unlock progression
|
||||
- Optional/bonus content
|
||||
|
||||
### Player Assistance
|
||||
|
||||
{{player_assistance}}
|
||||
|
||||
**Help systems:**
|
||||
|
||||
- Hint system
|
||||
- Undo/reset mechanics
|
||||
- Skip puzzle options
|
||||
- Tutorial integration
|
||||
|
||||
### Replayability
|
||||
|
||||
{{replayability}}
|
||||
|
||||
**Replay elements:**
|
||||
|
||||
- Par time/move goals
|
||||
- Perfect solution challenges
|
||||
- Procedural generation (if applicable)
|
||||
- Daily/weekly puzzles
|
||||
- Challenge modes
|
||||
@@ -0,0 +1,88 @@
|
||||
## Racing Game Specific Elements
|
||||
|
||||
### Vehicle Handling and Physics
|
||||
|
||||
{{vehicle_physics}}
|
||||
|
||||
**Handling systems:**
|
||||
|
||||
- Physics model (arcade vs. simulation vs. hybrid)
|
||||
- Vehicle stats (speed, acceleration, handling, braking, weight)
|
||||
- Drift mechanics
|
||||
- Collision physics
|
||||
- Vehicle damage system (if applicable)
|
||||
|
||||
### Vehicle Roster
|
||||
|
||||
{{vehicle_roster}}
|
||||
|
||||
**Vehicle design:**
|
||||
|
||||
- Vehicle types (cars, bikes, boats, etc.)
|
||||
- Vehicle classes (lightweight, balanced, heavyweight)
|
||||
- Unlock progression
|
||||
- Customization options (visual, performance)
|
||||
- Balance considerations
|
||||
|
||||
### Track Design
|
||||
|
||||
{{track_design}}
|
||||
|
||||
**Course design:**
|
||||
|
||||
- Track variety (circuits, point-to-point, open world)
|
||||
- Track length and lap counts
|
||||
- Hazards and obstacles
|
||||
- Shortcuts and alternate paths
|
||||
- Track-specific mechanics
|
||||
- Environmental themes
|
||||
|
||||
### Race Mechanics
|
||||
|
||||
{{race_mechanics}}
|
||||
|
||||
**Core racing:**
|
||||
|
||||
- Starting mechanics (countdown, reaction time)
|
||||
- Checkpoint system
|
||||
- Lap tracking and position
|
||||
- Slipstreaming/drafting
|
||||
- Pit stops (if applicable)
|
||||
- Weather and time-of-day effects
|
||||
|
||||
### Powerups and Boost
|
||||
|
||||
{{powerups_boost}}
|
||||
|
||||
**Enhancement systems (if arcade-style):**
|
||||
|
||||
- Powerup types (offensive, defensive, utility)
|
||||
- Boost mechanics (drift boost, nitro, slipstream)
|
||||
- Item balance
|
||||
- Counterplay mechanics
|
||||
- Powerup placement on track
|
||||
|
||||
### Game Modes
|
||||
|
||||
{{game_modes}}
|
||||
|
||||
**Mode variety:**
|
||||
|
||||
- Standard race
|
||||
- Time trial
|
||||
- Elimination/knockout
|
||||
- Battle/arena modes
|
||||
- Career/campaign mode
|
||||
- Online multiplayer modes
|
||||
|
||||
### Progression and Unlocks
|
||||
|
||||
{{progression}}
|
||||
|
||||
**Player advancement:**
|
||||
|
||||
- Career structure
|
||||
- Unlockable vehicles and tracks
|
||||
- Currency/rewards system
|
||||
- Achievements and challenges
|
||||
- Skill-based unlocks vs. time-based
|
||||
@@ -0,0 +1,79 @@
|
||||
## Rhythm Game Specific Elements
|
||||
|
||||
### Music Synchronization
|
||||
|
||||
{{music_sync}}
|
||||
|
||||
**Core mechanics:**
|
||||
|
||||
- Beat/rhythm detection
|
||||
- Note types (tap, hold, slide, etc.)
|
||||
- Synchronization accuracy
|
||||
- Audio-visual feedback
|
||||
- Lane systems (4-key, 6-key, circular, etc.)
|
||||
- Offset calibration
|
||||
|
||||
### Note Charts and Patterns
|
||||
|
||||
{{note_charts}}
|
||||
|
||||
**Chart design:**
|
||||
|
||||
- Charting philosophy (fun, challenge, accuracy to song)
|
||||
- Pattern vocabulary (streams, jumps, chords, etc.)
|
||||
- Difficulty representation
|
||||
- Special patterns (gimmicks, memes)
|
||||
- Chart preview
|
||||
- Custom chart support (if applicable)
|
||||
|
||||
### Timing Windows
|
||||
|
||||
{{timing_windows}}
|
||||
|
||||
**Judgment system:**
|
||||
|
||||
- Judgment tiers (perfect, great, good, bad, miss)
|
||||
- Timing windows (frame-perfect vs. lenient)
|
||||
- Visual feedback for timing
|
||||
- Audio feedback
|
||||
- Combo system
|
||||
- Health/life system (if applicable)
|
||||
|
||||
### Scoring System
|
||||
|
||||
{{scoring}}
|
||||
|
||||
**Score design:**
|
||||
|
||||
- Base score calculation
|
||||
- Combo multipliers
|
||||
- Accuracy weighting
|
||||
- Max score calculation
|
||||
- Grade/rank system (S, A, B, C)
|
||||
- Leaderboards and competition
|
||||
|
||||
### Difficulty Tiers
|
||||
|
||||
{{difficulty_tiers}}
|
||||
|
||||
**Progression:**
|
||||
|
||||
- Difficulty levels (easy, normal, hard, expert, etc.)
|
||||
- Difficulty representation (stars, numbers)
|
||||
- Unlock conditions
|
||||
- Difficulty curve
|
||||
- Accessibility options
|
||||
- Expert+ content
|
||||
|
||||
### Song Selection
|
||||
|
||||
{{song_selection}}
|
||||
|
||||
**Music library:**
|
||||
|
||||
- Song count (launch + planned DLC)
|
||||
- Genre diversity
|
||||
- Licensing vs. original music
|
||||
- Song length targets
|
||||
- Song unlock progression
|
||||
- Favorites and playlists
|
||||
@@ -0,0 +1,69 @@
|
||||
## Roguelike Specific Elements
|
||||
|
||||
### Run Structure
|
||||
|
||||
{{run_structure}}
|
||||
|
||||
**Run design:**
|
||||
|
||||
- Run length (time, stages)
|
||||
- Starting conditions
|
||||
- Difficulty scaling per run
|
||||
- Victory conditions
|
||||
|
||||
### Procedural Generation
|
||||
|
||||
{{procedural_generation}}
|
||||
|
||||
**Generation systems:**
|
||||
|
||||
- Level generation algorithm
|
||||
- Enemy placement
|
||||
- Item/loot distribution
|
||||
- Biome/theme variation
|
||||
- Seed system (if deterministic)
|
||||
|
||||
### Permadeath and Progression
|
||||
|
||||
{{permadeath_progression}}
|
||||
|
||||
**Death mechanics:**
|
||||
|
||||
- Permadeath rules
|
||||
- What persists between runs
|
||||
- Meta-progression systems
|
||||
- Unlock conditions
|
||||
|
||||
### Item and Upgrade System
|
||||
|
||||
{{item_upgrade_system}}
|
||||
|
||||
**Item mechanics:**
|
||||
|
||||
- Item types (passive, active, consumable)
|
||||
- Rarity system
|
||||
- Item synergies
|
||||
- Build variety
|
||||
- Curse/risk mechanics
|
||||
|
||||
### Character Selection
|
||||
|
||||
{{character_selection}}
|
||||
|
||||
**Playable characters:**
|
||||
|
||||
- Starting characters
|
||||
- Unlockable characters
|
||||
- Character unique abilities
|
||||
- Character playstyle differences
|
||||
|
||||
### Difficulty Modifiers
|
||||
|
||||
{{difficulty_modifiers}}
|
||||
|
||||
**Challenge systems:**
|
||||
|
||||
- Difficulty tiers
|
||||
- Modifiers/curses
|
||||
- Challenge runs
|
||||
- Achievement conditions
|
||||
@@ -0,0 +1,70 @@
|
||||
## RPG Specific Elements
|
||||
|
||||
### Character System
|
||||
|
||||
{{character_system}}
|
||||
|
||||
**Character attributes:**
|
||||
|
||||
- Stats (Strength, Dexterity, Intelligence, etc.)
|
||||
- Classes/roles
|
||||
- Leveling system
|
||||
- Skill trees
|
||||
|
||||
### Inventory and Equipment
|
||||
|
||||
{{inventory_equipment}}
|
||||
|
||||
**Equipment system:**
|
||||
|
||||
- Item types (weapons, armor, accessories)
|
||||
- Rarity tiers
|
||||
- Item stats and modifiers
|
||||
- Inventory management
|
||||
|
||||
### Quest System
|
||||
|
||||
{{quest_system}}
|
||||
|
||||
**Quest structure:**
|
||||
|
||||
- Main story quests
|
||||
- Side quests
|
||||
- Quest tracking
|
||||
- Branching questlines
|
||||
- Quest rewards
|
||||
|
||||
### World and Exploration
|
||||
|
||||
{{world_exploration}}
|
||||
|
||||
**World design:**
|
||||
|
||||
- Map structure (open world, hub-based, linear)
|
||||
- Towns and safe zones
|
||||
- Dungeons and combat zones
|
||||
- Fast travel system
|
||||
- Points of interest
|
||||
|
||||
### NPC and Dialogue
|
||||
|
||||
{{npc_dialogue}}
|
||||
|
||||
**NPC interaction:**
|
||||
|
||||
- Dialogue trees
|
||||
- Relationship/reputation system
|
||||
- Companion system
|
||||
- Merchant NPCs
|
||||
|
||||
### Combat System
|
||||
|
||||
{{combat_system}}
|
||||
|
||||
**Combat mechanics:**
|
||||
|
||||
- Combat style (real-time, turn-based, tactical)
|
||||
- Ability system
|
||||
- Magic/skill system
|
||||
- Status effects
|
||||
- Party composition (if applicable)
|
||||
@@ -0,0 +1,79 @@
|
||||
## Sandbox Game Specific Elements
|
||||
|
||||
### Creation Tools
|
||||
|
||||
{{creation_tools}}
|
||||
|
||||
**Building mechanics:**
|
||||
|
||||
- Tool types (place, delete, modify, paint)
|
||||
- Object library (blocks, props, entities)
|
||||
- Precision controls (snap, free, grid)
|
||||
- Copy/paste and templates
|
||||
- Undo/redo system
|
||||
- Import/export functionality
|
||||
|
||||
### Physics and Building Systems
|
||||
|
||||
{{physics_building}}
|
||||
|
||||
**System simulation:**
|
||||
|
||||
- Physics engine (rigid body, soft body, fluids)
|
||||
- Structural integrity (if applicable)
|
||||
- Destruction mechanics
|
||||
- Material properties
|
||||
- Constraint systems (joints, hinges, motors)
|
||||
- Interactive simulations
|
||||
|
||||
### Sharing and Community
|
||||
|
||||
{{sharing_community}}
|
||||
|
||||
**Social features:**
|
||||
|
||||
- Creation sharing (workshop, gallery)
|
||||
- Discoverability (search, trending, featured)
|
||||
- Rating and feedback systems
|
||||
- Collaboration tools
|
||||
- Modding support
|
||||
- User-generated content moderation
|
||||
|
||||
### Constraints and Rules
|
||||
|
||||
{{constraints_rules}}
|
||||
|
||||
**Game design:**
|
||||
|
||||
- Creative mode (unlimited resources, no objectives)
|
||||
- Challenge mode (limited resources, objectives)
|
||||
- Budget/point systems (if competitive)
|
||||
- Build limits (size, complexity)
|
||||
- Rulesets and game modes
|
||||
- Victory conditions (if applicable)
|
||||
|
||||
### Tools and Editing
|
||||
|
||||
{{tools_editing}}
|
||||
|
||||
**Advanced features:**
|
||||
|
||||
- Logic gates/scripting (if applicable)
|
||||
- Animation tools
|
||||
- Terrain editing
|
||||
- Weather/environment controls
|
||||
- Lighting and effects
|
||||
- Testing/preview modes
|
||||
|
||||
### Emergent Gameplay
|
||||
|
||||
{{emergent_gameplay}}
|
||||
|
||||
**Player creativity:**
|
||||
|
||||
- Unintended creations (embracing exploits)
|
||||
- Community-defined challenges
|
||||
- Speedrunning player creations
|
||||
- Cross-creation interaction
|
||||
- Viral moments and showcases
|
||||
- Evolution of the meta
|
||||
@@ -0,0 +1,62 @@
|
||||
## Shooter Specific Elements
|
||||
|
||||
### Weapon Systems
|
||||
|
||||
{{weapon_systems}}
|
||||
|
||||
**Weapon design:**
|
||||
|
||||
- Weapon types (pistol, rifle, shotgun, sniper, explosive, etc.)
|
||||
- Weapon stats (damage, fire rate, accuracy, reload time, ammo capacity)
|
||||
- Weapon progression (starting weapons, unlocks, upgrades)
|
||||
- Weapon feel (recoil patterns, sound design, impact feedback)
|
||||
- Balance considerations (risk/reward, situational use)
|
||||
|
||||
### Aiming and Combat Mechanics
|
||||
|
||||
{{aiming_combat}}
|
||||
|
||||
**Combat systems:**
|
||||
|
||||
- Aiming system (first-person, third-person, twin-stick, lock-on)
|
||||
- Hit detection (hitscan vs. projectile)
|
||||
- Accuracy mechanics (spread, recoil, movement penalties)
|
||||
- Critical hits / weak points
|
||||
- Melee integration (if applicable)
|
||||
|
||||
### Enemy Design and AI
|
||||
|
||||
{{enemy_ai}}
|
||||
|
||||
**Enemy systems:**
|
||||
|
||||
- Enemy types (fodder, elite, tank, ranged, melee, boss)
|
||||
- AI behavior patterns (aggressive, defensive, flanking, cover use)
|
||||
- Spawn systems (waves, triggers, procedural)
|
||||
- Difficulty scaling (health, damage, AI sophistication)
|
||||
- Enemy tells and telegraphing
|
||||
|
||||
### Arena and Level Design
|
||||
|
||||
{{arena_level_design}}
|
||||
|
||||
**Level structure:**
|
||||
|
||||
- Arena flow (choke points, open spaces, verticality)
|
||||
- Cover system design (destructible, dynamic, static)
|
||||
- Spawn points and safe zones
|
||||
- Power-up placement
|
||||
- Environmental hazards
|
||||
- Sightlines and engagement distances
|
||||
|
||||
### Multiplayer Considerations
|
||||
|
||||
{{multiplayer}}
|
||||
|
||||
**Multiplayer systems (if applicable):**
|
||||
|
||||
- Game modes (deathmatch, team deathmatch, objective-based, etc.)
|
||||
- Map design for PvP
|
||||
- Loadout systems
|
||||
- Matchmaking and ranking
|
||||
- Balance considerations (skill ceiling, counter-play)
|
||||
@@ -0,0 +1,73 @@
|
||||
## Simulation Specific Elements
|
||||
|
||||
### Core Simulation Systems
|
||||
|
||||
{{simulation_systems}}
|
||||
|
||||
**What's being simulated:**
|
||||
|
||||
- Primary simulation focus (city, farm, business, ecosystem, etc.)
|
||||
- Simulation depth (abstract vs. realistic)
|
||||
- System interconnections
|
||||
- Emergent behaviors
|
||||
- Simulation tickrate and performance
|
||||
|
||||
### Management Mechanics
|
||||
|
||||
{{management_mechanics}}
|
||||
|
||||
**Management systems:**
|
||||
|
||||
- Resource management (budget, materials, time)
|
||||
- Decision-making mechanics
|
||||
- Automation vs. manual control
|
||||
- Delegation systems (if applicable)
|
||||
- Efficiency optimization
|
||||
|
||||
### Building and Construction
|
||||
|
||||
{{building_construction}}
|
||||
|
||||
**Construction systems:**
|
||||
|
||||
- Placeable objects/structures
|
||||
- Grid system (free placement, snap-to-grid, tiles)
|
||||
- Building prerequisites and unlocks
|
||||
- Upgrade/demolition mechanics
|
||||
- Space constraints and planning
|
||||
|
||||
### Economic and Resource Loops
|
||||
|
||||
{{economic_loops}}
|
||||
|
||||
**Economic design:**
|
||||
|
||||
- Income sources
|
||||
- Expenses and maintenance
|
||||
- Supply chains (if applicable)
|
||||
- Market dynamics
|
||||
- Economic balance and pacing
|
||||
|
||||
### Progression and Unlocks
|
||||
|
||||
{{progression_unlocks}}
|
||||
|
||||
**Progression systems:**
|
||||
|
||||
- Unlock conditions (achievements, milestones, levels)
|
||||
- Tech/research tree
|
||||
- New mechanics/features over time
|
||||
- Difficulty scaling
|
||||
- Endgame content
|
||||
|
||||
### Sandbox vs. Scenario
|
||||
|
||||
{{sandbox_scenario}}
|
||||
|
||||
**Game modes:**
|
||||
|
||||
- Sandbox mode (unlimited resources, creative freedom)
|
||||
- Scenario/campaign mode (specific goals, constraints)
|
||||
- Challenge modes
|
||||
- Random/procedural scenarios
|
||||
- Custom scenario creation
|
||||
@@ -0,0 +1,75 @@
|
||||
## Sports Game Specific Elements
|
||||
|
||||
### Sport-Specific Rules
|
||||
|
||||
{{sport_rules}}
|
||||
|
||||
**Rule implementation:**
|
||||
|
||||
- Core sport rules (scoring, fouls, violations)
|
||||
- Match/game structure (quarters, periods, innings, etc.)
|
||||
- Referee/umpire system
|
||||
- Rule variations (if applicable)
|
||||
- Simulation vs. arcade rule adherence
|
||||
|
||||
### Team and Player Systems
|
||||
|
||||
{{team_player}}
|
||||
|
||||
**Roster design:**
|
||||
|
||||
- Player attributes (speed, strength, skill, etc.)
|
||||
- Position-specific stats
|
||||
- Team composition
|
||||
- Substitution mechanics
|
||||
- Stamina/fatigue system
|
||||
- Injury system (if applicable)
|
||||
|
||||
### Match Structure
|
||||
|
||||
{{match_structure}}
|
||||
|
||||
**Game flow:**
|
||||
|
||||
- Pre-match setup (lineups, strategies)
|
||||
- In-match actions (plays, tactics, timeouts)
|
||||
- Half-time/intermission
|
||||
- Overtime/extra time rules
|
||||
- Post-match results and stats
|
||||
|
||||
### Physics and Realism
|
||||
|
||||
{{physics_realism}}
|
||||
|
||||
**Simulation balance:**
|
||||
|
||||
- Physics accuracy (ball/puck physics, player movement)
|
||||
- Realism vs. fun tradeoffs
|
||||
- Animation systems
|
||||
- Collision detection
|
||||
- Weather/field condition effects
|
||||
|
||||
### Career and Season Modes
|
||||
|
||||
{{career_season}}
|
||||
|
||||
**Long-term modes:**
|
||||
|
||||
- Career mode structure
|
||||
- Season/tournament progression
|
||||
- Transfer/draft systems
|
||||
- Team management
|
||||
- Contract negotiations
|
||||
- Sponsor/financial systems
|
||||
|
||||
### Multiplayer Modes
|
||||
|
||||
{{multiplayer}}
|
||||
|
||||
**Competitive play:**
|
||||
|
||||
- Local multiplayer (couch co-op)
|
||||
- Online multiplayer
|
||||
- Ranked/casual modes
|
||||
- Ultimate team/card collection (if applicable)
|
||||
- Co-op vs. AI
|
||||
@@ -0,0 +1,71 @@
|
||||
## Strategy Specific Elements
|
||||
|
||||
### Resource Systems
|
||||
|
||||
{{resource_systems}}
|
||||
|
||||
**Resource management:**
|
||||
|
||||
- Resource types (gold, food, energy, population, etc.)
|
||||
- Gathering mechanics (auto-generate, harvesting, capturing)
|
||||
- Resource spending (units, buildings, research, upgrades)
|
||||
- Economic balance (income vs. expenses)
|
||||
- Scarcity and strategic choices
|
||||
|
||||
### Unit Types and Stats
|
||||
|
||||
{{unit_types}}
|
||||
|
||||
**Unit design:**
|
||||
|
||||
- Unit roster (basic, advanced, specialized, hero units)
|
||||
- Unit stats (health, attack, defense, speed, range)
|
||||
- Unit abilities (active, passive, unique)
|
||||
- Counter systems (rock-paper-scissors dynamics)
|
||||
- Unit production (cost, build time, prerequisites)
|
||||
|
||||
### Technology and Progression
|
||||
|
||||
{{tech_progression}}
|
||||
|
||||
**Progression systems:**
|
||||
|
||||
- Tech tree structure (linear, branching, era-based)
|
||||
- Research mechanics (time, cost, prerequisites)
|
||||
- Upgrade paths (unit upgrades, building improvements)
|
||||
- Unlock conditions (progression gates, achievements)
|
||||
|
||||
### Map and Terrain
|
||||
|
||||
{{map_terrain}}
|
||||
|
||||
**Strategic space:**
|
||||
|
||||
- Map size and structure (small/medium/large, symmetric/asymmetric)
|
||||
- Terrain types (passable, impassable, elevated, water)
|
||||
- Terrain effects (movement, combat bonuses, vision)
|
||||
- Strategic points (resources, objectives, choke points)
|
||||
- Fog of war / vision system
|
||||
|
||||
### AI Opponent
|
||||
|
||||
{{ai_opponent}}
|
||||
|
||||
**AI design:**
|
||||
|
||||
- AI difficulty levels (easy, medium, hard, expert)
|
||||
- AI behavior patterns (aggressive, defensive, economic, adaptive)
|
||||
- AI cheating considerations (fair vs. challenge-focused)
|
||||
- AI personality types (if multiple opponents)
|
||||
|
||||
### Victory Conditions
|
||||
|
||||
{{victory_conditions}}
|
||||
|
||||
**Win/loss design:**
|
||||
|
||||
- Victory types (domination, economic, technological, diplomatic, etc.)
|
||||
- Time limits (if applicable)
|
||||
- Score systems (if applicable)
|
||||
- Defeat conditions
|
||||
- Early surrender / concession mechanics
|
||||
@@ -0,0 +1,79 @@
|
||||
## Survival Game Specific Elements
|
||||
|
||||
### Resource Gathering and Crafting
|
||||
|
||||
{{resource_crafting}}
|
||||
|
||||
**Resource systems:**
|
||||
|
||||
- Resource types (wood, stone, food, water, etc.)
|
||||
- Gathering methods (mining, foraging, hunting, looting)
|
||||
- Crafting recipes and trees
|
||||
- Tool/weapon crafting
|
||||
- Durability and repair
|
||||
- Storage and inventory management
|
||||
|
||||
### Survival Needs
|
||||
|
||||
{{survival_needs}}
|
||||
|
||||
**Player vitals:**
|
||||
|
||||
- Hunger/thirst systems
|
||||
- Health and healing
|
||||
- Temperature/exposure
|
||||
- Sleep/rest (if applicable)
|
||||
- Sanity/morale (if applicable)
|
||||
- Status effects (poison, disease, etc.)
|
||||
|
||||
### Environmental Threats
|
||||
|
||||
{{environmental_threats}}
|
||||
|
||||
**Danger systems:**
|
||||
|
||||
- Wildlife (predators, hostile creatures)
|
||||
- Environmental hazards (weather, terrain)
|
||||
- Day/night cycle threats
|
||||
- Seasonal changes (if applicable)
|
||||
- Natural disasters
|
||||
- Dynamic threat scaling
|
||||
|
||||
### Base Building
|
||||
|
||||
{{base_building}}
|
||||
|
||||
**Construction systems:**
|
||||
|
||||
- Building materials and recipes
|
||||
- Structure types (shelter, storage, defenses)
|
||||
- Base location and planning
|
||||
- Upgrade paths
|
||||
- Defensive structures
|
||||
- Automation (if applicable)
|
||||
|
||||
### Progression and Technology
|
||||
|
||||
{{progression_tech}}
|
||||
|
||||
**Advancement:**
|
||||
|
||||
- Tech tree or skill progression
|
||||
- Tool/weapon tiers
|
||||
- Unlock conditions
|
||||
- New biomes/areas access
|
||||
- Endgame objectives (if applicable)
|
||||
- Prestige/restart mechanics (if applicable)
|
||||
|
||||
### World Structure
|
||||
|
||||
{{world_structure}}
|
||||
|
||||
**Map design:**
|
||||
|
||||
- World size and boundaries
|
||||
- Biome diversity
|
||||
- Procedural vs. handcrafted
|
||||
- Points of interest
|
||||
- Risk/reward zones
|
||||
- Fast travel or navigation systems
|
||||
@@ -0,0 +1,91 @@
|
||||
## Text-Based Game Specific Elements
|
||||
|
||||
<narrative-workflow-critical>
|
||||
This game type is **narrative-critical**. You MUST run the Narrative Design workflow after completing the GDD to create:
|
||||
- Complete story and all narrative paths
|
||||
- Room descriptions and atmosphere
|
||||
- Puzzle solutions and hints
|
||||
- Character dialogue
|
||||
- World lore and backstory
|
||||
- Parser vocabulary (if parser-based)
|
||||
</narrative-workflow-critical>
|
||||
|
||||
### Input System
|
||||
|
||||
{{input_system}}
|
||||
|
||||
**Core interface:**
|
||||
|
||||
- Parser-based (natural language commands)
|
||||
- Choice-based (numbered/lettered options)
|
||||
- Hybrid system
|
||||
- Command vocabulary depth
|
||||
- Synonyms and flexibility
|
||||
- Error messaging and hints
|
||||
|
||||
### Room/Location Structure
|
||||
|
||||
{{location_structure}}
|
||||
|
||||
**World design:**
|
||||
|
||||
- Room count and scope
|
||||
- Room descriptions (length, detail)
|
||||
- Connection types (doors, paths, obstacles)
|
||||
- Map structure (linear, branching, maze-like, open)
|
||||
- Landmarks and navigation aids
|
||||
- Fast travel or mapping system
|
||||
|
||||
### Item and Inventory System
|
||||
|
||||
{{item_inventory}}
|
||||
|
||||
**Object interaction:**
|
||||
|
||||
- Examinable objects
|
||||
- Takeable vs. scenery objects
|
||||
- Item use and combinations
|
||||
- Inventory management
|
||||
- Object descriptions
|
||||
- Hidden objects and clues
|
||||
|
||||
### Puzzle Design
|
||||
|
||||
{{puzzle_design}}
|
||||
|
||||
**Challenge structure:**
|
||||
|
||||
- Puzzle types (logic, inventory, knowledge, exploration)
|
||||
- Difficulty curve
|
||||
- Hint system (gradual reveals)
|
||||
- Red herrings vs. crucial clues
|
||||
- Puzzle integration with story
|
||||
- Non-linear puzzle solving
|
||||
|
||||
### Narrative and Writing
|
||||
|
||||
{{narrative_writing}}
|
||||
|
||||
**Story delivery:**
|
||||
|
||||
- Writing tone and style
|
||||
- Descriptive density
|
||||
- Character voice
|
||||
- Dialogue systems
|
||||
- Branching narrative (if applicable)
|
||||
- Multiple endings (if applicable)
|
||||
|
||||
**Note:** All narrative content must be written in the Narrative Design Document.
|
||||
|
||||
### Game Flow and Pacing
|
||||
|
||||
{{game_flow}}
|
||||
|
||||
**Structure:**
|
||||
|
||||
- Game length target
|
||||
- Acts or chapters
|
||||
- Save system
|
||||
- Undo/rewind mechanics
|
||||
- Walkthrough or hint accessibility
|
||||
- Replayability considerations
|
||||
@@ -0,0 +1,79 @@
|
||||
## Tower Defense Specific Elements
|
||||
|
||||
### Tower Types and Upgrades
|
||||
|
||||
{{tower_types}}
|
||||
|
||||
**Tower design:**
|
||||
|
||||
- Tower categories (damage, slow, splash, support, special)
|
||||
- Tower stats (damage, range, fire rate, cost)
|
||||
- Upgrade paths (linear, branching)
|
||||
- Tower synergies
|
||||
- Tier progression
|
||||
- Special abilities and targeting
|
||||
|
||||
### Enemy Wave Design
|
||||
|
||||
{{wave_design}}
|
||||
|
||||
**Enemy systems:**
|
||||
|
||||
- Enemy types (fast, tank, flying, immune, boss)
|
||||
- Wave composition
|
||||
- Wave difficulty scaling
|
||||
- Wave scheduling and pacing
|
||||
- Boss encounters
|
||||
- Endless mode scaling (if applicable)
|
||||
|
||||
### Path and Placement Strategy
|
||||
|
||||
{{path_placement}}
|
||||
|
||||
**Strategic space:**
|
||||
|
||||
- Path structure (fixed, custom, maze-building)
|
||||
- Placement restrictions (grid, free placement)
|
||||
- Terrain types (buildable, non-buildable, special)
|
||||
- Choke points and strategic locations
|
||||
- Multiple paths (if applicable)
|
||||
- Line of sight and range visualization
|
||||
|
||||
### Economy and Resources
|
||||
|
||||
{{economy}}
|
||||
|
||||
**Resource management:**
|
||||
|
||||
- Starting resources
|
||||
- Resource generation (per wave, per kill, passive)
|
||||
- Resource spending (towers, upgrades, abilities)
|
||||
- Selling/refund mechanics
|
||||
- Special currencies (if applicable)
|
||||
- Economic optimization strategies
|
||||
|
||||
### Abilities and Powers
|
||||
|
||||
{{abilities_powers}}
|
||||
|
||||
**Active mechanics:**
|
||||
|
||||
- Player-activated abilities (airstrikes, freezes, etc.)
|
||||
- Cooldown systems
|
||||
- Ability unlocks
|
||||
- Ability upgrade paths
|
||||
- Strategic timing
|
||||
- Resource cost vs. cooldown
|
||||
|
||||
### Difficulty and Replayability
|
||||
|
||||
{{difficulty_replay}}
|
||||
|
||||
**Challenge systems:**
|
||||
|
||||
- Difficulty levels
|
||||
- Mission objectives (perfect clear, no lives lost, etc.)
|
||||
- Star ratings
|
||||
- Challenge modifiers
|
||||
- Randomized elements
|
||||
- New Game+ or prestige modes
|
||||
@@ -0,0 +1,88 @@
|
||||
## Turn-Based Tactics Specific Elements
|
||||
|
||||
<narrative-workflow-recommended>
|
||||
This game type is **narrative-moderate to heavy**. Consider running the Narrative Design workflow after completing the GDD to create:
|
||||
- Campaign story and mission briefings
|
||||
- Character backstories and development
|
||||
- Faction lore and motivations
|
||||
- Mission narratives
|
||||
</narrative-workflow-recommended>
|
||||
|
||||
### Grid System and Movement
|
||||
|
||||
{{grid_movement}}
|
||||
|
||||
**Spatial design:**
|
||||
|
||||
- Grid type (square, hex, free-form)
|
||||
- Movement range calculation
|
||||
- Movement types (walk, fly, teleport)
|
||||
- Terrain movement costs
|
||||
- Zone of control
|
||||
- Pathfinding visualization
|
||||
|
||||
### Unit Types and Classes
|
||||
|
||||
{{unit_classes}}
|
||||
|
||||
**Unit design:**
|
||||
|
||||
- Class roster (warrior, archer, mage, healer, etc.)
|
||||
- Class abilities and specializations
|
||||
- Unit progression (leveling, promotions)
|
||||
- Unit customization
|
||||
- Unique units (heroes, named characters)
|
||||
- Class balance and counters
|
||||
|
||||
### Action Economy
|
||||
|
||||
{{action_economy}}
|
||||
|
||||
**Turn structure:**
|
||||
|
||||
- Action points system (fixed, variable, pooled)
|
||||
- Action types (move, attack, ability, item, wait)
|
||||
- Free actions vs. costing actions
|
||||
- Opportunity attacks
|
||||
- Turn order (initiative, simultaneous, alternating)
|
||||
- Time limits per turn (if applicable)
|
||||
|
||||
### Positioning and Tactics
|
||||
|
||||
{{positioning_tactics}}
|
||||
|
||||
**Strategic depth:**
|
||||
|
||||
- Flanking mechanics
|
||||
- High ground advantage
|
||||
- Cover system
|
||||
- Formation bonuses
|
||||
- Area denial
|
||||
- Chokepoint tactics
|
||||
- Line of sight and vision
|
||||
|
||||
### Terrain and Environmental Effects
|
||||
|
||||
{{terrain_effects}}
|
||||
|
||||
**Map design:**
|
||||
|
||||
- Terrain types (grass, water, lava, ice, etc.)
|
||||
- Terrain effects (defense bonus, movement penalty, damage)
|
||||
- Destructible terrain
|
||||
- Interactive objects
|
||||
- Weather effects
|
||||
- Elevation and verticality
|
||||
|
||||
### Campaign Structure
|
||||
|
||||
{{campaign}}
|
||||
|
||||
**Mission design:**
|
||||
|
||||
- Campaign length and pacing
|
||||
- Mission variety (defeat all, survive, escort, capture, etc.)
|
||||
- Optional objectives
|
||||
- Branching campaigns
|
||||
- Permadeath vs. casualty systems
|
||||
- Resource management between missions
|
||||
@@ -0,0 +1,89 @@
|
||||
## Visual Novel Specific Elements
|
||||
|
||||
<narrative-workflow-critical>
|
||||
This game type is **narrative-critical**. You MUST run the Narrative Design workflow after completing the GDD to create:
|
||||
- Complete story structure and script
|
||||
- All character profiles and development arcs
|
||||
- Branching story flowcharts
|
||||
- Scene-by-scene breakdown
|
||||
- Dialogue drafts
|
||||
- Multiple route planning
|
||||
</narrative-workflow-critical>
|
||||
|
||||
### Branching Story Structure
|
||||
|
||||
{{branching_structure}}
|
||||
|
||||
**Narrative design:**
|
||||
|
||||
- Story route types (character routes, plot branches)
|
||||
- Branch points (choices, stats, flags)
|
||||
- Convergence points
|
||||
- Route length and pacing
|
||||
- True/golden ending requirements
|
||||
- Branch complexity (simple, moderate, complex)
|
||||
|
||||
### Choice Impact System
|
||||
|
||||
{{choice_impact}}
|
||||
|
||||
**Decision mechanics:**
|
||||
|
||||
- Choice types (immediate, delayed, hidden)
|
||||
- Choice visualization (explicit, subtle, invisible)
|
||||
- Point systems (affection, alignment, stats)
|
||||
- Flag tracking
|
||||
- Choice consequences
|
||||
- Meaningful vs. cosmetic choices
|
||||
|
||||
### Route Design
|
||||
|
||||
{{route_design}}
|
||||
|
||||
**Route structure:**
|
||||
|
||||
- Common route (shared beginning)
|
||||
- Individual routes (character-specific paths)
|
||||
- Route unlock conditions
|
||||
- Route length balance
|
||||
- Route independence vs. interconnection
|
||||
- Recommended play order
|
||||
|
||||
### Character Relationship Systems
|
||||
|
||||
{{relationship_systems}}
|
||||
|
||||
**Character mechanics:**
|
||||
|
||||
- Affection/friendship points
|
||||
- Relationship milestones
|
||||
- Character-specific scenes
|
||||
- Dialogue variations based on relationship
|
||||
- Multiple romance options (if applicable)
|
||||
- Platonic vs. romantic paths
|
||||
|
||||
### Save/Load and Flowchart
|
||||
|
||||
{{save_flowchart}}
|
||||
|
||||
**Player navigation:**
|
||||
|
||||
- Save point frequency
|
||||
- Quick save/load
|
||||
- Scene skip functionality
|
||||
- Flowchart/scene select (after completion)
|
||||
- Branch tracking visualization
|
||||
- Completion percentage
|
||||
|
||||
### Art Asset Requirements
|
||||
|
||||
{{art_assets}}
|
||||
|
||||
**Visual content:**
|
||||
|
||||
- Character sprites (poses, expressions)
|
||||
- Background art (locations, times of day)
|
||||
- CG artwork (key moments, endings)
|
||||
- UI elements
|
||||
- Special effects
|
||||
- Asset quantity estimates
|
||||
@@ -0,0 +1,249 @@
|
||||
---
|
||||
name: 'step-01-init'
|
||||
description: 'Initialize the GDD workflow by detecting continuation state and setting up the document'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/2-design/gdd'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-01-init.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-02-context.md'
|
||||
continueStepFile: '{workflow_path}/steps/step-01b-continue.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/gdd.md'
|
||||
|
||||
# Template References
|
||||
gddTemplate: '{workflow_path}/templates/gdd-template.md'
|
||||
|
||||
# Data Files
|
||||
gameTypesCSV: '{workflow_path}/game-types.csv'
|
||||
---
|
||||
|
||||
# Step 1: Workflow Initialization
|
||||
|
||||
**Progress: Step 1 of 14** - Next: Game Context & Type
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Initialize the GDD workflow by detecting continuation state, discovering input documents (game brief, research), and setting up the document structure for collaborative game design discovery.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- NEVER generate content without user input
|
||||
- CRITICAL: Read the complete step file before taking any action
|
||||
- CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- YOU ARE A FACILITATOR, not a content generator
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- You are a veteran game designer facilitator collaborating with a creative peer
|
||||
- If you already have been given a name, communication_style and persona, continue to use those while playing this new role
|
||||
- We engage in collaborative dialogue, not command-response
|
||||
- You bring structured game design thinking and facilitation skills, while the user brings their game vision
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- Focus only on initialization and setup - no content generation yet
|
||||
- FORBIDDEN to look ahead to future steps or assume knowledge from them
|
||||
- Approach: Systematic setup with clear reporting to user
|
||||
- Detect existing workflow state and handle continuation properly
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- Show your analysis of current state before taking any action
|
||||
- Initialize document structure and update frontmatter appropriately
|
||||
- Set up frontmatter `stepsCompleted: [1]` before loading next step
|
||||
- FORBIDDEN to load next step until user selects 'C' (Continue)
|
||||
|
||||
## CONTEXT BOUNDARIES:
|
||||
|
||||
- Available context: Variables from workflow.md are available in memory
|
||||
- Focus: Workflow initialization and document setup only
|
||||
- Limits: Don't assume knowledge from other steps or create content yet
|
||||
- Dependencies: Configuration loaded from workflow.md initialization
|
||||
|
||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
||||
|
||||
### 1. Check for Existing Workflow State
|
||||
|
||||
First, check if the output document already exists:
|
||||
|
||||
**Workflow State Detection:**
|
||||
|
||||
- Look for file at `{outputFile}`
|
||||
- If exists, read the complete file including frontmatter
|
||||
- If not exists, this is a fresh workflow
|
||||
|
||||
### 2. Handle Continuation (If Document Exists)
|
||||
|
||||
If the document exists and has frontmatter with `stepsCompleted`:
|
||||
|
||||
**Continuation Protocol:**
|
||||
|
||||
- **STOP immediately** and load `{continueStepFile}`
|
||||
- Do not proceed with any initialization tasks
|
||||
- Let step-01b handle all continuation logic
|
||||
- This is an auto-proceed situation - no user choice needed
|
||||
|
||||
### 3. Fresh Workflow Setup (If No Document)
|
||||
|
||||
If no document exists or no `stepsCompleted` in frontmatter:
|
||||
|
||||
#### A. Input Document Discovery
|
||||
|
||||
Discover and load context documents using smart discovery.
|
||||
|
||||
**IMPORTANT: Track document counts as you discover files.**
|
||||
|
||||
Initialize counters:
|
||||
|
||||
```
|
||||
briefCount = 0
|
||||
researchCount = 0
|
||||
brainstormingCount = 0
|
||||
projectDocsCount = 0
|
||||
```
|
||||
|
||||
**Game Brief (Priority: Analysis -> Main -> Sharded -> Whole):**
|
||||
|
||||
1. Check analysis folder: `{output_folder}/analysis/*game-brief*.md`
|
||||
2. If no analysis files: Try main folder: `{output_folder}/*game-brief*.md`
|
||||
3. If no main files: Check for sharded brief folder: `{output_folder}/*game-brief*/**/*.md`
|
||||
4. If sharded folder exists: Load EVERY file in that folder completely
|
||||
5. Add discovered files to `inputDocuments` frontmatter
|
||||
6. **Update briefCount with number of files found**
|
||||
|
||||
**Research Documents (Priority: Analysis -> Main -> Sharded -> Whole):**
|
||||
|
||||
1. Check analysis folder: `{output_folder}/analysis/research/*research*.md`
|
||||
2. If no analysis files: Try main folder: `{output_folder}/*research*.md`
|
||||
3. If no main files: Check for sharded research folder: `{output_folder}/*research*/**/*.md`
|
||||
4. Load useful research files completely
|
||||
5. Add discovered files to `inputDocuments` frontmatter
|
||||
6. **Update researchCount with number of files found**
|
||||
|
||||
**Brainstorming Documents (Priority: Analysis -> Main):**
|
||||
|
||||
1. Check analysis folder: `{output_folder}/analysis/brainstorming/*brainstorm*.md`
|
||||
2. If no analysis files: Try main folder: `{output_folder}/*brainstorm*.md`
|
||||
3. Add discovered files to `inputDocuments` frontmatter
|
||||
4. **Update brainstormingCount with number of files found**
|
||||
|
||||
**Project Documentation (Existing Projects - Brownfield):**
|
||||
|
||||
1. Look for index file: `{output_folder}/index.md`
|
||||
2. CRITICAL: Load index.md to understand what project files are available
|
||||
3. Read available files from index to understand existing project context
|
||||
4. This provides essential context for extending existing game with new features
|
||||
5. Add discovered files to `inputDocuments` frontmatter
|
||||
6. **Update projectDocsCount with number of files found (including index.md)**
|
||||
|
||||
**Loading Rules:**
|
||||
|
||||
- Load ALL discovered files completely (no offset/limit)
|
||||
- For sharded folders, load ALL files to get complete picture
|
||||
- For existing projects, use index.md as guide to what's relevant
|
||||
- Track all successfully loaded files in frontmatter `inputDocuments` array
|
||||
|
||||
#### B. Create Initial Document
|
||||
|
||||
**Document Setup:**
|
||||
|
||||
- Copy the template from `{gddTemplate}` to `{outputFile}`
|
||||
- Initialize frontmatter with proper structure including document counts:
|
||||
|
||||
```yaml
|
||||
---
|
||||
stepsCompleted: []
|
||||
inputDocuments: []
|
||||
documentCounts:
|
||||
briefs: { { briefCount } }
|
||||
research: { { researchCount } }
|
||||
brainstorming: { { brainstormingCount } }
|
||||
projectDocs: { { projectDocsCount } }
|
||||
workflowType: 'gdd'
|
||||
lastStep: 0
|
||||
project_name: '{{project_name}}'
|
||||
user_name: '{{user_name}}'
|
||||
date: '{{date}}'
|
||||
game_type: ''
|
||||
game_name: ''
|
||||
---
|
||||
```
|
||||
|
||||
#### C. Present Initialization Results
|
||||
|
||||
**Setup Report to User:**
|
||||
|
||||
"Welcome {{user_name}}! I've set up your GDD workspace for {{project_name}}.
|
||||
|
||||
**Document Setup:**
|
||||
|
||||
- Created: `{outputFile}` from template
|
||||
- Initialized frontmatter with workflow state
|
||||
|
||||
**Input Documents Discovered:**
|
||||
|
||||
- Game briefs: {{briefCount}} files {if briefCount > 0}loaded{else}(none found){/if}
|
||||
- Research: {{researchCount}} files {if researchCount > 0}loaded{else}(none found){/if}
|
||||
- Brainstorming: {{brainstormingCount}} files {if brainstormingCount > 0}loaded{else}(none found){/if}
|
||||
- Project docs: {{projectDocsCount}} files {if projectDocsCount > 0}loaded (brownfield project){else}(none found - greenfield project){/if}
|
||||
|
||||
**Files loaded:** {list of specific file names or "No additional documents found"}
|
||||
|
||||
{if projectDocsCount > 0}
|
||||
**Note:** This is a **brownfield project**. Your existing project documentation has been loaded. In the next step, I'll ask specifically about what new features or changes you want to add to your existing game.
|
||||
{/if}
|
||||
|
||||
Do you have any other documents you'd like me to include, or shall we continue to the next step?"
|
||||
|
||||
### 4. Present MENU OPTIONS
|
||||
|
||||
Display menu after setup report:
|
||||
|
||||
"[C] Continue - Save this and move to Game Context & Type (Step 2 of 14)"
|
||||
|
||||
#### Menu Handling Logic:
|
||||
|
||||
- IF C: Update frontmatter with `stepsCompleted: [1]`, then load, read entire file, then execute {nextStepFile}
|
||||
- IF user provides additional files: Load them, update inputDocuments and documentCounts, redisplay report
|
||||
- IF user asks questions: Answer and redisplay menu
|
||||
|
||||
#### EXECUTION RULES:
|
||||
|
||||
- ALWAYS halt and wait for user input after presenting menu
|
||||
- ONLY proceed to next step when user selects 'C'
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN [C continue option] is selected and [frontmatter properly updated with stepsCompleted: [1] and documentCounts], will you then load and read fully `{nextStepFile}` to execute and begin game context discovery.
|
||||
|
||||
---
|
||||
|
||||
## SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### SUCCESS:
|
||||
|
||||
- Existing workflow detected and properly handed off to step-01b
|
||||
- Fresh workflow initialized with template and proper frontmatter
|
||||
- Input documents discovered and loaded using sharded-first logic
|
||||
- All discovered files tracked in frontmatter `inputDocuments`
|
||||
- **Document counts stored in frontmatter `documentCounts`**
|
||||
- User clearly informed of brownfield vs greenfield status
|
||||
- Menu presented and user input handled correctly
|
||||
- Frontmatter updated with `stepsCompleted: [1]` before proceeding
|
||||
|
||||
### SYSTEM FAILURE:
|
||||
|
||||
- Proceeding with fresh initialization when existing workflow exists
|
||||
- Not updating frontmatter with discovered input documents
|
||||
- **Not storing document counts in frontmatter**
|
||||
- Creating document without proper template structure
|
||||
- Not checking sharded folders first before whole files
|
||||
- Not reporting discovered documents to user clearly
|
||||
- Proceeding without user selecting 'C' (Continue)
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
@@ -0,0 +1,174 @@
|
||||
---
|
||||
name: 'step-01b-continue'
|
||||
description: 'Resume an interrupted GDD workflow from the last completed step'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/2-design/gdd'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-01b-continue.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/gdd.md'
|
||||
---
|
||||
|
||||
# Step 1B: Workflow Continuation
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Resume the GDD workflow from where it was left off, ensuring smooth continuation with full context restoration.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- NEVER generate content without user input
|
||||
- CRITICAL: Read the complete step file before taking any action
|
||||
- CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- YOU ARE A FACILITATOR, not a content generator
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- You are a veteran game designer facilitator collaborating with a creative peer
|
||||
- We engage in collaborative dialogue, not command-response
|
||||
- Resume workflow from exact point where it was interrupted
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- FOCUS on understanding where we left off and continuing appropriately
|
||||
- FORBIDDEN to modify content completed in previous steps
|
||||
- Only reload documents that were already tracked in `inputDocuments`
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- Show your analysis of current state before taking action
|
||||
- Keep existing frontmatter `stepsCompleted` values
|
||||
- Only load documents that were already tracked in `inputDocuments`
|
||||
- FORBIDDEN to discover new input documents during continuation
|
||||
|
||||
## CONTEXT BOUNDARIES:
|
||||
|
||||
- Available context: Current document and frontmatter are already loaded
|
||||
- Focus: Workflow state analysis and continuation logic only
|
||||
- Limits: Don't assume knowledge beyond what's in the document
|
||||
- Dependencies: Existing workflow state from previous session
|
||||
|
||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
||||
|
||||
### 1. Analyze Current State
|
||||
|
||||
**State Assessment:**
|
||||
Review the frontmatter to understand:
|
||||
|
||||
- `stepsCompleted`: Which steps are already done
|
||||
- `lastStep`: The most recently completed step number
|
||||
- `inputDocuments`: What context was already loaded
|
||||
- `documentCounts`: briefs, research, brainstorming, projectDocs counts
|
||||
- `game_type`: The identified game type (if set)
|
||||
- `game_name`: The game name (if set)
|
||||
- All other frontmatter variables
|
||||
|
||||
### 2. Restore Context Documents
|
||||
|
||||
**Context Reloading:**
|
||||
|
||||
- For each document in `inputDocuments`, load the complete file
|
||||
- This ensures you have full context for continuation
|
||||
- Don't discover new documents - only reload what was previously processed
|
||||
- If `game_type` is set, also reload the corresponding game type guide from `{workflow_path}/game-types/{game_type}.md`
|
||||
|
||||
### 3. Present Current Progress
|
||||
|
||||
**Progress Report to User:**
|
||||
"Welcome back {{user_name}}! I'm resuming our GDD collaboration for {{game_name or project_name}}.
|
||||
|
||||
**Current Progress:**
|
||||
|
||||
- Steps completed: {stepsCompleted}
|
||||
- Last worked on: Step {lastStep}
|
||||
- Game type: {game_type or 'Not yet determined'}
|
||||
- Context documents available: {len(inputDocuments)} files
|
||||
|
||||
**Document Status:**
|
||||
|
||||
- Current GDD document is ready with all completed sections
|
||||
- Ready to continue from where we left off
|
||||
|
||||
Does this look right, or do you want to make any adjustments before we proceed?"
|
||||
|
||||
### 4. Determine Continuation Path
|
||||
|
||||
**Next Step Logic:**
|
||||
Based on `lastStep` value, determine which step to load next:
|
||||
|
||||
- If `lastStep = 1` -> Load `./step-02-context.md`
|
||||
- If `lastStep = 2` -> Load `./step-03-platforms.md`
|
||||
- If `lastStep = 3` -> Load `./step-04-vision.md`
|
||||
- If `lastStep = 4` -> Load `./step-05-core-gameplay.md`
|
||||
- If `lastStep = 5` -> Load `./step-06-mechanics.md`
|
||||
- If `lastStep = 6` -> Load `./step-07-game-type.md`
|
||||
- If `lastStep = 7` -> Load `./step-08-progression.md`
|
||||
- If `lastStep = 8` -> Load `./step-09-levels.md`
|
||||
- If `lastStep = 9` -> Load `./step-10-art-audio.md`
|
||||
- If `lastStep = 10` -> Load `./step-11-technical.md`
|
||||
- If `lastStep = 11` -> Load `./step-12-epics.md`
|
||||
- If `lastStep = 12` -> Load `./step-13-metrics.md`
|
||||
- If `lastStep = 13` -> Load `./step-14-complete.md`
|
||||
- If `lastStep = 14` -> Workflow already complete
|
||||
|
||||
### 5. Handle Workflow Completion
|
||||
|
||||
**If workflow already complete (`lastStep = 14`):**
|
||||
"Great news! It looks like we've already completed the GDD workflow for {{game_name}}.
|
||||
|
||||
The final document is ready at `{outputFile}` with all sections completed through step 14.
|
||||
|
||||
Would you like me to:
|
||||
|
||||
- Review the completed GDD with you
|
||||
- Suggest next workflow steps (like architecture or epic creation)
|
||||
- Start a new GDD revision
|
||||
|
||||
What would be most helpful?"
|
||||
|
||||
### 6. Present MENU OPTIONS
|
||||
|
||||
**If workflow not complete:**
|
||||
Display: "Ready to continue with Step {nextStepNumber}?
|
||||
|
||||
**Select an Option:** [C] Continue to next step"
|
||||
|
||||
#### Menu Handling Logic:
|
||||
|
||||
- IF C: Load, read entire file, then execute the appropriate next step file based on `lastStep`
|
||||
- IF Any other comments or queries: respond and redisplay menu
|
||||
|
||||
#### EXECUTION RULES:
|
||||
|
||||
- ALWAYS halt and wait for user input after presenting menu
|
||||
- ONLY proceed to next step when user selects 'C'
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN [C continue option] is selected and [current state confirmed], will you then load and read fully the appropriate next step file to resume the workflow.
|
||||
|
||||
---
|
||||
|
||||
## SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### SUCCESS:
|
||||
|
||||
- All previous input documents successfully reloaded
|
||||
- Game type guide reloaded if game_type was set
|
||||
- Current workflow state accurately analyzed and presented
|
||||
- User confirms understanding of progress before continuation
|
||||
- Correct next step identified and prepared for loading
|
||||
|
||||
### SYSTEM FAILURE:
|
||||
|
||||
- Discovering new input documents instead of reloading existing ones
|
||||
- Modifying content from already completed steps
|
||||
- Loading wrong next step based on `lastStep` value
|
||||
- Proceeding without user confirmation of current state
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
@@ -0,0 +1,333 @@
|
||||
---
|
||||
name: 'step-02-context'
|
||||
description: 'Load game context from brief and determine the game type'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/2-design/gdd'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-02-context.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-03-platforms.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/gdd.md'
|
||||
|
||||
# Data Files
|
||||
gameTypesCSV: '{workflow_path}/game-types.csv'
|
||||
gameTypesFolder: '{workflow_path}/game-types'
|
||||
|
||||
# Task References
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
---
|
||||
|
||||
# Step 2: Game Context & Type
|
||||
|
||||
**Progress: Step 2 of 14** - Next: Platforms & Audience
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Load and analyze the game brief (if available), determine the game type from game-types.csv, load the corresponding game type guide, and capture the core game concept that will drive the entire GDD.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- NEVER generate content without user input
|
||||
- CRITICAL: Read the complete step file before taking any action
|
||||
- CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- YOU ARE A FACILITATOR, not a content generator
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- You are a veteran game designer facilitator collaborating with a creative peer
|
||||
- We engage in collaborative dialogue, not command-response
|
||||
- You bring structured game design thinking and facilitation skills, while the user brings their game vision
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- Focus on understanding the game concept and determining the correct game type
|
||||
- CRITICAL: Load game-types.csv to understand available game types
|
||||
- FORBIDDEN to generate detailed content without real user input
|
||||
- Approach: Leverage existing documents while validating with user
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- Show your analysis before taking any action
|
||||
- Present A/P/C menu after generating core concept content
|
||||
- ONLY save when user chooses C (Continue)
|
||||
- Update frontmatter `stepsCompleted: [1, 2]` before loading next step
|
||||
- FORBIDDEN to load next step until C is selected
|
||||
|
||||
## COLLABORATION MENUS (A/P/C):
|
||||
|
||||
This step will generate content and present choices:
|
||||
|
||||
- **A (Advanced Elicitation)**: Use discovery protocols to develop deeper insights about the game concept
|
||||
- **P (Party Mode)**: Bring multiple perspectives to discuss and improve the game concept
|
||||
- **C (Continue)**: Save the content to the document and proceed to next step
|
||||
|
||||
## PROTOCOL INTEGRATION:
|
||||
|
||||
- When 'A' selected: Execute {advancedElicitationTask}
|
||||
- When 'P' selected: Execute {partyModeWorkflow}
|
||||
- PROTOCOLS always return to this step's A/P/C menu
|
||||
- User accepts/rejects protocol changes before proceeding
|
||||
|
||||
## CONTEXT BOUNDARIES:
|
||||
|
||||
- Current document and frontmatter from step 1 are available
|
||||
- Input documents already loaded are in memory (game briefs, research, brainstorming)
|
||||
- **Document counts available in frontmatter `documentCounts`**
|
||||
- Game types CSV data will be loaded in this step
|
||||
- This will be the first content section appended to the document
|
||||
|
||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
||||
|
||||
### 1. Read Document State from Frontmatter
|
||||
|
||||
**CRITICAL FIRST ACTION:** Read the frontmatter from `{outputFile}` to get document counts.
|
||||
|
||||
```
|
||||
Read documentCounts from gdd.md frontmatter:
|
||||
- briefCount = documentCounts.briefs
|
||||
- researchCount = documentCounts.research
|
||||
- brainstormingCount = documentCounts.brainstorming
|
||||
- projectDocsCount = documentCounts.projectDocs
|
||||
```
|
||||
|
||||
**ANNOUNCE your understanding:**
|
||||
|
||||
"From step 1, I have loaded:
|
||||
|
||||
- Game briefs: {{briefCount}} files
|
||||
- Research: {{researchCount}} files
|
||||
- Brainstorming: {{brainstormingCount}} files
|
||||
- Project docs: {{projectDocsCount}} files
|
||||
|
||||
{if projectDocsCount > 0}This is a **brownfield project** - I'll focus on understanding what you want to add or change.{else}This is a **greenfield project** - I'll help you define the full game vision.{/if}"
|
||||
|
||||
### 2. Load Game Types Data
|
||||
|
||||
Load and prepare CSV data for intelligent game type classification:
|
||||
|
||||
- Load `{gameTypesCSV}` completely
|
||||
- Parse columns: id, name, description, key_mechanics, detection_signals
|
||||
- Store in memory for classification matching
|
||||
|
||||
### 3. Begin Discovery Conversation
|
||||
|
||||
**SELECT EXACTLY ONE DISCOVERY PATH based on document state:**
|
||||
|
||||
---
|
||||
|
||||
#### PATH A: Has Game Brief (briefCount > 0)
|
||||
|
||||
**Use this path when:** `briefCount > 0`
|
||||
|
||||
"As your game design peer, I've reviewed your game brief and have a great starting point. Let me share what I understand and you can refine or correct as needed.
|
||||
|
||||
**Based on your game brief:**
|
||||
|
||||
**Game Name:**
|
||||
{{extracted_name_from_brief}}
|
||||
|
||||
**Core Concept:**
|
||||
{{extracted_concept_from_brief}}
|
||||
|
||||
**Genre/Type:**
|
||||
{{extracted_genre_from_brief}}
|
||||
|
||||
**Target Experience:**
|
||||
{{extracted_experience_from_brief}}
|
||||
|
||||
{if projectDocsCount > 0}I also see you have existing project documentation. This GDD will define how new features integrate with your existing game.{/if}
|
||||
|
||||
**How does this align with your vision?** Should we refine any of these points or are there important aspects I'm missing?"
|
||||
|
||||
**AFTER this message, SKIP to Section 4.**
|
||||
|
||||
---
|
||||
|
||||
#### PATH B: No Brief but Has Brainstorming (briefCount == 0 AND brainstormingCount > 0)
|
||||
|
||||
**Use this path when:** `briefCount == 0 AND brainstormingCount > 0`
|
||||
|
||||
"As your game design peer, I've reviewed your brainstorming documents.
|
||||
|
||||
**Ideas I've extracted:**
|
||||
{{summarize key concepts from brainstorming}}
|
||||
|
||||
Let's crystallize these ideas into a clear game concept:
|
||||
|
||||
- What's the core gameplay experience you want to create?
|
||||
- What genre or type of game is this?
|
||||
- What's the one thing that makes this game special?
|
||||
|
||||
I'll use this to identify the right game type framework for our GDD."
|
||||
|
||||
**AFTER this message, SKIP to Section 4.**
|
||||
|
||||
---
|
||||
|
||||
#### PATH C: No Documents - Greenfield (briefCount == 0 AND brainstormingCount == 0)
|
||||
|
||||
**Use this path when:** `briefCount == 0 AND brainstormingCount == 0`
|
||||
|
||||
"Let's start by understanding your game vision!
|
||||
|
||||
**Tell me about what you want to create:**
|
||||
|
||||
- What kind of game is it? (genre, style, references)
|
||||
- What does the player do? (core actions, moment-to-moment gameplay)
|
||||
- What makes it special or different?
|
||||
- What experience or feeling do you want players to have?
|
||||
|
||||
I'll be listening for signals to help us identify the right game type framework."
|
||||
|
||||
**AFTER this message, SKIP to Section 4.**
|
||||
|
||||
---
|
||||
|
||||
### 4. Determine Game Type
|
||||
|
||||
As the user describes their game, match against `detection_signals` from `game-types.csv`:
|
||||
|
||||
#### Game Type Detection Logic
|
||||
|
||||
Compare user description against game-types.csv entries:
|
||||
|
||||
- Look for keyword matches from semicolon-separated detection_signals
|
||||
- Examples: "platform;jump;run;2D;side-scroll" -> action-platformer
|
||||
- Examples: "RPG;level;quest;stats;inventory" -> rpg
|
||||
- Examples: "story;choices;narrative;dialogue" -> visual-novel
|
||||
|
||||
Store the best matching `game_type` id.
|
||||
|
||||
### 5. Present Classification for Validation
|
||||
|
||||
**Present to user:**
|
||||
|
||||
"Based on our conversation, I'm classifying this as:
|
||||
|
||||
**Game Type:** {matched_game_type_name} ({matched_game_type_id})
|
||||
|
||||
**Why this type:**
|
||||
{explain the detection signals that matched}
|
||||
|
||||
**This game type includes these focus areas:**
|
||||
{key_mechanics from game-types.csv}
|
||||
|
||||
Does this sound right? If not, tell me what type better fits your vision and I'll adjust."
|
||||
|
||||
### 6. Load Game Type Guide
|
||||
|
||||
**After user confirms game type:**
|
||||
|
||||
- Load the corresponding game type guide: `{gameTypesFolder}/{game_type}.md`
|
||||
- Store the guide content for use in step-07 (game-type specific sections)
|
||||
- Update frontmatter: `game_type: '{game_type}'`
|
||||
|
||||
### 7. Capture Game Name
|
||||
|
||||
"What would you like to call this game? (Working title is fine)"
|
||||
|
||||
- Store in frontmatter: `game_name: '{user_provided_name}'`
|
||||
|
||||
### 8. Generate Core Concept Content
|
||||
|
||||
Based on the conversation, prepare the content to append to the document:
|
||||
|
||||
#### Content Structure:
|
||||
|
||||
```markdown
|
||||
## Executive Summary
|
||||
|
||||
### Game Name
|
||||
|
||||
{{game_name}}
|
||||
|
||||
### Core Concept
|
||||
|
||||
{{description - 2-3 paragraphs describing the game concept}}
|
||||
|
||||
### Game Type
|
||||
|
||||
**Type:** {{game_type_name}}
|
||||
**Framework:** This GDD uses the {{game_type}} template with type-specific sections for {{key_mechanics}}
|
||||
```
|
||||
|
||||
### 9. Present Content and Menu
|
||||
|
||||
Show the generated content to the user and present:
|
||||
|
||||
"I've drafted the Executive Summary based on our conversation. This will be the opening section of your GDD.
|
||||
|
||||
**Here's what I'll add to the document:**
|
||||
|
||||
[Show the complete markdown content from step 8]
|
||||
|
||||
**Select an Option:**
|
||||
[A] Advanced Elicitation - Let's dive deeper and refine this content
|
||||
[P] Party Mode - Bring in different perspectives to improve this
|
||||
[C] Continue - Save this and move to Platforms & Audience (Step 3 of 14)"
|
||||
|
||||
### 10. Handle Menu Selection
|
||||
|
||||
#### IF A (Advanced Elicitation):
|
||||
|
||||
- Execute {advancedElicitationTask} with the current content
|
||||
- Process the enhanced content that comes back
|
||||
- Ask user: "Accept these changes to the Core Concept? (y/n)"
|
||||
- If yes: Update the content with improvements, then return to A/P/C menu
|
||||
- If no: Keep original content, then return to A/P/C menu
|
||||
|
||||
#### IF P (Party Mode):
|
||||
|
||||
- Execute {partyModeWorkflow} with the current content
|
||||
- Process the collaborative improvements that come back
|
||||
- Ask user: "Accept these changes to the Core Concept? (y/n)"
|
||||
- If yes: Update the content with improvements, then return to A/P/C menu
|
||||
- If no: Keep original content, then return to A/P/C menu
|
||||
|
||||
#### IF C (Continue):
|
||||
|
||||
- Append the final content to `{outputFile}`
|
||||
- Update frontmatter: `stepsCompleted: [1, 2]`, `game_type: '{game_type}'`, `game_name: '{game_name}'`
|
||||
- Load `{nextStepFile}`
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN [C continue option] is selected and [core concept content finalized and saved to document with frontmatter updated including game_type and game_name], will you then load and read fully `{nextStepFile}` to execute and begin platforms definition.
|
||||
|
||||
---
|
||||
|
||||
## SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### SUCCESS:
|
||||
|
||||
- Document counts read from frontmatter and announced
|
||||
- Game types CSV loaded and used effectively
|
||||
- **Correct discovery path selected based on document counts**
|
||||
- Input documents analyzed and leveraged for head start
|
||||
- Game type identified and validated with user
|
||||
- Game type guide loaded and stored for later use
|
||||
- Game name captured and stored in frontmatter
|
||||
- Core concept content generated collaboratively
|
||||
- A/P/C menu presented and handled correctly
|
||||
- Content properly appended to document when C selected
|
||||
- Frontmatter updated with stepsCompleted: [1, 2], game_type, game_name
|
||||
|
||||
### SYSTEM FAILURE:
|
||||
|
||||
- **Not reading documentCounts from frontmatter first**
|
||||
- **Executing multiple discovery paths instead of exactly one**
|
||||
- Not loading game-types.csv for classification
|
||||
- Not validating game type with user before proceeding
|
||||
- Generating detailed content without real user input
|
||||
- Not loading the game type guide file
|
||||
- Not capturing game name
|
||||
- Not presenting A/P/C menu after content generation
|
||||
- Appending content without user selecting 'C'
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
@@ -0,0 +1,246 @@
|
||||
---
|
||||
name: 'step-03-platforms'
|
||||
description: 'Define target platforms and target audience for the game'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/2-design/gdd'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-03-platforms.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-04-vision.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/gdd.md'
|
||||
|
||||
# Task References
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
---
|
||||
|
||||
# Step 3: Platforms & Audience
|
||||
|
||||
**Progress: Step 3 of 14** - Next: Goals & Vision
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Define the target platform(s) for the game and establish a clear picture of the target audience, including demographics, gaming experience level, and preferred play patterns.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- NEVER generate content without user input
|
||||
- CRITICAL: Read the complete step file before taking any action
|
||||
- CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- YOU ARE A FACILITATOR, not a content generator
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- You are a veteran game designer facilitator collaborating with a creative peer
|
||||
- We engage in collaborative dialogue, not command-response
|
||||
- Platform and audience decisions drive many downstream choices - take this seriously
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- Focus on platform capabilities and audience characteristics
|
||||
- FORBIDDEN to generate detailed content without real user input
|
||||
- Consider platform-specific constraints (controls, performance, monetization)
|
||||
- Approach: Guide user through considerations they may not have thought about
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- Show your analysis before taking any action
|
||||
- Present A/P/C menu after generating content for each section
|
||||
- ONLY save when user chooses C (Continue)
|
||||
- Update frontmatter `stepsCompleted: [1, 2, 3]` before loading next step
|
||||
- FORBIDDEN to load next step until C is selected
|
||||
|
||||
## COLLABORATION MENUS (A/P/C):
|
||||
|
||||
- **A (Advanced Elicitation)**: Explore platform constraints and audience nuances deeper
|
||||
- **P (Party Mode)**: Get multiple perspectives on platform/audience decisions
|
||||
- **C (Continue)**: Save the content to the document and proceed to next step
|
||||
|
||||
## CONTEXT BOUNDARIES:
|
||||
|
||||
- Game type and core concept from step 2 are available
|
||||
- Platform choice affects many downstream decisions
|
||||
- Audience definition affects tone, complexity, and accessibility
|
||||
|
||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
||||
|
||||
### 1. Platform Discovery
|
||||
|
||||
**Guide user through platform selection:**
|
||||
|
||||
"Now let's talk about where players will experience {{game_name}}.
|
||||
|
||||
**Platform Options to Consider:**
|
||||
|
||||
| Platform | Considerations |
|
||||
| ---------------------------- | ------------------------------------------------------------------------ |
|
||||
| **PC (Steam/Epic)** | Full keyboard/mouse, highest specs, Steam achievements, workshop support |
|
||||
| **Web Browser** | Instant access, limited performance, broad reach, touch/mouse hybrid |
|
||||
| **Mobile (iOS/Android)** | Touch controls, short sessions, IAP monetization, battery/thermal limits |
|
||||
| **Console (Switch/PS/Xbox)** | Controller-first, certification requirements, couch multiplayer |
|
||||
| **VR (Quest/PCVR)** | Motion controls, comfort considerations, presence |
|
||||
|
||||
**For {{game_type}} games, common platform choices include:** {platform_suggestions_from_game_type}
|
||||
|
||||
**Questions to consider:**
|
||||
|
||||
1. Where do your target players primarily game?
|
||||
2. Does your core gameplay work well with {platform} input methods?
|
||||
3. Are you targeting a primary platform with potential ports later?
|
||||
|
||||
What platform(s) are you targeting?"
|
||||
|
||||
### 2. Capture Platform Details
|
||||
|
||||
**After user responds:**
|
||||
|
||||
Document:
|
||||
|
||||
- Primary platform (if multiple)
|
||||
- Platform-specific control schemes
|
||||
- Performance considerations (60fps target, resolution, etc.)
|
||||
- Platform-specific features to leverage (achievements, cloud saves, etc.)
|
||||
|
||||
### 3. Audience Discovery
|
||||
|
||||
**Guide user through audience definition:**
|
||||
|
||||
"Now let's define who {{game_name}} is for.
|
||||
|
||||
**Demographics to Consider:**
|
||||
|
||||
- **Age Range:** What ages are you designing for? (affects content, complexity, monetization)
|
||||
- **Gaming Experience:** Casual, core, or hardcore gamers?
|
||||
- **Genre Familiarity:** Do they know {{game_type}} conventions, or are they new to the genre?
|
||||
- **Session Length:** Quick mobile sessions (5-15 min) or deep PC sessions (1+ hour)?
|
||||
|
||||
**For {{game_type}} games, typical audiences include:**
|
||||
{audience_suggestions_from_game_type}
|
||||
|
||||
Tell me about your ideal player. Who is this game for?"
|
||||
|
||||
### 4. Capture Audience Details
|
||||
|
||||
**After user responds:**
|
||||
|
||||
Document:
|
||||
|
||||
- Primary demographic
|
||||
- Gaming experience level
|
||||
- Genre familiarity expectations
|
||||
- Preferred session lengths
|
||||
- Secondary audiences (if any)
|
||||
|
||||
### 5. Generate Platforms & Audience Content
|
||||
|
||||
Based on the conversation, prepare the content:
|
||||
|
||||
```markdown
|
||||
## Target Platform(s)
|
||||
|
||||
### Primary Platform
|
||||
|
||||
{{primary_platform}}
|
||||
|
||||
### Platform Considerations
|
||||
|
||||
{{platform_specific_details}}
|
||||
|
||||
### Control Scheme
|
||||
|
||||
{{control_scheme_for_platform}}
|
||||
|
||||
---
|
||||
|
||||
## Target Audience
|
||||
|
||||
### Demographics
|
||||
|
||||
{{target_demographics}}
|
||||
|
||||
### Gaming Experience
|
||||
|
||||
{{experience_level}} - {{experience_description}}
|
||||
|
||||
### Genre Familiarity
|
||||
|
||||
{{genre_familiarity_description}}
|
||||
|
||||
### Session Length
|
||||
|
||||
{{typical_session_length}} - {{session_description}}
|
||||
|
||||
### Player Motivations
|
||||
|
||||
{{what_draws_this_audience_to_this_game}}
|
||||
```
|
||||
|
||||
### 6. Present Content and Menu
|
||||
|
||||
Show the generated content to the user and present:
|
||||
|
||||
"I've drafted the Platforms & Audience sections based on our conversation.
|
||||
|
||||
**Here's what I'll add to the document:**
|
||||
|
||||
[Show the complete markdown content from step 5]
|
||||
|
||||
**Select an Option:**
|
||||
[A] Advanced Elicitation - Explore platform/audience deeper
|
||||
[P] Party Mode - Get other perspectives on these decisions
|
||||
[C] Continue - Save this and move to Goals & Vision (Step 4 of 14)"
|
||||
|
||||
### 7. Handle Menu Selection
|
||||
|
||||
#### IF A (Advanced Elicitation):
|
||||
|
||||
- Execute {advancedElicitationTask} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF P (Party Mode):
|
||||
|
||||
- Execute {partyModeWorkflow} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF C (Continue):
|
||||
|
||||
- Append the final content to `{outputFile}`
|
||||
- Update frontmatter: `stepsCompleted: [1, 2, 3]`
|
||||
- Load `{nextStepFile}`
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN [C continue option] is selected and [platforms and audience content saved with frontmatter updated], will you then load and read fully `{nextStepFile}`.
|
||||
|
||||
---
|
||||
|
||||
## SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### SUCCESS:
|
||||
|
||||
- Platform(s) clearly identified with rationale
|
||||
- Platform-specific considerations documented
|
||||
- Target audience demographics defined
|
||||
- Gaming experience level captured
|
||||
- Session length expectations established
|
||||
- A/P/C menu presented and handled correctly
|
||||
- Frontmatter updated with stepsCompleted: [1, 2, 3]
|
||||
|
||||
### SYSTEM FAILURE:
|
||||
|
||||
- Assuming platform without user confirmation
|
||||
- Generating audience profile without user input
|
||||
- Not considering platform-specific constraints
|
||||
- Not presenting A/P/C menu after content generation
|
||||
- Proceeding without user selecting 'C'
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
@@ -0,0 +1,230 @@
|
||||
---
|
||||
name: 'step-04-vision'
|
||||
description: 'Define project goals, context, and unique selling points'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/2-design/gdd'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-04-vision.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-05-core-gameplay.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/gdd.md'
|
||||
|
||||
# Task References
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
---
|
||||
|
||||
# Step 4: Goals & Vision
|
||||
|
||||
**Progress: Step 4 of 14** - Next: Core Gameplay
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Define the project goals, background context for why this game matters now, and the unique selling points that differentiate this game from others in the market.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- NEVER generate content without user input
|
||||
- CRITICAL: Read the complete step file before taking any action
|
||||
- CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- YOU ARE A FACILITATOR, not a content generator
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- You are a veteran game designer facilitator collaborating with a creative peer
|
||||
- We engage in collaborative dialogue, not command-response
|
||||
- Vision and USPs are critical for maintaining focus throughout development
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- Focus on the "why" behind this game project
|
||||
- FORBIDDEN to generate goals/USPs without real user input
|
||||
- Help user articulate what makes their game worth making
|
||||
- Approach: Challenge assumptions about differentiation
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- Show your analysis before taking any action
|
||||
- Present A/P/C menu after generating content
|
||||
- ONLY save when user chooses C (Continue)
|
||||
- Update frontmatter `stepsCompleted: [1, 2, 3, 4]` before loading next step
|
||||
- FORBIDDEN to load next step until C is selected
|
||||
|
||||
## COLLABORATION MENUS (A/P/C):
|
||||
|
||||
- **A (Advanced Elicitation)**: Dig deeper into goals and differentiation
|
||||
- **P (Party Mode)**: Challenge and strengthen the vision with multiple perspectives
|
||||
- **C (Continue)**: Save the content to the document and proceed to next step
|
||||
|
||||
## CONTEXT BOUNDARIES:
|
||||
|
||||
- Game type, platform, and audience from previous steps are available
|
||||
- Goals should be achievable and measurable where possible
|
||||
- USPs must be genuinely differentiating, not just features
|
||||
|
||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
||||
|
||||
### 1. Goals Discovery
|
||||
|
||||
**Guide user through goal definition:**
|
||||
|
||||
"Let's define what success looks like for {{game_name}}.
|
||||
|
||||
**Types of Goals to Consider:**
|
||||
|
||||
| Goal Type | Examples |
|
||||
| ----------------- | ---------------------------------------------------- |
|
||||
| **Creative** | "Create a game that makes players feel powerful" |
|
||||
| **Technical** | "Ship a stable 60fps experience on target platforms" |
|
||||
| **Business** | "Achieve 10,000 wishlists before launch" |
|
||||
| **Personal** | "Learn Godot through this project" |
|
||||
| **Player Impact** | "Create a speedrunning community" |
|
||||
|
||||
**Questions to consider:**
|
||||
|
||||
1. What does success look like for this project?
|
||||
2. What would make you proud to have shipped this?
|
||||
3. Are there specific metrics you want to hit?
|
||||
|
||||
What are your 2-4 main goals for {{game_name}}?"
|
||||
|
||||
### 2. Context Discovery
|
||||
|
||||
**Guide user through background context:**
|
||||
|
||||
"Now let's capture why this game matters right now.
|
||||
|
||||
**Context Questions:**
|
||||
|
||||
- **Motivation:** What inspired you to make this game?
|
||||
- **Timing:** Why is now the right time for this game?
|
||||
- **Gap:** What's missing in the market that this fills?
|
||||
- **Personal:** What unique perspective or experience do you bring?
|
||||
|
||||
Tell me the story behind {{game_name}}. Why are you making this?"
|
||||
|
||||
### 3. USP Discovery
|
||||
|
||||
**Guide user through unique selling points:**
|
||||
|
||||
"Now for the critical question: What makes {{game_name}} different?
|
||||
|
||||
**USP Framework:**
|
||||
|
||||
A strong USP answers: "Why would someone play THIS game instead of the alternatives?"
|
||||
|
||||
**Categories of Differentiation:**
|
||||
|
||||
- **Mechanical Innovation:** New gameplay systems or combinations
|
||||
- **Narrative/World:** Unique setting, story, or characters
|
||||
- **Art/Audio:** Distinctive aesthetic or soundscape
|
||||
- **Audience Focus:** Serving an underserved player segment
|
||||
- **Technical:** Performance, accessibility, or platform features
|
||||
|
||||
**For {{game_type}} games, common USPs include:**
|
||||
{typical_usps_for_game_type}
|
||||
|
||||
But what's YOUR unique angle?
|
||||
|
||||
**Challenge Questions:**
|
||||
|
||||
1. If I removed your USP, would the game still be interesting?
|
||||
2. Can another developer easily copy this USP?
|
||||
3. Does this USP matter to your target audience?
|
||||
|
||||
What 2-4 things make {{game_name}} genuinely different?"
|
||||
|
||||
### 4. Generate Vision Content
|
||||
|
||||
Based on the conversation, prepare the content:
|
||||
|
||||
```markdown
|
||||
## Goals and Context
|
||||
|
||||
### Project Goals
|
||||
|
||||
{{goals_list_with_descriptions}}
|
||||
|
||||
### Background and Rationale
|
||||
|
||||
{{context_narrative}}
|
||||
|
||||
---
|
||||
|
||||
## Unique Selling Points (USPs)
|
||||
|
||||
{{usps_with_descriptions}}
|
||||
|
||||
### Competitive Positioning
|
||||
|
||||
{{how_this_game_stands_out_in_the_market}}
|
||||
```
|
||||
|
||||
### 5. Present Content and Menu
|
||||
|
||||
Show the generated content to the user and present:
|
||||
|
||||
"I've drafted the Goals & Vision sections based on our conversation.
|
||||
|
||||
**Here's what I'll add to the document:**
|
||||
|
||||
[Show the complete markdown content from step 4]
|
||||
|
||||
**Select an Option:**
|
||||
[A] Advanced Elicitation - Challenge and strengthen these points
|
||||
[P] Party Mode - Get other perspectives on differentiation
|
||||
[C] Continue - Save this and move to Core Gameplay (Step 5 of 14)"
|
||||
|
||||
### 6. Handle Menu Selection
|
||||
|
||||
#### IF A (Advanced Elicitation):
|
||||
|
||||
- Execute {advancedElicitationTask} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF P (Party Mode):
|
||||
|
||||
- Execute {partyModeWorkflow} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF C (Continue):
|
||||
|
||||
- Append the final content to `{outputFile}`
|
||||
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4]`
|
||||
- Load `{nextStepFile}`
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN [C continue option] is selected and [vision content saved with frontmatter updated], will you then load and read fully `{nextStepFile}`.
|
||||
|
||||
---
|
||||
|
||||
## SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### SUCCESS:
|
||||
|
||||
- 2-4 clear, achievable goals defined
|
||||
- Background context captures the "why"
|
||||
- USPs are genuinely differentiating, not just features
|
||||
- Competitive positioning is clear
|
||||
- A/P/C menu presented and handled correctly
|
||||
- Frontmatter updated with stepsCompleted: [1, 2, 3, 4]
|
||||
|
||||
### SYSTEM FAILURE:
|
||||
|
||||
- Generating generic goals without user input
|
||||
- USPs that are just feature lists, not differentiation
|
||||
- Not challenging weak USPs
|
||||
- Not presenting A/P/C menu after content generation
|
||||
- Proceeding without user selecting 'C'
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
@@ -0,0 +1,259 @@
|
||||
---
|
||||
name: 'step-05-core-gameplay'
|
||||
description: 'Define game pillars, core gameplay loop, and win/loss conditions'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/2-design/gdd'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-05-core-gameplay.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-06-mechanics.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/gdd.md'
|
||||
|
||||
# Task References
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
---
|
||||
|
||||
# Step 5: Core Gameplay
|
||||
|
||||
**Progress: Step 5 of 14** - Next: Game Mechanics
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Define the fundamental gameplay elements: game pillars (core design tenets), the core gameplay loop (what players repeatedly do), and win/loss conditions (how players succeed or fail).
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- NEVER generate content without user input
|
||||
- CRITICAL: Read the complete step file before taking any action
|
||||
- CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- YOU ARE A FACILITATOR, not a content generator
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- You are a veteran game designer facilitator collaborating with a creative peer
|
||||
- These are GAME-DEFINING decisions - treat them with appropriate weight
|
||||
- Every future decision should serve these pillars and loop
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- Focus on the heart of the gameplay experience
|
||||
- FORBIDDEN to generate pillars/loops without real user input
|
||||
- Challenge: Do these pillars and loop serve the stated USPs?
|
||||
- Approach: Help user think through the player experience
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- Show your analysis before taking any action
|
||||
- Present A/P/C menu after generating content
|
||||
- ONLY save when user chooses C (Continue)
|
||||
- Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5]` before loading next step
|
||||
- FORBIDDEN to load next step until C is selected
|
||||
|
||||
## COLLABORATION MENUS (A/P/C):
|
||||
|
||||
- **A (Advanced Elicitation)**: Deep dive into the player experience
|
||||
- **P (Party Mode)**: Test these fundamentals with multiple perspectives
|
||||
- **C (Continue)**: Save the content to the document and proceed to next step
|
||||
|
||||
## CONTEXT BOUNDARIES:
|
||||
|
||||
- All previous context (type, platform, audience, goals, USPs) available
|
||||
- Pillars are the "constitution" that guides all design decisions
|
||||
- Core loop is what players do 80% of the time
|
||||
- Win/loss conditions provide motivation and stakes
|
||||
|
||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
||||
|
||||
### 1. Game Pillars Discovery
|
||||
|
||||
**Guide user through pillar definition:**
|
||||
|
||||
"Now we define the core pillars - the fundamental design principles that every feature must serve.
|
||||
|
||||
**What are Game Pillars?**
|
||||
|
||||
Pillars are 2-4 non-negotiable design tenets. Every mechanic, system, and feature should support at least one pillar. If something doesn't serve a pillar, question whether it belongs.
|
||||
|
||||
**Examples of Pillars:**
|
||||
|
||||
| Game | Pillars |
|
||||
| -------------- | -------------------------------------------------- |
|
||||
| **Dark Souls** | Challenge, Discovery, Consequence |
|
||||
| **Celeste** | Tight Controls, Accessibility, Emotional Narrative |
|
||||
| **Minecraft** | Creativity, Exploration, Player Agency |
|
||||
| **Dead Cells** | Mastery, Variety, Momentum |
|
||||
|
||||
**For your {{game_type}} with USPs of {{usps}}:**
|
||||
|
||||
What 2-4 pillars will define every design decision in {{game_name}}?"
|
||||
|
||||
### 2. Core Loop Discovery
|
||||
|
||||
**Guide user through loop definition:**
|
||||
|
||||
"Now let's define the core gameplay loop - the cycle of actions players repeat throughout the game.
|
||||
|
||||
**Core Loop Structure:**
|
||||
|
||||
A good loop has: **Action -> Feedback -> Reward -> Motivation to repeat**
|
||||
|
||||
**Examples:**
|
||||
|
||||
| Game | Core Loop |
|
||||
| ------------- | ---------------------------------------------------------------------- |
|
||||
| **Roguelike** | Enter dungeon -> Fight/loot -> Die/extract -> Upgrade -> Enter dungeon |
|
||||
| **Puzzle** | See puzzle -> Analyze -> Attempt -> Succeed/fail -> Next puzzle |
|
||||
| **FPS** | Engage enemy -> Shoot -> Kill/die -> Respawn/proceed -> Engage |
|
||||
|
||||
**For {{game_type}} games, typical loops include:**
|
||||
{typical_loops_for_game_type}
|
||||
|
||||
**Questions to consider:**
|
||||
|
||||
1. What does the player do most of the time?
|
||||
2. What makes each loop iteration feel different from the last?
|
||||
3. How long is one loop cycle? (seconds, minutes, hours?)
|
||||
|
||||
Describe the core loop for {{game_name}}."
|
||||
|
||||
### 3. Win/Loss Conditions Discovery
|
||||
|
||||
**Guide user through win/loss definition:**
|
||||
|
||||
"Finally, let's define how players succeed and fail.
|
||||
|
||||
**Win/Loss Framework:**
|
||||
|
||||
| Condition Type | Examples |
|
||||
| -------------- | --------------------------------------------------------------- |
|
||||
| **Victory** | Beat final boss, reach score, complete story, survive time |
|
||||
| **Failure** | Run out of lives, time expires, resources depleted, story fails |
|
||||
| **Soft Fail** | Lose progress, restart level, dropped loot |
|
||||
| **No Failure** | Sandbox games, creative tools, walking sims |
|
||||
|
||||
**Questions to consider:**
|
||||
|
||||
1. Is there a definitive "win state" or is success ongoing?
|
||||
2. What happens when players fail? How punishing is it?
|
||||
3. Are there multiple win/lose conditions (lives AND time)?
|
||||
4. Does failure teach the player something?
|
||||
|
||||
How do players win and lose in {{game_name}}?"
|
||||
|
||||
### 4. Generate Core Gameplay Content
|
||||
|
||||
Based on the conversation, prepare the content:
|
||||
|
||||
```markdown
|
||||
## Core Gameplay
|
||||
|
||||
### Game Pillars
|
||||
|
||||
{{pillar_list_with_descriptions}}
|
||||
|
||||
**Pillar Prioritization:** When pillars conflict, prioritize in this order:
|
||||
{{pillar_priority_order}}
|
||||
|
||||
### Core Gameplay Loop
|
||||
|
||||
{{loop_description}}
|
||||
|
||||
**Loop Diagram:**
|
||||
{{text_based_loop_visualization}}
|
||||
|
||||
**Loop Timing:** {{typical_loop_duration}}
|
||||
|
||||
**Loop Variation:** {{what_makes_each_iteration_different}}
|
||||
|
||||
### Win/Loss Conditions
|
||||
|
||||
#### Victory Conditions
|
||||
|
||||
{{win_conditions}}
|
||||
|
||||
#### Failure Conditions
|
||||
|
||||
{{loss_conditions}}
|
||||
|
||||
#### Failure Recovery
|
||||
|
||||
{{what_happens_on_failure}}
|
||||
```
|
||||
|
||||
### 5. Present Content and Menu
|
||||
|
||||
Show the generated content to the user and present:
|
||||
|
||||
"I've drafted the Core Gameplay sections based on our conversation.
|
||||
|
||||
**Here's what I'll add to the document:**
|
||||
|
||||
[Show the complete markdown content from step 4]
|
||||
|
||||
**Validation Check:**
|
||||
|
||||
- Do all pillars support your USPs?
|
||||
- Does the core loop deliver on your pillars?
|
||||
- Do win/loss conditions create appropriate stakes?
|
||||
|
||||
**Select an Option:**
|
||||
[A] Advanced Elicitation - Stress test these fundamentals
|
||||
[P] Party Mode - Get other perspectives on the core design
|
||||
[C] Continue - Save this and move to Game Mechanics (Step 6 of 14)"
|
||||
|
||||
### 6. Handle Menu Selection
|
||||
|
||||
#### IF A (Advanced Elicitation):
|
||||
|
||||
- Execute {advancedElicitationTask} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF P (Party Mode):
|
||||
|
||||
- Execute {partyModeWorkflow} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF C (Continue):
|
||||
|
||||
- Append the final content to `{outputFile}`
|
||||
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5]`
|
||||
- Load `{nextStepFile}`
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN [C continue option] is selected and [core gameplay content saved with frontmatter updated], will you then load and read fully `{nextStepFile}`.
|
||||
|
||||
---
|
||||
|
||||
## SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### SUCCESS:
|
||||
|
||||
- 2-4 clear, actionable pillars defined
|
||||
- Pillar prioritization established for conflicts
|
||||
- Core loop clearly described with timing and variation
|
||||
- Win/loss conditions appropriate for game type
|
||||
- Failure recovery explained
|
||||
- A/P/C menu presented and handled correctly
|
||||
- Frontmatter updated with stepsCompleted: [1, 2, 3, 4, 5]
|
||||
|
||||
### SYSTEM FAILURE:
|
||||
|
||||
- Generic pillars that don't guide decisions
|
||||
- Core loop that doesn't match the game type
|
||||
- Generating content without real user input
|
||||
- Win/loss conditions misaligned with stated goals
|
||||
- Not presenting A/P/C menu after content generation
|
||||
- Proceeding without user selecting 'C'
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
@@ -0,0 +1,250 @@
|
||||
---
|
||||
name: 'step-06-mechanics'
|
||||
description: 'Define primary game mechanics and control schemes'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/2-design/gdd'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-06-mechanics.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-07-game-type.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/gdd.md'
|
||||
|
||||
# Task References
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
---
|
||||
|
||||
# Step 6: Game Mechanics
|
||||
|
||||
**Progress: Step 6 of 14** - Next: Game Type Specifics
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Define the primary game mechanics that players interact with and the control scheme/input methods for the target platform(s).
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- NEVER generate content without user input
|
||||
- CRITICAL: Read the complete step file before taking any action
|
||||
- CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- YOU ARE A FACILITATOR, not a content generator
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- You are a veteran game designer facilitator collaborating with a creative peer
|
||||
- Mechanics must serve the pillars and core loop defined in step 5
|
||||
- Controls must work for the target platform defined in step 3
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- Focus on moment-to-moment player interactions
|
||||
- FORBIDDEN to generate mechanics without real user input
|
||||
- Challenge: Does each mechanic serve a pillar?
|
||||
- Approach: Start with verbs - what does the player DO?
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- Show your analysis before taking any action
|
||||
- Present A/P/C menu after generating content
|
||||
- ONLY save when user chooses C (Continue)
|
||||
- Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6]` before loading next step
|
||||
- FORBIDDEN to load next step until C is selected
|
||||
|
||||
## COLLABORATION MENUS (A/P/C):
|
||||
|
||||
- **A (Advanced Elicitation)**: Deep dive into mechanic interactions and edge cases
|
||||
- **P (Party Mode)**: Test mechanic clarity with multiple perspectives
|
||||
- **C (Continue)**: Save the content to the document and proceed to next step
|
||||
|
||||
## CONTEXT BOUNDARIES:
|
||||
|
||||
- All previous context available (especially pillars and platform)
|
||||
- Mechanics are the building blocks of gameplay
|
||||
- Controls must feel good on target platform(s)
|
||||
|
||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
||||
|
||||
### 1. Primary Mechanics Discovery
|
||||
|
||||
**Guide user through mechanics definition:**
|
||||
|
||||
"Let's define the primary mechanics - the core actions players perform to engage with your game.
|
||||
|
||||
**Mechanics Framework:**
|
||||
|
||||
Think in terms of VERBS - what does the player DO?
|
||||
|
||||
| Mechanic Category | Example Verbs |
|
||||
| ----------------- | ---------------------------------------- |
|
||||
| **Movement** | Run, jump, dash, climb, swim, fly |
|
||||
| **Combat** | Attack, block, dodge, parry, aim, shoot |
|
||||
| **Interaction** | Talk, pickup, use, craft, build, destroy |
|
||||
| **Resource** | Collect, spend, trade, manage, invest |
|
||||
| **Information** | Discover, read, scan, analyze, remember |
|
||||
| **Social** | Cooperate, compete, trade, communicate |
|
||||
|
||||
**For {{game_type}} games, key mechanics typically include:**
|
||||
{typical_mechanics_for_game_type}
|
||||
|
||||
**Your core loop is:** {{core_loop}}
|
||||
**Your pillars are:** {{pillars}}
|
||||
|
||||
**Questions to consider:**
|
||||
|
||||
1. What are the 3-5 most important things players do?
|
||||
2. Which mechanics support which pillars?
|
||||
3. How do mechanics combine or interact?
|
||||
|
||||
What are the primary mechanics in {{game_name}}?"
|
||||
|
||||
### 2. Mechanics Deep Dive
|
||||
|
||||
**For each mechanic identified, ask:**
|
||||
|
||||
"Let's detail **{{mechanic_name}}**:
|
||||
|
||||
- **When does the player use this?** (constantly, situationally, rarely)
|
||||
- **What skill does it test?** (timing, positioning, strategy, knowledge)
|
||||
- **How does it feel?** (snappy, weighty, floaty, precise)
|
||||
- **How does it progress?** (unlocks, upgrades, mastery)
|
||||
- **How does it interact with other mechanics?**"
|
||||
|
||||
### 3. Controls Discovery
|
||||
|
||||
**Guide user through control scheme definition:**
|
||||
|
||||
"Now let's map these mechanics to controls for {{primary_platform}}.
|
||||
|
||||
**Control Considerations:**
|
||||
|
||||
| Platform | Key Considerations |
|
||||
| ----------- | ------------------------------------------------------------------ |
|
||||
| **PC** | Keyboard/mouse precision, rebindable keys, many available inputs |
|
||||
| **Console** | Limited buttons, shoulder triggers, stick deadzone, rumble |
|
||||
| **Mobile** | Touch targets, gesture clarity, screen real estate, one-hand play? |
|
||||
| **VR** | Motion control, tracked hands, comfort, physical space |
|
||||
|
||||
**Control Design Principles:**
|
||||
|
||||
1. **Frequency = Accessibility:** Common actions get easy-to-reach inputs
|
||||
2. **Similar actions, similar buttons:** Jump/interact shouldn't be opposite hands
|
||||
3. **No hand gymnastics:** Avoid requiring uncomfortable button combos
|
||||
4. **Platform conventions:** Use expected mappings where appropriate
|
||||
|
||||
**For {{game_type}} on {{platform}}, typical control schemes include:**
|
||||
{typical_controls_for_game_type_and_platform}
|
||||
|
||||
How do you want controls to work in {{game_name}}?"
|
||||
|
||||
### 4. Generate Mechanics Content
|
||||
|
||||
Based on the conversation, prepare the content:
|
||||
|
||||
```markdown
|
||||
## Game Mechanics
|
||||
|
||||
### Primary Mechanics
|
||||
|
||||
{{mechanics_list_with_details}}
|
||||
|
||||
### Mechanic Interactions
|
||||
|
||||
{{how_mechanics_combine}}
|
||||
|
||||
### Mechanic Progression
|
||||
|
||||
{{how_mechanics_evolve_or_unlock}}
|
||||
|
||||
---
|
||||
|
||||
## Controls and Input
|
||||
|
||||
### Control Scheme ({{primary_platform}})
|
||||
|
||||
{{control_mapping_table_or_description}}
|
||||
|
||||
### Input Feel
|
||||
|
||||
{{how_controls_should_feel}}
|
||||
|
||||
### Accessibility Controls
|
||||
|
||||
{{planned_accessibility_options}}
|
||||
```
|
||||
|
||||
### 5. Present Content and Menu
|
||||
|
||||
Show the generated content to the user and present:
|
||||
|
||||
"I've drafted the Mechanics & Controls sections based on our conversation.
|
||||
|
||||
**Here's what I'll add to the document:**
|
||||
|
||||
[Show the complete markdown content from step 4]
|
||||
|
||||
**Validation Check:**
|
||||
|
||||
- Does each mechanic serve at least one pillar?
|
||||
- Do controls feel natural for the platform?
|
||||
- Are common actions easily accessible?
|
||||
|
||||
**Select an Option:**
|
||||
[A] Advanced Elicitation - Deep dive into mechanic feel and edge cases
|
||||
[P] Party Mode - Test these mechanics with other perspectives
|
||||
[C] Continue - Save this and move to Game Type Specifics (Step 7 of 14)"
|
||||
|
||||
### 6. Handle Menu Selection
|
||||
|
||||
#### IF A (Advanced Elicitation):
|
||||
|
||||
- Execute {advancedElicitationTask} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF P (Party Mode):
|
||||
|
||||
- Execute {partyModeWorkflow} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF C (Continue):
|
||||
|
||||
- Append the final content to `{outputFile}`
|
||||
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6]`
|
||||
- Load `{nextStepFile}`
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN [C continue option] is selected and [mechanics content saved with frontmatter updated], will you then load and read fully `{nextStepFile}`.
|
||||
|
||||
---
|
||||
|
||||
## SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### SUCCESS:
|
||||
|
||||
- 3-5 primary mechanics clearly defined
|
||||
- Each mechanic linked to pillars
|
||||
- Mechanic interactions described
|
||||
- Control scheme appropriate for platform
|
||||
- Input feel considerations captured
|
||||
- A/P/C menu presented and handled correctly
|
||||
- Frontmatter updated with stepsCompleted: [1, 2, 3, 4, 5, 6]
|
||||
|
||||
### SYSTEM FAILURE:
|
||||
|
||||
- Mechanics that don't serve pillars
|
||||
- Controls inappropriate for target platform
|
||||
- Generating content without real user input
|
||||
- Missing mechanic interactions
|
||||
- Not presenting A/P/C menu after content generation
|
||||
- Proceeding without user selecting 'C'
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
@@ -0,0 +1,267 @@
|
||||
---
|
||||
name: 'step-07-game-type'
|
||||
description: 'Process game-type specific sections from the loaded game type guide'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/2-design/gdd'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-07-game-type.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-08-progression.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/gdd.md'
|
||||
|
||||
# Game Type Resources
|
||||
gameTypesFolder: '{workflow_path}/game-types'
|
||||
|
||||
# Task References
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
---
|
||||
|
||||
# Step 7: Game Type Specifics
|
||||
|
||||
**Progress: Step 7 of 14** - Next: Progression & Balance
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Process the game-type specific sections from the loaded game type guide ({game_type}.md). Each game type has unique sections that must be addressed (e.g., RPGs need character systems, platformers need movement feel, etc.).
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- NEVER generate content without user input
|
||||
- CRITICAL: Read the complete step file before taking any action
|
||||
- CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- YOU ARE A FACILITATOR, not a content generator
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- You are a veteran game designer facilitator collaborating with a creative peer
|
||||
- Game type guides contain expert knowledge for specific genres
|
||||
- This step varies significantly based on game type
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- CRITICAL: Load and process the game type guide file
|
||||
- Each section in the guide should be elicited from user
|
||||
- FORBIDDEN to generate type-specific content without user input
|
||||
- Some game types have optional sections - respect them
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- Load the game type guide from `{gameTypesFolder}/{game_type}.md`
|
||||
- Process each section in the guide sequentially
|
||||
- Present A/P/C menu after completing all type-specific sections
|
||||
- ONLY save when user chooses C (Continue)
|
||||
- Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6, 7]` before loading next step
|
||||
|
||||
## COLLABORATION MENUS (A/P/C):
|
||||
|
||||
- **A (Advanced Elicitation)**: Deep dive into genre-specific elements
|
||||
- **P (Party Mode)**: Get genre expert perspectives
|
||||
- **C (Continue)**: Save the content to the document and proceed to next step
|
||||
|
||||
## CONTEXT BOUNDARIES:
|
||||
|
||||
- Game type was determined in step 2 and stored in frontmatter
|
||||
- Game type guide should already be loaded in memory from step 2
|
||||
- All previous context (pillars, mechanics, etc.) available
|
||||
- Type-specific content goes in the {{GAME_TYPE_SPECIFIC_SECTIONS}} placeholder
|
||||
|
||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
||||
|
||||
### 1. Load Game Type Guide
|
||||
|
||||
**CRITICAL FIRST ACTION:**
|
||||
|
||||
- Read `game_type` from frontmatter
|
||||
- If not already loaded, load `{gameTypesFolder}/{game_type}.md`
|
||||
- Parse the guide to identify all sections that need elicitation
|
||||
|
||||
**Announce to user:**
|
||||
|
||||
"Now we'll work through the **{{game_type}}** specific sections. This game type has unique design elements that we need to define.
|
||||
|
||||
**{{game_type}} requires these specific sections:**
|
||||
{list_sections_from_game_type_guide}
|
||||
|
||||
Let's work through each one."
|
||||
|
||||
### 2. Process Each Section from Guide
|
||||
|
||||
**For each section defined in the game type guide:**
|
||||
|
||||
The game type guide will have sections marked with placeholders like `{{section_name}}`. For each:
|
||||
|
||||
1. **Read the guidance** in the guide for this section
|
||||
2. **Present the guidance and questions** to the user
|
||||
3. **Elicit user input** for this specific section
|
||||
4. **Store the content** for final assembly
|
||||
|
||||
**Example flow for an RPG game type:**
|
||||
|
||||
"**Character System**
|
||||
|
||||
Your game type guide suggests addressing:
|
||||
|
||||
- Character creation options
|
||||
- Attribute/stat system
|
||||
- Class or build system
|
||||
- Character progression path
|
||||
|
||||
{guidance_from_guide}
|
||||
|
||||
How do you want the character system to work in {{game_name}}?"
|
||||
|
||||
### 3. Handle Optional Sections
|
||||
|
||||
Some game type guides have optional sections marked with `[optional]` or similar:
|
||||
|
||||
- Present optional sections to user
|
||||
- Ask: "This section is optional for {{game_type}}. Would you like to define {{section_name}}?"
|
||||
- If yes: elicit content
|
||||
- If no: skip and note as "Not applicable for this game"
|
||||
|
||||
### 4. Handle Narrative Flags
|
||||
|
||||
Some game type guides include narrative flags:
|
||||
|
||||
- `<narrative-workflow-critical>` - Story is essential for this game type
|
||||
- `<narrative-workflow-recommended>` - Story would enhance this game type
|
||||
|
||||
If flag found:
|
||||
|
||||
- Store `needs_narrative = true` for use in step 14
|
||||
- Note to user: "This game type typically benefits from dedicated narrative design. We'll address this in the final step."
|
||||
|
||||
### 5. Generate Game Type Content
|
||||
|
||||
Based on all elicited sections, prepare the content:
|
||||
|
||||
```markdown
|
||||
## {{game_type_name}} Specific Design
|
||||
|
||||
{{assembled_sections_from_guide_elicitation}}
|
||||
```
|
||||
|
||||
The content structure will vary based on game type:
|
||||
|
||||
**Example for RPG:**
|
||||
|
||||
```markdown
|
||||
## RPG Specific Design
|
||||
|
||||
### Character System
|
||||
|
||||
{{character_system_content}}
|
||||
|
||||
### Combat System
|
||||
|
||||
{{combat_system_content}}
|
||||
|
||||
### Inventory & Equipment
|
||||
|
||||
{{inventory_content}}
|
||||
|
||||
### Quest System
|
||||
|
||||
{{quest_system_content}}
|
||||
```
|
||||
|
||||
**Example for Platformer:**
|
||||
|
||||
```markdown
|
||||
## Platformer Specific Design
|
||||
|
||||
### Movement Feel
|
||||
|
||||
{{movement_feel_content}}
|
||||
|
||||
### Jump Mechanics
|
||||
|
||||
{{jump_mechanics_content}}
|
||||
|
||||
### Hazards & Enemies
|
||||
|
||||
{{hazards_content}}
|
||||
|
||||
### Collectibles
|
||||
|
||||
{{collectibles_content}}
|
||||
```
|
||||
|
||||
### 6. Present Content and Menu
|
||||
|
||||
Show the generated content to the user and present:
|
||||
|
||||
"I've drafted the {{game_type}} Specific Design sections based on our conversation.
|
||||
|
||||
**Here's what I'll add to the document:**
|
||||
|
||||
[Show the complete markdown content from step 5]
|
||||
|
||||
**Validation Check:**
|
||||
|
||||
- Does each section align with your core pillars?
|
||||
- Have we covered all required elements for {{game_type}}?
|
||||
- Any genre conventions you want to subvert?
|
||||
|
||||
**Select an Option:**
|
||||
[A] Advanced Elicitation - Deep dive into genre specifics
|
||||
[P] Party Mode - Get genre expert perspectives
|
||||
[C] Continue - Save this and move to Progression & Balance (Step 8 of 14)"
|
||||
|
||||
### 7. Handle Menu Selection
|
||||
|
||||
#### IF A (Advanced Elicitation):
|
||||
|
||||
- Execute {advancedElicitationTask} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF P (Party Mode):
|
||||
|
||||
- Execute {partyModeWorkflow} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF C (Continue):
|
||||
|
||||
- Append the final content to `{outputFile}` in place of {{GAME_TYPE_SPECIFIC_SECTIONS}}
|
||||
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6, 7]`
|
||||
- If `needs_narrative` flag was set, store in frontmatter
|
||||
- Load `{nextStepFile}`
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN [C continue option] is selected and [game type content saved with frontmatter updated], will you then load and read fully `{nextStepFile}`.
|
||||
|
||||
---
|
||||
|
||||
## SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### SUCCESS:
|
||||
|
||||
- Game type guide loaded and parsed
|
||||
- All required sections elicited from user
|
||||
- Optional sections offered and handled appropriately
|
||||
- Narrative flags detected and stored
|
||||
- Content matches game type guide structure
|
||||
- A/P/C menu presented and handled correctly
|
||||
- Frontmatter updated with stepsCompleted: [1, 2, 3, 4, 5, 6, 7]
|
||||
|
||||
### SYSTEM FAILURE:
|
||||
|
||||
- Not loading the game type guide file
|
||||
- Generating type-specific content without user input
|
||||
- Missing required sections from the guide
|
||||
- Ignoring narrative flags
|
||||
- Not presenting A/P/C menu after content generation
|
||||
- Proceeding without user selecting 'C'
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
@@ -0,0 +1,273 @@
|
||||
---
|
||||
name: 'step-08-progression'
|
||||
description: 'Define player progression systems and game balance'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/2-design/gdd'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-08-progression.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-09-levels.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/gdd.md'
|
||||
|
||||
# Task References
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
---
|
||||
|
||||
# Step 8: Progression & Balance
|
||||
|
||||
**Progress: Step 8 of 14** - Next: Level Design
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Define how players progress through the game (skill, power, narrative, etc.), the difficulty curve, and any economy or resource systems.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- NEVER generate content without user input
|
||||
- CRITICAL: Read the complete step file before taking any action
|
||||
- CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- YOU ARE A FACILITATOR, not a content generator
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- You are a veteran game designer facilitator collaborating with a creative peer
|
||||
- Progression is what keeps players engaged over time
|
||||
- Balance determines if the game feels fair and fun
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- Focus on player growth and challenge scaling
|
||||
- FORBIDDEN to generate progression systems without user input
|
||||
- Some games have no explicit progression - that's valid
|
||||
- Economy/resources are optional - ask before including
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- Show your analysis before taking any action
|
||||
- Present A/P/C menu after generating content
|
||||
- ONLY save when user chooses C (Continue)
|
||||
- Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8]` before loading next step
|
||||
- FORBIDDEN to load next step until C is selected
|
||||
|
||||
## COLLABORATION MENUS (A/P/C):
|
||||
|
||||
- **A (Advanced Elicitation)**: Deep dive into progression curves and balance
|
||||
- **P (Party Mode)**: Test progression ideas with multiple perspectives
|
||||
- **C (Continue)**: Save the content to the document and proceed to next step
|
||||
|
||||
## CONTEXT BOUNDARIES:
|
||||
|
||||
- All previous context available (especially core loop and mechanics)
|
||||
- Progression should reinforce the core loop
|
||||
- Balance affects all previously defined mechanics
|
||||
|
||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
||||
|
||||
### 1. Player Progression Discovery
|
||||
|
||||
**Guide user through progression definition:**
|
||||
|
||||
"Let's define how players grow and progress through {{game_name}}.
|
||||
|
||||
**Types of Progression:**
|
||||
|
||||
| Type | Description | Examples |
|
||||
| -------------- | ------------------------------------------ | ------------------------- |
|
||||
| **Skill** | Player gets better at the game | Dark Souls, Celeste |
|
||||
| **Power** | Character gets stronger (stats, abilities) | RPGs, Metroidvanias |
|
||||
| **Narrative** | Story unfolds and advances | Visual novels, adventures |
|
||||
| **Content** | New levels, areas, or modes unlock | Most games |
|
||||
| **Collection** | Gathering items, achievements | Completionist games |
|
||||
| **Social** | Rank, reputation, community status | Competitive games |
|
||||
|
||||
**For {{game_type}} games, typical progression includes:**
|
||||
{typical_progression_for_game_type}
|
||||
|
||||
**Questions to consider:**
|
||||
|
||||
1. What type(s) of progression does {{game_name}} have?
|
||||
2. How long until players feel meaningful progress?
|
||||
3. Is there a "meta" progression (between runs/sessions)?
|
||||
|
||||
How do players progress in {{game_name}}?"
|
||||
|
||||
### 2. Difficulty Curve Discovery
|
||||
|
||||
**Guide user through difficulty design:**
|
||||
|
||||
"Now let's design the difficulty curve.
|
||||
|
||||
**Difficulty Curve Patterns:**
|
||||
|
||||
| Pattern | Description | Best For |
|
||||
| --------------------- | --------------------------------------- | ------------------------------ |
|
||||
| **Linear** | Steady increase in challenge | Story games, first playthrough |
|
||||
| **Sawtooth** | Build-release pattern (easy after hard) | Level-based games |
|
||||
| **Exponential** | Gentle start, steep late-game | RPGs, incremental games |
|
||||
| **Flat** | Consistent challenge throughout | Roguelikes, skill games |
|
||||
| **Player-controlled** | User selects difficulty | Accessibility-focused |
|
||||
|
||||
**Questions to consider:**
|
||||
|
||||
1. How does challenge increase over time?
|
||||
2. Are there difficulty spikes (bosses, skill checks)?
|
||||
3. Can players adjust difficulty? How?
|
||||
4. How do you handle players who are stuck?
|
||||
|
||||
Describe the difficulty curve for {{game_name}}."
|
||||
|
||||
### 3. Economy/Resources Discovery (Optional)
|
||||
|
||||
**Ask first:**
|
||||
|
||||
"Does {{game_name}} have an in-game economy or resource system?
|
||||
|
||||
Examples:
|
||||
|
||||
- Currency (gold, coins, gems)
|
||||
- Crafting materials
|
||||
- Energy/stamina systems
|
||||
- Ammunition or consumables
|
||||
|
||||
If yes, we'll define it. If no, we'll skip this section."
|
||||
|
||||
**If yes:**
|
||||
|
||||
"Let's define the economy/resources:
|
||||
|
||||
**Economy Questions:**
|
||||
|
||||
1. What resources exist?
|
||||
2. How are resources earned?
|
||||
3. How are resources spent?
|
||||
4. Is there inflation/scarcity design?
|
||||
5. Are there sinks to remove resources?
|
||||
6. Premium currency? (if F2P)
|
||||
|
||||
Describe the economy in {{game_name}}."
|
||||
|
||||
### 4. Generate Progression Content
|
||||
|
||||
Based on the conversation, prepare the content:
|
||||
|
||||
```markdown
|
||||
## Progression and Balance
|
||||
|
||||
### Player Progression
|
||||
|
||||
{{progression_system_description}}
|
||||
|
||||
#### Progression Types
|
||||
|
||||
{{progression_types_used}}
|
||||
|
||||
#### Progression Pacing
|
||||
|
||||
{{how_fast_players_progress}}
|
||||
|
||||
### Difficulty Curve
|
||||
|
||||
{{difficulty_curve_description}}
|
||||
|
||||
#### Challenge Scaling
|
||||
|
||||
{{how_difficulty_increases}}
|
||||
|
||||
#### Difficulty Options
|
||||
|
||||
{{accessibility_and_difficulty_settings}}
|
||||
|
||||
### Economy and Resources
|
||||
|
||||
{{if_has_economy}}
|
||||
{{economy_system_description}}
|
||||
|
||||
#### Resources
|
||||
|
||||
{{resource_types_and_purposes}}
|
||||
|
||||
#### Economy Flow
|
||||
|
||||
{{earn_and_spend_loop}}
|
||||
{{/if_has_economy}}
|
||||
|
||||
{{if_no_economy}}
|
||||
_This game does not feature an in-game economy or resource system._
|
||||
{{/if_no_economy}}
|
||||
```
|
||||
|
||||
### 5. Present Content and Menu
|
||||
|
||||
Show the generated content to the user and present:
|
||||
|
||||
"I've drafted the Progression & Balance sections based on our conversation.
|
||||
|
||||
**Here's what I'll add to the document:**
|
||||
|
||||
[Show the complete markdown content from step 4]
|
||||
|
||||
**Validation Check:**
|
||||
|
||||
- Does progression reinforce your core loop?
|
||||
- Is the difficulty curve appropriate for your audience?
|
||||
- Does the economy (if any) feel fair?
|
||||
|
||||
**Select an Option:**
|
||||
[A] Advanced Elicitation - Deep dive into balance and pacing
|
||||
[P] Party Mode - Test these systems with other perspectives
|
||||
[C] Continue - Save this and move to Level Design (Step 9 of 14)"
|
||||
|
||||
### 6. Handle Menu Selection
|
||||
|
||||
#### IF A (Advanced Elicitation):
|
||||
|
||||
- Execute {advancedElicitationTask} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF P (Party Mode):
|
||||
|
||||
- Execute {partyModeWorkflow} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF C (Continue):
|
||||
|
||||
- Append the final content to `{outputFile}`
|
||||
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8]`
|
||||
- Load `{nextStepFile}`
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN [C continue option] is selected and [progression content saved with frontmatter updated], will you then load and read fully `{nextStepFile}`.
|
||||
|
||||
---
|
||||
|
||||
## SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### SUCCESS:
|
||||
|
||||
- Progression system clearly defined
|
||||
- Difficulty curve appropriate for game type and audience
|
||||
- Economy handled correctly (defined or explicitly skipped)
|
||||
- Balance considerations documented
|
||||
- A/P/C menu presented and handled correctly
|
||||
- Frontmatter updated with stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8]
|
||||
|
||||
### SYSTEM FAILURE:
|
||||
|
||||
- Generating progression without user input
|
||||
- Assuming economy exists without asking
|
||||
- Difficulty curve mismatched with audience
|
||||
- Not presenting A/P/C menu after content generation
|
||||
- Proceeding without user selecting 'C'
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
@@ -0,0 +1,265 @@
|
||||
---
|
||||
name: 'step-09-levels'
|
||||
description: 'Define level design framework and level progression'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/2-design/gdd'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-09-levels.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-10-art-audio.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/gdd.md'
|
||||
|
||||
# Task References
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
---
|
||||
|
||||
# Step 9: Level Design
|
||||
|
||||
**Progress: Step 9 of 14** - Next: Art & Audio
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Define the level design framework including level types, structure, and how levels progress or unlock throughout the game.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- NEVER generate content without user input
|
||||
- CRITICAL: Read the complete step file before taking any action
|
||||
- CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- YOU ARE A FACILITATOR, not a content generator
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- You are a veteran game designer facilitator collaborating with a creative peer
|
||||
- Level design is where mechanics meet content
|
||||
- Not all games have "levels" - some have open worlds, others are endless
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- Focus on spatial design and content structure
|
||||
- FORBIDDEN to generate level designs without user input
|
||||
- Adapt terminology to game type (levels, stages, areas, dungeons, etc.)
|
||||
- Some games have no level structure - that's valid
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- Show your analysis before taking any action
|
||||
- Present A/P/C menu after generating content
|
||||
- ONLY save when user chooses C (Continue)
|
||||
- Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9]` before loading next step
|
||||
- FORBIDDEN to load next step until C is selected
|
||||
|
||||
## COLLABORATION MENUS (A/P/C):
|
||||
|
||||
- **A (Advanced Elicitation)**: Deep dive into level design principles
|
||||
- **P (Party Mode)**: Get perspectives on level structure
|
||||
- **C (Continue)**: Save the content to the document and proceed to next step
|
||||
|
||||
## CONTEXT BOUNDARIES:
|
||||
|
||||
- All previous context available (especially mechanics and progression)
|
||||
- Level design should teach and challenge using defined mechanics
|
||||
- Structure should support defined progression system
|
||||
|
||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
||||
|
||||
### 1. Determine Level Structure Type
|
||||
|
||||
**First, establish the structural approach:**
|
||||
|
||||
"Let's define how {{game_name}} structures its playable content.
|
||||
|
||||
**Structure Types:**
|
||||
|
||||
| Type | Description | Examples |
|
||||
| -------------------- | --------------------------------- | --------------------------- |
|
||||
| **Linear Levels** | Distinct stages played in order | Mario, Celeste |
|
||||
| **Hub-Based** | Central area connecting levels | Mario 64, Hollow Knight |
|
||||
| **Open World** | Large continuous space | Breath of the Wild, GTA |
|
||||
| **Procedural** | Generated levels each playthrough | Spelunky, Dead Cells |
|
||||
| **Arena/Match** | Self-contained competitive spaces | Fighting games, MOBAs |
|
||||
| **Puzzle Sets** | Collections of puzzles | Portal, The Witness |
|
||||
| **Narrative Scenes** | Story-driven segments | Visual novels, adventures |
|
||||
| **Endless** | Infinite generated content | Endless runners, idle games |
|
||||
|
||||
**For {{game_type}} games, typical structures include:**
|
||||
{typical_structures_for_game_type}
|
||||
|
||||
What structure best fits {{game_name}}?"
|
||||
|
||||
### 2. Level Types Discovery
|
||||
|
||||
**Based on structure choice, elicit level types:**
|
||||
|
||||
"Now let's define the types of {levels/areas/stages} in {{game_name}}.
|
||||
|
||||
**Questions to consider:**
|
||||
|
||||
1. What different environments or settings exist?
|
||||
2. Are there tutorial levels? How are they integrated?
|
||||
3. Are there boss levels or climax moments?
|
||||
4. What's the shortest level? Longest?
|
||||
5. Any special or secret levels?
|
||||
|
||||
Describe the types of {levels/areas/stages} in {{game_name}}."
|
||||
|
||||
### 3. Level Progression Discovery
|
||||
|
||||
**Guide user through progression structure:**
|
||||
|
||||
"Now let's define how players progress through {levels/areas/content}.
|
||||
|
||||
**Progression Models:**
|
||||
|
||||
| Model | Description | Best For |
|
||||
| --------------------- | -------------------------------- | ---------------------- |
|
||||
| **Linear Sequence** | 1 -> 2 -> 3 -> ... | Story games, tutorials |
|
||||
| **Branching Paths** | Choices lead to different levels | Replayability |
|
||||
| **Open Selection** | Player chooses order | Mega Man style |
|
||||
| **Gated Progress** | Abilities unlock new areas | Metroidvania |
|
||||
| **Score/Star Unlock** | Performance unlocks levels | Angry Birds style |
|
||||
| **Story Unlock** | Narrative triggers unlock | Adventure games |
|
||||
|
||||
**Questions to consider:**
|
||||
|
||||
1. How do players unlock new {levels/areas}?
|
||||
2. Can players replay previous {levels/areas}?
|
||||
3. Is there a "world map" or selection screen?
|
||||
4. How is the final {level/area} unlocked?
|
||||
|
||||
How do players progress through {{game_name}}'s content?"
|
||||
|
||||
### 4. Level Design Principles (Optional)
|
||||
|
||||
"Would you like to establish specific level design principles or guidelines for {{game_name}}?
|
||||
|
||||
Examples:
|
||||
|
||||
- 'Teach through play, never through text'
|
||||
- 'Every room has one new idea'
|
||||
- '30 second rule - something interesting every 30 seconds'
|
||||
- 'Left is safety, right is danger'
|
||||
|
||||
These can guide consistent level design throughout development."
|
||||
|
||||
### 5. Generate Level Design Content
|
||||
|
||||
Based on the conversation, prepare the content:
|
||||
|
||||
```markdown
|
||||
## Level Design Framework
|
||||
|
||||
### Structure Type
|
||||
|
||||
{{structure_type_description}}
|
||||
|
||||
### Level Types
|
||||
|
||||
{{level_types_list}}
|
||||
|
||||
#### Tutorial Integration
|
||||
|
||||
{{how_tutorials_work}}
|
||||
|
||||
#### Special Levels
|
||||
|
||||
{{boss_levels_secret_levels_etc}}
|
||||
|
||||
### Level Progression
|
||||
|
||||
{{progression_model_description}}
|
||||
|
||||
#### Unlock System
|
||||
|
||||
{{how_levels_unlock}}
|
||||
|
||||
#### Replayability
|
||||
|
||||
{{replay_and_revisit_mechanics}}
|
||||
|
||||
### Level Design Principles
|
||||
|
||||
{{if_has_principles}}
|
||||
{{level_design_guidelines}}
|
||||
{{/if_has_principles}}
|
||||
|
||||
{{if_no_principles}}
|
||||
_Level design principles will be established during production._
|
||||
{{/if_no_principles}}
|
||||
```
|
||||
|
||||
### 6. Present Content and Menu
|
||||
|
||||
Show the generated content to the user and present:
|
||||
|
||||
"I've drafted the Level Design Framework based on our conversation.
|
||||
|
||||
**Here's what I'll add to the document:**
|
||||
|
||||
[Show the complete markdown content from step 5]
|
||||
|
||||
**Validation Check:**
|
||||
|
||||
- Does the structure support your core loop?
|
||||
- Does progression feel rewarding?
|
||||
- Are level types varied enough to maintain interest?
|
||||
|
||||
**Select an Option:**
|
||||
[A] Advanced Elicitation - Deep dive into level design specifics
|
||||
[P] Party Mode - Get other perspectives on level structure
|
||||
[C] Continue - Save this and move to Art & Audio (Step 10 of 14)"
|
||||
|
||||
### 7. Handle Menu Selection
|
||||
|
||||
#### IF A (Advanced Elicitation):
|
||||
|
||||
- Execute {advancedElicitationTask} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF P (Party Mode):
|
||||
|
||||
- Execute {partyModeWorkflow} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF C (Continue):
|
||||
|
||||
- Append the final content to `{outputFile}`
|
||||
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9]`
|
||||
- Load `{nextStepFile}`
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN [C continue option] is selected and [level design content saved with frontmatter updated], will you then load and read fully `{nextStepFile}`.
|
||||
|
||||
---
|
||||
|
||||
## SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### SUCCESS:
|
||||
|
||||
- Level structure type clearly identified
|
||||
- Level types defined with variety
|
||||
- Progression model documented
|
||||
- Tutorial integration addressed
|
||||
- A/P/C menu presented and handled correctly
|
||||
- Frontmatter updated with stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9]
|
||||
|
||||
### SYSTEM FAILURE:
|
||||
|
||||
- Generating level designs without user input
|
||||
- Using wrong terminology for game type
|
||||
- Structure doesn't support core loop
|
||||
- Not presenting A/P/C menu after content generation
|
||||
- Proceeding without user selecting 'C'
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
@@ -0,0 +1,256 @@
|
||||
---
|
||||
name: 'step-10-art-audio'
|
||||
description: 'Define art style and audio direction'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/2-design/gdd'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-10-art-audio.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-11-technical.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/gdd.md'
|
||||
|
||||
# Task References
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
---
|
||||
|
||||
# Step 10: Art & Audio
|
||||
|
||||
**Progress: Step 10 of 14** - Next: Technical Specs
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Define the visual art style and audio/music direction for the game, establishing the aesthetic identity that will guide all asset creation.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- NEVER generate content without user input
|
||||
- CRITICAL: Read the complete step file before taking any action
|
||||
- CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- YOU ARE A FACILITATOR, not a content generator
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- You are a veteran game designer facilitator collaborating with a creative peer
|
||||
- Art and audio define the player's emotional experience
|
||||
- These decisions heavily impact scope and team requirements
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- Focus on direction and mood, not specific asset lists
|
||||
- FORBIDDEN to generate art/audio direction without user input
|
||||
- Reference games or other media when helpful
|
||||
- Consider platform constraints on art complexity
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- Show your analysis before taking any action
|
||||
- Present A/P/C menu after generating content
|
||||
- ONLY save when user chooses C (Continue)
|
||||
- Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]` before loading next step
|
||||
- FORBIDDEN to load next step until C is selected
|
||||
|
||||
## COLLABORATION MENUS (A/P/C):
|
||||
|
||||
- **A (Advanced Elicitation)**: Deep dive into aesthetic choices
|
||||
- **P (Party Mode)**: Get artistic perspectives
|
||||
- **C (Continue)**: Save the content to the document and proceed to next step
|
||||
|
||||
## CONTEXT BOUNDARIES:
|
||||
|
||||
- All previous context available (especially platform and audience)
|
||||
- Art style should match game pillars and tone
|
||||
- Audio must work on target platform(s)
|
||||
|
||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
||||
|
||||
### 1. Art Style Discovery
|
||||
|
||||
**Guide user through visual direction:**
|
||||
|
||||
"Let's define the visual identity of {{game_name}}.
|
||||
|
||||
**Art Style Categories:**
|
||||
|
||||
| Style | Description | Examples |
|
||||
| --------------- | ---------------------------- | ------------------------- |
|
||||
| **Pixel Art** | Retro-styled discrete pixels | Celeste, Shovel Knight |
|
||||
| **Low-Poly** | Simple 3D geometry | Superhot, Monument Valley |
|
||||
| **Hand-Drawn** | Illustration-like visuals | Cuphead, Hollow Knight |
|
||||
| **Realistic** | Photorealistic graphics | AAA titles |
|
||||
| **Stylized 3D** | Non-realistic 3D | Fortnite, Zelda: BotW |
|
||||
| **Vector/Flat** | Clean shapes, minimal | Thomas Was Alone |
|
||||
| **Mixed Media** | Combining multiple styles | Paper Mario |
|
||||
|
||||
**Visual Elements to Consider:**
|
||||
|
||||
- **Color Palette:** Vibrant, muted, monochromatic, complementary?
|
||||
- **Lighting:** Dramatic, soft, realistic, stylized?
|
||||
- **Camera:** 2D side, top-down, isometric, 3D third/first person?
|
||||
- **Character Design:** Cute, realistic, abstract, iconic?
|
||||
|
||||
**For {{game_type}} on {{platform}}, common art styles include:**
|
||||
{typical_art_styles_for_game_type}
|
||||
|
||||
What visual style do you envision for {{game_name}}?"
|
||||
|
||||
### 2. Art Reference Gathering
|
||||
|
||||
"Are there any games, films, or art that inspire the look of {{game_name}}?
|
||||
|
||||
Examples help communicate the vision:
|
||||
|
||||
- 'The lighting of Limbo with the colors of Journey'
|
||||
- 'Pixel art like Hyper Light Drifter but with a warmer palette'
|
||||
- 'Studio Ghibli-inspired environments'
|
||||
|
||||
What references capture the visual feel you want?"
|
||||
|
||||
### 3. Audio Direction Discovery
|
||||
|
||||
**Guide user through audio/music direction:**
|
||||
|
||||
"Now let's define the audio identity of {{game_name}}.
|
||||
|
||||
**Music Style Considerations:**
|
||||
|
||||
| Style | Mood | Examples |
|
||||
| ------------------ | ------------------- | --------------------- |
|
||||
| **Chiptune/8-bit** | Retro, energetic | Shovel Knight |
|
||||
| **Orchestral** | Epic, emotional | Zelda, Final Fantasy |
|
||||
| **Electronic** | Modern, driving | Hotline Miami, FURI |
|
||||
| **Ambient** | Atmospheric, subtle | Journey, INSIDE |
|
||||
| **Rock/Metal** | Intense, aggressive | DOOM, Devil May Cry |
|
||||
| **Jazz/Lo-fi** | Chill, stylish | Persona, VA-11 Hall-A |
|
||||
| **Dynamic** | Adapts to gameplay | DOOM, Ape Out |
|
||||
|
||||
**Sound Design Considerations:**
|
||||
|
||||
- **Feedback Sounds:** How responsive and punchy?
|
||||
- **Environmental Audio:** How immersive?
|
||||
- **Voice/Dialogue:** None, grunts, partial, full VO?
|
||||
- **Accessibility:** Audio cues for visual elements?
|
||||
|
||||
**For {{game_type}} games, typical audio approaches include:**
|
||||
{typical_audio_for_game_type}
|
||||
|
||||
What audio direction fits {{game_name}}?"
|
||||
|
||||
### 4. Generate Art & Audio Content
|
||||
|
||||
Based on the conversation, prepare the content:
|
||||
|
||||
```markdown
|
||||
## Art and Audio Direction
|
||||
|
||||
### Art Style
|
||||
|
||||
{{art_style_description}}
|
||||
|
||||
#### Visual References
|
||||
|
||||
{{reference_games_and_media}}
|
||||
|
||||
#### Color Palette
|
||||
|
||||
{{color_direction}}
|
||||
|
||||
#### Camera and Perspective
|
||||
|
||||
{{camera_style}}
|
||||
|
||||
### Audio and Music
|
||||
|
||||
{{audio_direction_description}}
|
||||
|
||||
#### Music Style
|
||||
|
||||
{{music_genre_and_mood}}
|
||||
|
||||
#### Sound Design
|
||||
|
||||
{{sound_design_approach}}
|
||||
|
||||
#### Voice/Dialogue
|
||||
|
||||
{{voice_approach}}
|
||||
|
||||
### Aesthetic Goals
|
||||
|
||||
{{how_art_and_audio_support_game_pillars}}
|
||||
```
|
||||
|
||||
### 5. Present Content and Menu
|
||||
|
||||
Show the generated content to the user and present:
|
||||
|
||||
"I've drafted the Art & Audio Direction based on our conversation.
|
||||
|
||||
**Here's what I'll add to the document:**
|
||||
|
||||
[Show the complete markdown content from step 4]
|
||||
|
||||
**Validation Check:**
|
||||
|
||||
- Does the art style support your game pillars?
|
||||
- Is the audio direction achievable for your scope?
|
||||
- Do art and audio work together cohesively?
|
||||
|
||||
**Select an Option:**
|
||||
[A] Advanced Elicitation - Deep dive into aesthetic details
|
||||
[P] Party Mode - Get artistic perspectives
|
||||
[C] Continue - Save this and move to Technical Specs (Step 11 of 14)"
|
||||
|
||||
### 6. Handle Menu Selection
|
||||
|
||||
#### IF A (Advanced Elicitation):
|
||||
|
||||
- Execute {advancedElicitationTask} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF P (Party Mode):
|
||||
|
||||
- Execute {partyModeWorkflow} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF C (Continue):
|
||||
|
||||
- Append the final content to `{outputFile}`
|
||||
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]`
|
||||
- Load `{nextStepFile}`
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN [C continue option] is selected and [art/audio content saved with frontmatter updated], will you then load and read fully `{nextStepFile}`.
|
||||
|
||||
---
|
||||
|
||||
## SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### SUCCESS:
|
||||
|
||||
- Art style clearly defined with references
|
||||
- Audio direction documented
|
||||
- Aesthetic supports game pillars and tone
|
||||
- Platform constraints considered
|
||||
- A/P/C menu presented and handled correctly
|
||||
- Frontmatter updated with stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
|
||||
|
||||
### SYSTEM FAILURE:
|
||||
|
||||
- Generating art/audio direction without user input
|
||||
- Art style inappropriate for target platform
|
||||
- Missing references that help communicate vision
|
||||
- Not presenting A/P/C menu after content generation
|
||||
- Proceeding without user selecting 'C'
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
@@ -0,0 +1,276 @@
|
||||
---
|
||||
name: 'step-11-technical'
|
||||
description: 'Define technical specifications and requirements'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/2-design/gdd'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-11-technical.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-12-epics.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/gdd.md'
|
||||
|
||||
# Task References
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
---
|
||||
|
||||
# Step 11: Technical Specifications
|
||||
|
||||
**Progress: Step 11 of 14** - Next: Epic Structure
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Define technical requirements including performance targets, platform-specific details, and asset requirements. This provides a bridge to the architecture workflow.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- NEVER generate content without user input
|
||||
- CRITICAL: Read the complete step file before taking any action
|
||||
- CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- YOU ARE A FACILITATOR, not a content generator
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- You are a veteran game designer facilitator collaborating with a creative peer
|
||||
- Technical specs inform the architecture workflow
|
||||
- Not all technical decisions are made here - architecture comes later
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- Focus on requirements, not implementation details
|
||||
- FORBIDDEN to generate tech specs without user input
|
||||
- Keep scope appropriate - detailed architecture comes in a separate workflow
|
||||
- Reference target platform(s) from step 3
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- Show your analysis before taking any action
|
||||
- Present A/P/C menu after generating content
|
||||
- ONLY save when user chooses C (Continue)
|
||||
- Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]` before loading next step
|
||||
- FORBIDDEN to load next step until C is selected
|
||||
|
||||
## COLLABORATION MENUS (A/P/C):
|
||||
|
||||
- **A (Advanced Elicitation)**: Deep dive into technical requirements
|
||||
- **P (Party Mode)**: Get technical perspectives
|
||||
- **C (Continue)**: Save the content to the document and proceed to next step
|
||||
|
||||
## CONTEXT BOUNDARIES:
|
||||
|
||||
- All previous context available (especially platform from step 3)
|
||||
- This is GDD-level specs, not architecture-level details
|
||||
- Engine/framework selection happens in architecture workflow
|
||||
|
||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
||||
|
||||
### 1. Performance Requirements Discovery
|
||||
|
||||
**Guide user through performance targets:**
|
||||
|
||||
"Let's define the technical requirements for {{game_name}}.
|
||||
|
||||
**Performance Targets:**
|
||||
|
||||
| Platform | Typical Targets |
|
||||
| ----------- | ------------------------------------------- |
|
||||
| **PC** | 60fps @ 1080p minimum, 4K optional |
|
||||
| **Console** | 30fps or 60fps depending on visual fidelity |
|
||||
| **Mobile** | 30fps, thermal management, battery life |
|
||||
| **Web** | 30-60fps, file size under 50MB |
|
||||
| **VR** | 72-90fps minimum, latency critical |
|
||||
|
||||
**For {{game_type}} on {{platform}}:**
|
||||
|
||||
**Questions to consider:**
|
||||
|
||||
1. What frame rate are you targeting?
|
||||
2. What resolutions should be supported?
|
||||
3. What's the acceptable load time?
|
||||
4. Any specific performance priorities? (visuals vs frame rate)
|
||||
|
||||
What are your performance targets for {{game_name}}?"
|
||||
|
||||
### 2. Platform-Specific Requirements
|
||||
|
||||
**Guide user through platform details:**
|
||||
|
||||
"Now let's capture platform-specific considerations for {{platform}}.
|
||||
|
||||
**Platform-Specific Questions:**
|
||||
|
||||
**PC:**
|
||||
|
||||
- Minimum and recommended specs?
|
||||
- Steam/Epic/itch.io features to support?
|
||||
- Mod support planned?
|
||||
- Cloud saves?
|
||||
|
||||
**Console:**
|
||||
|
||||
- Certification requirements awareness?
|
||||
- Controller-only or hybrid input?
|
||||
- Achievement/trophy integration?
|
||||
|
||||
**Mobile:**
|
||||
|
||||
- iOS minimum version? Android API level?
|
||||
- Portrait, landscape, or both?
|
||||
- Offline play required?
|
||||
- In-app purchases planned?
|
||||
|
||||
**Web:**
|
||||
|
||||
- Target browsers?
|
||||
- WebGL version?
|
||||
- Maximum build size?
|
||||
|
||||
What platform-specific requirements matter for {{game_name}}?"
|
||||
|
||||
### 3. Asset Requirements Discovery
|
||||
|
||||
**Guide user through asset considerations:**
|
||||
|
||||
"Finally, let's document asset requirements and constraints.
|
||||
|
||||
**Asset Categories:**
|
||||
|
||||
| Category | Considerations |
|
||||
| -------------------- | ------------------------------------- |
|
||||
| **Sprites/Textures** | Resolution, count estimates, atlasing |
|
||||
| **3D Models** | Poly budgets, LOD levels, rigging |
|
||||
| **Animations** | Frame counts, skeletal vs sprite |
|
||||
| **Audio** | Music tracks, SFX count, voice lines |
|
||||
| **UI** | Resolution scaling, localization |
|
||||
|
||||
**Questions to consider:**
|
||||
|
||||
1. What are the major asset categories you'll need?
|
||||
2. Any rough estimates on asset counts?
|
||||
3. What quality level are you targeting?
|
||||
4. Any external assets planned (asset store, licensed content)?
|
||||
|
||||
What are the key asset requirements for {{game_name}}?"
|
||||
|
||||
### 4. Generate Technical Content
|
||||
|
||||
Based on the conversation, prepare the content:
|
||||
|
||||
```markdown
|
||||
## Technical Specifications
|
||||
|
||||
### Performance Requirements
|
||||
|
||||
{{performance_targets_description}}
|
||||
|
||||
#### Frame Rate Target
|
||||
|
||||
{{target_fps}}
|
||||
|
||||
#### Resolution Support
|
||||
|
||||
{{resolution_targets}}
|
||||
|
||||
#### Load Times
|
||||
|
||||
{{load_time_requirements}}
|
||||
|
||||
### Platform-Specific Details
|
||||
|
||||
{{platform_specific_requirements}}
|
||||
|
||||
#### {{platform}} Requirements
|
||||
|
||||
{{platform_details}}
|
||||
|
||||
### Asset Requirements
|
||||
|
||||
{{asset_requirements_overview}}
|
||||
|
||||
#### Art Assets
|
||||
|
||||
{{art_asset_requirements}}
|
||||
|
||||
#### Audio Assets
|
||||
|
||||
{{audio_asset_requirements}}
|
||||
|
||||
#### External Assets
|
||||
|
||||
{{third_party_asset_plans}}
|
||||
|
||||
### Technical Constraints
|
||||
|
||||
{{any_known_limitations_or_requirements}}
|
||||
```
|
||||
|
||||
### 5. Present Content and Menu
|
||||
|
||||
Show the generated content to the user and present:
|
||||
|
||||
"I've drafted the Technical Specifications based on our conversation.
|
||||
|
||||
**Here's what I'll add to the document:**
|
||||
|
||||
[Show the complete markdown content from step 4]
|
||||
|
||||
**Note:** This is GDD-level technical planning. Detailed architecture decisions (engine selection, specific technologies, system design) will be addressed in the Architecture workflow after the GDD is complete.
|
||||
|
||||
**Select an Option:**
|
||||
[A] Advanced Elicitation - Deep dive into technical requirements
|
||||
[P] Party Mode - Get technical perspectives
|
||||
[C] Continue - Save this and move to Epic Structure (Step 12 of 14)"
|
||||
|
||||
### 6. Handle Menu Selection
|
||||
|
||||
#### IF A (Advanced Elicitation):
|
||||
|
||||
- Execute {advancedElicitationTask} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF P (Party Mode):
|
||||
|
||||
- Execute {partyModeWorkflow} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF C (Continue):
|
||||
|
||||
- Append the final content to `{outputFile}`
|
||||
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]`
|
||||
- Load `{nextStepFile}`
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN [C continue option] is selected and [technical content saved with frontmatter updated], will you then load and read fully `{nextStepFile}`.
|
||||
|
||||
---
|
||||
|
||||
## SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### SUCCESS:
|
||||
|
||||
- Performance targets clearly defined
|
||||
- Platform-specific requirements documented
|
||||
- Asset requirements outlined
|
||||
- Scope appropriate for GDD (not architecture-level detail)
|
||||
- A/P/C menu presented and handled correctly
|
||||
- Frontmatter updated with stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
|
||||
|
||||
### SYSTEM FAILURE:
|
||||
|
||||
- Generating tech specs without user input
|
||||
- Going too deep into architecture details
|
||||
- Missing key platform requirements
|
||||
- Not presenting A/P/C menu after content generation
|
||||
- Proceeding without user selecting 'C'
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
@@ -0,0 +1,285 @@
|
||||
---
|
||||
name: 'step-12-epics'
|
||||
description: 'Define development epics and high-level story breakdown'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/2-design/gdd'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-12-epics.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-13-metrics.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/gdd.md'
|
||||
epicsOutputFile: '{output_folder}/epics.md'
|
||||
|
||||
# Task References
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
---
|
||||
|
||||
# Step 12: Epic Structure
|
||||
|
||||
**Progress: Step 12 of 14** - Next: Success Metrics
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Translate the game features defined throughout the GDD into development epics, each with a clear scope and list of high-level stories. This provides the foundation for sprint planning.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- NEVER generate content without user input
|
||||
- CRITICAL: Read the complete step file before taking any action
|
||||
- CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- YOU ARE A FACILITATOR, not a content generator
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- You are a veteran game designer facilitator collaborating with a creative peer
|
||||
- Epics bridge design (GDD) to implementation (sprints)
|
||||
- Epic scope should be completable in 1-4 sprints
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- Focus on feature groupings, not detailed task breakdowns
|
||||
- FORBIDDEN to generate epics without user input
|
||||
- Each epic should deliver playable value
|
||||
- Stories are high-level here - detailed stories come in sprint planning
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- Show your analysis before taking any action
|
||||
- Present A/P/C menu after generating content
|
||||
- ONLY save when user chooses C (Continue)
|
||||
- Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]` before loading next step
|
||||
- FORBIDDEN to load next step until C is selected
|
||||
|
||||
## COLLABORATION MENUS (A/P/C):
|
||||
|
||||
- **A (Advanced Elicitation)**: Refine epic scopes and boundaries
|
||||
- **P (Party Mode)**: Get perspectives on epic organization
|
||||
- **C (Continue)**: Save the content to the document and proceed to next step
|
||||
|
||||
## CONTEXT BOUNDARIES:
|
||||
|
||||
- All GDD content from previous steps available
|
||||
- Epics should map to game pillars and features
|
||||
- This creates both GDD epic summary and detailed epics.md file
|
||||
|
||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
||||
|
||||
### 1. Review Game Features for Epic Candidates
|
||||
|
||||
**Analyze the GDD content:**
|
||||
|
||||
"Let's organize {{game_name}}'s features into development epics.
|
||||
|
||||
Based on everything we've defined, here are the major feature areas I've identified:
|
||||
|
||||
**From Core Gameplay:** {{core_loop_features}}
|
||||
**From Mechanics:** {{mechanics_features}}
|
||||
**From Game Type Specifics:** {{game_type_features}}
|
||||
**From Progression:** {{progression_features}}
|
||||
**From Level Design:** {{level_features}}
|
||||
**From Art/Audio:** {{art_audio_features}}
|
||||
**From Technical:** {{technical_features}}
|
||||
|
||||
**Epic Organization Principles:**
|
||||
|
||||
1. **Playable Milestones:** Each epic should result in something playable
|
||||
2. **Dependency Awareness:** Some epics must come before others
|
||||
3. **Vertical Slices:** Early epics often prove core gameplay
|
||||
4. **Scope Control:** 1-4 sprints per epic is ideal
|
||||
|
||||
How would you like to group these features into epics?"
|
||||
|
||||
### 2. Define Epic Structure
|
||||
|
||||
**For each epic, elicit:**
|
||||
|
||||
"Let's define **Epic {{number}}: {{epic_name}}**
|
||||
|
||||
**Epic Definition Questions:**
|
||||
|
||||
1. **Goal:** What does completing this epic achieve?
|
||||
2. **Includes:** What features/systems are in this epic?
|
||||
3. **Excludes:** What specifically is NOT in this epic?
|
||||
4. **Dependencies:** What epics must come before this?
|
||||
5. **Deliverable:** What's the playable result?
|
||||
|
||||
Describe this epic."
|
||||
|
||||
### 3. Generate High-Level Stories
|
||||
|
||||
**For each epic, generate story candidates:**
|
||||
|
||||
"For **Epic {{number}}: {{epic_name}}**, let's identify high-level stories.
|
||||
|
||||
**Story Principles:**
|
||||
|
||||
- Each story is independently valuable
|
||||
- Stories should be completable in 1-3 days
|
||||
- Use format: 'As a [player], I can [action] so that [benefit]'
|
||||
|
||||
What are the main stories in this epic?"
|
||||
|
||||
### 4. Determine Epic Order and Dependencies
|
||||
|
||||
**Guide user through sequencing:**
|
||||
|
||||
"Now let's determine the order for these epics.
|
||||
|
||||
**Common Epic Sequences:**
|
||||
|
||||
1. **Foundation First:** Core systems before content
|
||||
2. **Vertical Slice Early:** Prove gameplay ASAP
|
||||
3. **Polish Last:** Visual/audio polish after mechanics solid
|
||||
|
||||
**Your epics:**
|
||||
{{list_of_epics}}
|
||||
|
||||
What order makes sense for {{game_name}}?"
|
||||
|
||||
### 5. Generate Epic Content
|
||||
|
||||
Based on the conversation, prepare two outputs:
|
||||
|
||||
**A. GDD Epic Summary (goes in gdd.md):**
|
||||
|
||||
```markdown
|
||||
## Development Epics
|
||||
|
||||
### Epic Overview
|
||||
|
||||
| # | Epic Name | Scope | Dependencies | Est. Stories |
|
||||
| --- | --------- | ----- | ------------ | ------------ |
|
||||
|
||||
{{epic_table}}
|
||||
|
||||
### Recommended Sequence
|
||||
|
||||
{{epic_sequence_with_rationale}}
|
||||
|
||||
### Vertical Slice
|
||||
|
||||
**The first playable milestone:** {{vertical_slice_description}}
|
||||
```
|
||||
|
||||
**B. Detailed Epics File (goes in epics.md):**
|
||||
|
||||
```markdown
|
||||
# {{game_name}} - Development Epics
|
||||
|
||||
## Epic Overview
|
||||
|
||||
{{epic_overview_table}}
|
||||
|
||||
---
|
||||
|
||||
## Epic 1: {{epic_1_name}}
|
||||
|
||||
### Goal
|
||||
|
||||
{{epic_1_goal}}
|
||||
|
||||
### Scope
|
||||
|
||||
**Includes:**
|
||||
{{epic_1_includes}}
|
||||
|
||||
**Excludes:**
|
||||
{{epic_1_excludes}}
|
||||
|
||||
### Dependencies
|
||||
|
||||
{{epic_1_dependencies}}
|
||||
|
||||
### Deliverable
|
||||
|
||||
{{epic_1_deliverable}}
|
||||
|
||||
### Stories
|
||||
|
||||
{{epic_1_stories_list}}
|
||||
|
||||
---
|
||||
|
||||
{{repeat_for_each_epic}}
|
||||
```
|
||||
|
||||
### 6. Present Content and Menu
|
||||
|
||||
Show the generated content to the user and present:
|
||||
|
||||
"I've drafted the Epic Structure based on our conversation.
|
||||
|
||||
**For the GDD (gdd.md):**
|
||||
[Show GDD epic summary]
|
||||
|
||||
**For the Epics file (epics.md):**
|
||||
[Show detailed epics structure]
|
||||
|
||||
**Validation Check:**
|
||||
|
||||
- Does each epic deliver playable value?
|
||||
- Is the sequence achievable?
|
||||
- Are dependencies clear?
|
||||
|
||||
**Select an Option:**
|
||||
[A] Advanced Elicitation - Refine epic organization
|
||||
[P] Party Mode - Get perspectives on epic structure
|
||||
[C] Continue - Save this and move to Success Metrics (Step 13 of 14)"
|
||||
|
||||
### 7. Handle Menu Selection
|
||||
|
||||
#### IF A (Advanced Elicitation):
|
||||
|
||||
- Execute {advancedElicitationTask} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF P (Party Mode):
|
||||
|
||||
- Execute {partyModeWorkflow} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF C (Continue):
|
||||
|
||||
- Append epic summary to `{outputFile}`
|
||||
- Write detailed epics to `{epicsOutputFile}`
|
||||
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]`
|
||||
- Load `{nextStepFile}`
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN [C continue option] is selected and [both epic content files saved with frontmatter updated], will you then load and read fully `{nextStepFile}`.
|
||||
|
||||
---
|
||||
|
||||
## SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### SUCCESS:
|
||||
|
||||
- Epics cover all major game features
|
||||
- Each epic has clear scope and deliverable
|
||||
- Dependencies identified and sequenced
|
||||
- Both gdd.md and epics.md updated
|
||||
- High-level stories drafted for each epic
|
||||
- A/P/C menu presented and handled correctly
|
||||
- Frontmatter updated with stepsCompleted
|
||||
|
||||
### SYSTEM FAILURE:
|
||||
|
||||
- Generating epics without user input
|
||||
- Epics that don't deliver playable value
|
||||
- Missing key features from GDD
|
||||
- Not creating separate epics.md file
|
||||
- Not presenting A/P/C menu after content generation
|
||||
- Proceeding without user selecting 'C'
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
@@ -0,0 +1,251 @@
|
||||
---
|
||||
name: 'step-13-metrics'
|
||||
description: 'Define success metrics for technical and gameplay evaluation'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/2-design/gdd'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-13-metrics.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-14-complete.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/gdd.md'
|
||||
|
||||
# Task References
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
---
|
||||
|
||||
# Step 13: Success Metrics
|
||||
|
||||
**Progress: Step 13 of 14** - Next: Final Steps
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Define measurable success metrics for both technical performance and gameplay quality. These metrics help evaluate whether the game meets its design goals.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- NEVER generate content without user input
|
||||
- CRITICAL: Read the complete step file before taking any action
|
||||
- CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- YOU ARE A FACILITATOR, not a content generator
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- You are a veteran game designer facilitator collaborating with a creative peer
|
||||
- Metrics should be measurable and actionable
|
||||
- Focus on metrics that indicate design success, not just technical success
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- Focus on defining what success looks like
|
||||
- FORBIDDEN to generate metrics without user input
|
||||
- Metrics should relate back to game pillars and goals
|
||||
- Include both quantitative and qualitative measures
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- Show your analysis before taking any action
|
||||
- Present A/P/C menu after generating content
|
||||
- ONLY save when user chooses C (Continue)
|
||||
- Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]` before loading next step
|
||||
- FORBIDDEN to load next step until C is selected
|
||||
|
||||
## COLLABORATION MENUS (A/P/C):
|
||||
|
||||
- **A (Advanced Elicitation)**: Deep dive into metric selection
|
||||
- **P (Party Mode)**: Get perspectives on success criteria
|
||||
- **C (Continue)**: Save the content to the document and proceed to next step
|
||||
|
||||
## CONTEXT BOUNDARIES:
|
||||
|
||||
- All GDD content from previous steps available
|
||||
- Metrics should map to stated goals and pillars
|
||||
- Technical metrics from performance requirements
|
||||
|
||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
||||
|
||||
### 1. Technical Metrics Discovery
|
||||
|
||||
**Guide user through technical success criteria:**
|
||||
|
||||
"Let's define how we'll measure technical success for {{game_name}}.
|
||||
|
||||
**Technical Metric Categories:**
|
||||
|
||||
| Category | Example Metrics |
|
||||
| --------------- | ------------------------------------------------ |
|
||||
| **Performance** | Frame rate consistency, load times, memory usage |
|
||||
| **Stability** | Crash rate, bug severity distribution |
|
||||
| **Platform** | Certification pass rate, store review score |
|
||||
| **Build** | Build time, test coverage, asset size |
|
||||
|
||||
**Your performance targets from earlier:**
|
||||
|
||||
- Frame rate: {{target_fps}}
|
||||
- Platform: {{platform}}
|
||||
|
||||
**Questions to consider:**
|
||||
|
||||
1. What technical metrics matter most for {{game_type}}?
|
||||
2. How will you measure performance in the field?
|
||||
3. What's an acceptable crash rate?
|
||||
4. Are there platform-specific metrics to track?
|
||||
|
||||
What technical metrics will indicate success for {{game_name}}?"
|
||||
|
||||
### 2. Gameplay Metrics Discovery
|
||||
|
||||
**Guide user through gameplay success criteria:**
|
||||
|
||||
"Now let's define gameplay metrics - how we know the design is working.
|
||||
|
||||
**Gameplay Metric Categories:**
|
||||
|
||||
| Category | Example Metrics |
|
||||
| ----------------------- | ------------------------------------------------- |
|
||||
| **Engagement** | Session length, sessions per week, retention |
|
||||
| **Progression** | Completion rates, time-to-milestone, churn points |
|
||||
| **Difficulty** | Death/retry rates, difficulty setting usage |
|
||||
| **Feature Usage** | Which mechanics are used, feature discovery |
|
||||
| **Player Satisfaction** | Ratings, reviews, NPS |
|
||||
|
||||
**Your game pillars are:** {{pillars}}
|
||||
**Your goals are:** {{goals}}
|
||||
|
||||
**Questions to consider:**
|
||||
|
||||
1. How will you know if players are having the intended experience?
|
||||
2. What retention rates would indicate success?
|
||||
3. How will you identify frustration points?
|
||||
4. What playtesting metrics will you track?
|
||||
|
||||
What gameplay metrics will indicate success for {{game_name}}?"
|
||||
|
||||
### 3. Qualitative Success Criteria
|
||||
|
||||
**Guide user through qualitative measures:**
|
||||
|
||||
"Finally, let's define qualitative success criteria - things that are harder to measure but equally important.
|
||||
|
||||
**Qualitative Criteria Examples:**
|
||||
|
||||
- 'Players describe the game using our pillar words'
|
||||
- 'Streamers enjoy playing without instruction'
|
||||
- 'Community creates fan content'
|
||||
- 'Players recommend to friends'
|
||||
- 'Reviews mention the unique selling points'
|
||||
|
||||
What qualitative signs would tell you {{game_name}} is successful?"
|
||||
|
||||
### 4. Generate Metrics Content
|
||||
|
||||
Based on the conversation, prepare the content:
|
||||
|
||||
```markdown
|
||||
## Success Metrics
|
||||
|
||||
### Technical Metrics
|
||||
|
||||
{{technical_metrics_list}}
|
||||
|
||||
#### Key Technical KPIs
|
||||
|
||||
| Metric | Target | Measurement Method |
|
||||
| ------ | ------ | ------------------ |
|
||||
|
||||
{{technical_kpi_table}}
|
||||
|
||||
### Gameplay Metrics
|
||||
|
||||
{{gameplay_metrics_list}}
|
||||
|
||||
#### Key Gameplay KPIs
|
||||
|
||||
| Metric | Target | Measurement Method |
|
||||
| ------ | ------ | ------------------ |
|
||||
|
||||
{{gameplay_kpi_table}}
|
||||
|
||||
### Qualitative Success Criteria
|
||||
|
||||
{{qualitative_criteria_list}}
|
||||
|
||||
### Metric Review Cadence
|
||||
|
||||
{{when_and_how_metrics_will_be_reviewed}}
|
||||
```
|
||||
|
||||
### 5. Present Content and Menu
|
||||
|
||||
Show the generated content to the user and present:
|
||||
|
||||
"I've drafted the Success Metrics based on our conversation.
|
||||
|
||||
**Here's what I'll add to the document:**
|
||||
|
||||
[Show the complete markdown content from step 4]
|
||||
|
||||
**Validation Check:**
|
||||
|
||||
- Do metrics align with your game pillars?
|
||||
- Are targets achievable and measurable?
|
||||
- Can you actually collect this data?
|
||||
|
||||
**Select an Option:**
|
||||
[A] Advanced Elicitation - Refine metric selection
|
||||
[P] Party Mode - Get perspectives on success criteria
|
||||
[C] Continue - Save this and move to Final Steps (Step 14 of 14)"
|
||||
|
||||
### 6. Handle Menu Selection
|
||||
|
||||
#### IF A (Advanced Elicitation):
|
||||
|
||||
- Execute {advancedElicitationTask} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF P (Party Mode):
|
||||
|
||||
- Execute {partyModeWorkflow} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF C (Continue):
|
||||
|
||||
- Append the final content to `{outputFile}`
|
||||
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]`
|
||||
- Load `{nextStepFile}`
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN [C continue option] is selected and [metrics content saved with frontmatter updated], will you then load and read fully `{nextStepFile}`.
|
||||
|
||||
---
|
||||
|
||||
## SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### SUCCESS:
|
||||
|
||||
- Technical metrics defined with targets
|
||||
- Gameplay metrics tied to pillars and goals
|
||||
- Qualitative criteria documented
|
||||
- Metrics are actually measurable
|
||||
- A/P/C menu presented and handled correctly
|
||||
- Frontmatter updated with stepsCompleted
|
||||
|
||||
### SYSTEM FAILURE:
|
||||
|
||||
- Generating metrics without user input
|
||||
- Metrics that can't be measured
|
||||
- Missing connection to game pillars/goals
|
||||
- Not presenting A/P/C menu after content generation
|
||||
- Proceeding without user selecting 'C'
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
@@ -0,0 +1,336 @@
|
||||
---
|
||||
name: 'step-14-complete'
|
||||
description: 'Document out of scope items, capture assumptions, and provide handoff guidance'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/2-design/gdd'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-14-complete.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/gdd.md'
|
||||
epicsFile: '{output_folder}/epics.md'
|
||||
|
||||
# Workflow References
|
||||
narrativeWorkflow: '{project-root}/_bmad/bmgd/workflows/2-design/narrative/workflow.yaml'
|
||||
architectureWorkflow: '{project-root}/_bmad/bmgd/workflows/3-technical/game-architecture/workflow.yaml'
|
||||
---
|
||||
|
||||
# Step 14: Complete & Handoff
|
||||
|
||||
**Progress: Step 14 of 14** - GDD Complete!
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Document what is explicitly out of scope, capture key assumptions and dependencies, and provide clear next steps for the game development process.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- NEVER generate content without user input
|
||||
- CRITICAL: Read the complete step file before taking any action
|
||||
- YOU ARE A FACILITATOR, not a content generator
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- You are a veteran game designer facilitator collaborating with a creative peer
|
||||
- This is the final step - ensure completeness
|
||||
- Provide clear actionable next steps
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- Focus on scope boundaries and assumptions
|
||||
- Check if narrative workflow is recommended
|
||||
- Provide concrete next steps based on workflow status
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- Show your analysis before taking any action
|
||||
- Generate final sections without A/P/C menu (just confirmation)
|
||||
- Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]`
|
||||
- Present completion summary and next steps
|
||||
|
||||
## CONTEXT BOUNDARIES:
|
||||
|
||||
- All GDD content from previous steps available
|
||||
- Check for `needs_narrative` flag from step 7
|
||||
- Reference workflow-status if integrated with BMM
|
||||
|
||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
||||
|
||||
### 1. Out of Scope Discovery
|
||||
|
||||
**Guide user through scope boundaries:**
|
||||
|
||||
"Let's document what is explicitly NOT in scope for {{game_name}} v1.0.
|
||||
|
||||
**Out of Scope Categories:**
|
||||
|
||||
| Category | Examples |
|
||||
| ---------------- | -------------------------------------- |
|
||||
| **Features** | Multiplayer, level editor, mod support |
|
||||
| **Content** | Additional game modes, DLC areas |
|
||||
| **Platforms** | Console ports, VR version |
|
||||
| **Polish** | Full voice acting, orchestral score |
|
||||
| **Localization** | Additional languages |
|
||||
|
||||
**Questions to consider:**
|
||||
|
||||
1. What features have you intentionally cut for v1.0?
|
||||
2. What platforms are NOT in initial scope?
|
||||
3. What post-launch content are you deferring?
|
||||
4. What's 'nice to have' vs 'required for launch'?
|
||||
|
||||
What's explicitly out of scope for {{game_name}} v1.0?"
|
||||
|
||||
### 2. Assumptions and Dependencies Discovery
|
||||
|
||||
**Guide user through assumptions:**
|
||||
|
||||
"Now let's document key assumptions and dependencies.
|
||||
|
||||
**Assumption Categories:**
|
||||
|
||||
| Category | Examples |
|
||||
| ------------- | ----------------------------------------------------------------- |
|
||||
| **Technical** | 'Unity LTS will remain stable', 'Players have controllers' |
|
||||
| **Team** | 'Art contractor available Q2', 'Solo developer capacity' |
|
||||
| **External** | 'Steam review approval in 2 weeks', 'Asset store assets licensed' |
|
||||
| **Market** | 'Genre remains popular', 'Pricing assumptions' |
|
||||
|
||||
**Dependency Categories:**
|
||||
|
||||
| Category | Examples |
|
||||
| --------------- | ----------------------------------------- |
|
||||
| **Third-party** | Middleware, plugins, asset licenses |
|
||||
| **Services** | Backend providers, analytics, multiplayer |
|
||||
| **Content** | External art, music, voice acting |
|
||||
| **Platform** | SDK versions, certification requirements |
|
||||
|
||||
What assumptions is {{game_name}} built on? What external dependencies exist?"
|
||||
|
||||
### 3. Check Narrative Workflow Recommendation
|
||||
|
||||
**Check if game type suggested narrative:**
|
||||
|
||||
If `needs_narrative` flag is true (from step 7):
|
||||
|
||||
"**Narrative Recommendation:**
|
||||
|
||||
Based on your game type ({{game_type}}), a dedicated Narrative Design Document would benefit {{game_name}}. This covers:
|
||||
|
||||
- Story structure and arcs
|
||||
- Character development
|
||||
- World lore and history
|
||||
- Dialogue framework
|
||||
- Environmental storytelling
|
||||
|
||||
Would you like to create a Narrative Design Document as your next step?"
|
||||
|
||||
Store user response for next steps.
|
||||
|
||||
### 4. Generate Completion Content
|
||||
|
||||
Based on the conversation, prepare the content:
|
||||
|
||||
```markdown
|
||||
## Out of Scope
|
||||
|
||||
{{out_of_scope_items}}
|
||||
|
||||
### Deferred to Post-Launch
|
||||
|
||||
{{post_launch_items}}
|
||||
|
||||
---
|
||||
|
||||
## Assumptions and Dependencies
|
||||
|
||||
### Key Assumptions
|
||||
|
||||
{{assumptions_list}}
|
||||
|
||||
### External Dependencies
|
||||
|
||||
{{dependencies_list}}
|
||||
|
||||
### Risk Factors
|
||||
|
||||
{{risks_based_on_assumptions}}
|
||||
|
||||
---
|
||||
|
||||
## Document Information
|
||||
|
||||
**Document:** {{game_name}} - Game Design Document
|
||||
**Version:** 1.0
|
||||
**Created:** {{date}}
|
||||
**Author:** {{user_name}}
|
||||
**Status:** Complete
|
||||
|
||||
### Change Log
|
||||
|
||||
| Version | Date | Changes |
|
||||
| ------- | -------- | -------------------- |
|
||||
| 1.0 | {{date}} | Initial GDD complete |
|
||||
```
|
||||
|
||||
### 5. Present Completion Summary
|
||||
|
||||
"**GDD Complete!**
|
||||
|
||||
{{user_name}}, the Game Design Document for **{{game_name}}** is now complete!
|
||||
|
||||
**Document Summary:**
|
||||
|
||||
- **Game Type:** {{game_type}}
|
||||
- **Platform:** {{platform}}
|
||||
- **Epics:** {{epic_count}} development epics
|
||||
- **Estimated Stories:** {{story_estimate}}
|
||||
|
||||
**Files Created:**
|
||||
|
||||
- `gdd.md` - Full Game Design Document
|
||||
- `epics.md` - Detailed epic and story breakdown
|
||||
|
||||
**GDD Sections Completed:**
|
||||
|
||||
1. Executive Summary & Game Type
|
||||
2. Platforms & Target Audience
|
||||
3. Goals & Unique Selling Points
|
||||
4. Core Gameplay (Pillars, Loop, Win/Loss)
|
||||
5. Game Mechanics & Controls
|
||||
6. {{game_type}} Specific Design
|
||||
7. Progression & Balance
|
||||
8. Level Design Framework
|
||||
9. Art & Audio Direction
|
||||
10. Technical Specifications
|
||||
11. Development Epics
|
||||
12. Success Metrics
|
||||
13. Out of Scope & Assumptions
|
||||
|
||||
Do you want me to add or modify anything before we finalize?"
|
||||
|
||||
### 6. Present Next Steps
|
||||
|
||||
**After user confirms completion:**
|
||||
|
||||
"**Next Steps for {{game_name}}:**
|
||||
|
||||
{{if needs_narrative and user_wants_narrative}}
|
||||
**Immediate Next Step:**
|
||||
|
||||
1. **Narrative Design Document** - Create story, characters, and world lore
|
||||
- Command: `narrative` (Game Designer agent)
|
||||
- Input: This GDD
|
||||
- Output: narrative-design.md
|
||||
{{/if}}
|
||||
|
||||
**Required Next Steps:**
|
||||
|
||||
1. **Game Architecture** - Define engine, tech stack, and system design
|
||||
- Command: `create-architecture` (Game Architect agent)
|
||||
- Input: This GDD
|
||||
- Output: architecture.md
|
||||
|
||||
2. **Sprint Planning** - Set up your first development sprint
|
||||
- Command: `sprint-planning` (Scrum Master agent)
|
||||
- Input: GDD + epics.md
|
||||
- Output: sprint-status.yaml
|
||||
|
||||
**Recommended Actions:**
|
||||
|
||||
- [ ] Review GDD with any team members or stakeholders
|
||||
- [ ] Create a prototype for core gameplay validation
|
||||
- [ ] Set up project repository and dev environment
|
||||
- [ ] Gather reference materials for art direction
|
||||
|
||||
**Which would you like to do next?**
|
||||
|
||||
1. {{if needs_narrative}}Create Narrative Design Document{{else}}Create Game Architecture{{/if}}
|
||||
2. Start Sprint Planning
|
||||
3. Review the completed GDD
|
||||
4. Exit workflow"
|
||||
|
||||
### 7. Handle User Selection
|
||||
|
||||
Based on user choice:
|
||||
|
||||
**If 1 (Narrative or Architecture):**
|
||||
|
||||
- Update frontmatter with final `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]`
|
||||
- Provide handoff guidance for next workflow
|
||||
|
||||
**If 2 (Sprint Planning):**
|
||||
|
||||
- Update frontmatter with final stepsCompleted
|
||||
- Provide handoff guidance for sprint planning
|
||||
|
||||
**If 3 (Review):**
|
||||
|
||||
- Present document summary
|
||||
- Offer to highlight any sections
|
||||
- Return to next steps menu
|
||||
|
||||
**If 4 (Exit):**
|
||||
|
||||
- Update frontmatter with final stepsCompleted
|
||||
- Confirm GDD is saved
|
||||
- Exit workflow gracefully
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
This is the final step. Ensure:
|
||||
|
||||
- All content is saved to gdd.md
|
||||
- Frontmatter shows all 14 steps completed
|
||||
- User has clear actionable next steps
|
||||
- Handoff to next workflow is smooth
|
||||
|
||||
---
|
||||
|
||||
## SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### SUCCESS:
|
||||
|
||||
- Out of scope clearly documented
|
||||
- Assumptions and dependencies captured
|
||||
- Narrative workflow recommendation handled
|
||||
- Final document status updated
|
||||
- Clear next steps provided
|
||||
- Smooth handoff to next workflow
|
||||
|
||||
### SYSTEM FAILURE:
|
||||
|
||||
- Missing out of scope documentation
|
||||
- Not checking for narrative flag
|
||||
- No clear next steps provided
|
||||
- Frontmatter not updated to show completion
|
||||
- User left without actionable guidance
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
|
||||
---
|
||||
|
||||
## GDD Workflow Complete
|
||||
|
||||
The GDD workflow transforms a game concept into a comprehensive design document through 14 collaborative steps:
|
||||
|
||||
1. **Initialize** - Set up workflow and discover input documents
|
||||
2. **Context** - Determine game type and load relevant guide
|
||||
3. **Platforms** - Define target platforms and audience
|
||||
4. **Vision** - Establish goals, context, and USPs
|
||||
5. **Core Gameplay** - Define pillars, loop, and win/loss
|
||||
6. **Mechanics** - Detail player actions and controls
|
||||
7. **Game Type** - Process genre-specific sections
|
||||
8. **Progression** - Design player growth and balance
|
||||
9. **Levels** - Structure playable content
|
||||
10. **Art & Audio** - Establish aesthetic direction
|
||||
11. **Technical** - Define performance requirements
|
||||
12. **Epics** - Organize features into development units
|
||||
13. **Metrics** - Define success criteria
|
||||
14. **Complete** - Document scope and hand off
|
||||
|
||||
This step-file architecture ensures consistent, thorough GDD creation with user collaboration at every step.
|
||||
@@ -0,0 +1,153 @@
|
||||
# {{game_name}} - Game Design Document
|
||||
|
||||
**Author:** {{user_name}}
|
||||
**Game Type:** {{game_type}}
|
||||
**Target Platform(s):** {{platforms}}
|
||||
|
||||
---
|
||||
|
||||
## Executive Summary
|
||||
|
||||
### Core Concept
|
||||
|
||||
{{description}}
|
||||
|
||||
### Target Audience
|
||||
|
||||
{{target_audience}}
|
||||
|
||||
### Unique Selling Points (USPs)
|
||||
|
||||
{{unique_selling_points}}
|
||||
|
||||
---
|
||||
|
||||
## Goals and Context
|
||||
|
||||
### Project Goals
|
||||
|
||||
{{goals}}
|
||||
|
||||
### Background and Rationale
|
||||
|
||||
{{context}}
|
||||
|
||||
---
|
||||
|
||||
## Core Gameplay
|
||||
|
||||
### Game Pillars
|
||||
|
||||
{{game_pillars}}
|
||||
|
||||
### Core Gameplay Loop
|
||||
|
||||
{{gameplay_loop}}
|
||||
|
||||
### Win/Loss Conditions
|
||||
|
||||
{{win_loss_conditions}}
|
||||
|
||||
---
|
||||
|
||||
## Game Mechanics
|
||||
|
||||
### Primary Mechanics
|
||||
|
||||
{{primary_mechanics}}
|
||||
|
||||
### Controls and Input
|
||||
|
||||
{{controls}}
|
||||
|
||||
---
|
||||
|
||||
{{GAME_TYPE_SPECIFIC_SECTIONS}}
|
||||
|
||||
---
|
||||
|
||||
## Progression and Balance
|
||||
|
||||
### Player Progression
|
||||
|
||||
{{player_progression}}
|
||||
|
||||
### Difficulty Curve
|
||||
|
||||
{{difficulty_curve}}
|
||||
|
||||
### Economy and Resources
|
||||
|
||||
{{economy_resources}}
|
||||
|
||||
---
|
||||
|
||||
## Level Design Framework
|
||||
|
||||
### Level Types
|
||||
|
||||
{{level_types}}
|
||||
|
||||
### Level Progression
|
||||
|
||||
{{level_progression}}
|
||||
|
||||
---
|
||||
|
||||
## Art and Audio Direction
|
||||
|
||||
### Art Style
|
||||
|
||||
{{art_style}}
|
||||
|
||||
### Audio and Music
|
||||
|
||||
{{audio_music}}
|
||||
|
||||
---
|
||||
|
||||
## Technical Specifications
|
||||
|
||||
### Performance Requirements
|
||||
|
||||
{{performance_requirements}}
|
||||
|
||||
### Platform-Specific Details
|
||||
|
||||
{{platform_details}}
|
||||
|
||||
### Asset Requirements
|
||||
|
||||
{{asset_requirements}}
|
||||
|
||||
---
|
||||
|
||||
## Development Epics
|
||||
|
||||
### Epic Structure
|
||||
|
||||
{{epics}}
|
||||
|
||||
---
|
||||
|
||||
## Success Metrics
|
||||
|
||||
### Technical Metrics
|
||||
|
||||
{{technical_metrics}}
|
||||
|
||||
### Gameplay Metrics
|
||||
|
||||
{{gameplay_metrics}}
|
||||
|
||||
---
|
||||
|
||||
## Out of Scope
|
||||
|
||||
{{out_of_scope}}
|
||||
|
||||
---
|
||||
|
||||
## Assumptions and Dependencies
|
||||
|
||||
{{assumptions_and_dependencies}}
|
||||
@@ -0,0 +1,61 @@
|
||||
---
|
||||
name: create-gdd
|
||||
description: Creates a comprehensive Game Design Document through collaborative step-by-step discovery between game designer and user.
|
||||
main_config: '{project-root}/_bmad/bmgd/config.yaml'
|
||||
web_bundle: true
|
||||
---
|
||||
|
||||
# GDD Workflow
|
||||
|
||||
**Goal:** Create comprehensive Game Design Documents through collaborative step-by-step discovery between game designer and user.
|
||||
|
||||
**Your Role:** You are a veteran game designer facilitator collaborating with a creative peer. This is a partnership, not a client-vendor relationship. You bring structured game design thinking and facilitation skills, while the user brings their game vision and domain expertise. Work together as equals. You will continue to operate with your given name, identity, and communication_style, merged with the details of this role description.
|
||||
|
||||
---
|
||||
|
||||
## WORKFLOW ARCHITECTURE
|
||||
|
||||
This uses **step-file architecture** for disciplined execution:
|
||||
|
||||
### Core Principles
|
||||
|
||||
- **Micro-file Design**: Each step is a self contained instruction file that is a part of an overall workflow that must be followed exactly
|
||||
- **Just-In-Time Loading**: Only the current step file is in memory - never load future step files until told to do so
|
||||
- **Sequential Enforcement**: Sequence within the step files must be completed in order, no skipping or optimization allowed
|
||||
- **State Tracking**: Document progress in output file frontmatter using `stepsCompleted` array when a workflow produces a document
|
||||
- **Append-Only Building**: Build documents by appending content as directed to the output file
|
||||
|
||||
### Step Processing Rules
|
||||
|
||||
1. **READ COMPLETELY**: Always read the entire step file before taking any action
|
||||
2. **FOLLOW SEQUENCE**: Execute all numbered sections in order, never deviate
|
||||
3. **WAIT FOR INPUT**: If a menu is presented, halt and wait for user selection
|
||||
4. **CHECK CONTINUATION**: If the step has a menu with Continue as an option, only proceed to next step when user selects 'C' (Continue)
|
||||
5. **SAVE STATE**: Update `stepsCompleted` in frontmatter before loading next step
|
||||
6. **LOAD NEXT**: When directed, load, read entire file, then execute the next step file
|
||||
|
||||
### Critical Rules (NO EXCEPTIONS)
|
||||
|
||||
- NEVER load multiple step files simultaneously
|
||||
- ALWAYS read entire step file before execution
|
||||
- NEVER skip steps or optimize the sequence
|
||||
- ALWAYS update frontmatter of output files when writing the final output for a specific step
|
||||
- ALWAYS follow the exact instructions in the step file
|
||||
- ALWAYS halt at menus and wait for user input
|
||||
- NEVER create mental todo lists from future steps
|
||||
|
||||
---
|
||||
|
||||
## INITIALIZATION SEQUENCE
|
||||
|
||||
### 1. Configuration Loading
|
||||
|
||||
Load and read full config from {main_config} and resolve:
|
||||
|
||||
- `project_name`, `output_folder`, `user_name`
|
||||
- `communication_language`, `document_output_language`, `user_skill_level`
|
||||
- `date` as system-generated current datetime
|
||||
|
||||
### 2. First Step EXECUTION
|
||||
|
||||
Load, read the full file and then execute `steps/step-01-init.md` to begin the workflow.
|
||||
@@ -0,0 +1,47 @@
|
||||
# Game Design Document (GDD) Workflow
|
||||
name: gdd
|
||||
description: "Game Design Document workflow for all game project levels - from small prototypes to full AAA games. Generates comprehensive GDD with game mechanics, systems, progression, and implementation guidance."
|
||||
author: "BMad"
|
||||
|
||||
# Critical variables from config
|
||||
config_source: "{project-root}/_bmad/bmgd/config.yaml"
|
||||
output_folder: "{config_source}:output_folder"
|
||||
user_name: "{config_source}:user_name"
|
||||
communication_language: "{config_source}:communication_language"
|
||||
document_output_language: "{config_source}:document_output_language"
|
||||
game_dev_experience: "{config_source}:game_dev_experience"
|
||||
date: system-generated
|
||||
|
||||
# Workflow components - Step-file architecture
|
||||
installed_path: "{project-root}/_bmad/bmgd/workflows/2-design/gdd"
|
||||
instructions: "{installed_path}/workflow.md"
|
||||
template: "{installed_path}/templates/gdd-template.md"
|
||||
game_types_csv: "{installed_path}/game-types.csv"
|
||||
|
||||
# Output configuration
|
||||
default_output_file: "{output_folder}/gdd.md"
|
||||
|
||||
# Game type references (loaded based on game type selection)
|
||||
game_type_guides: "{installed_path}/game-types/"
|
||||
|
||||
# Smart input file references - handles both whole docs and sharded docs
|
||||
# Priority: Whole document first, then sharded version
|
||||
input_file_patterns:
|
||||
game_brief:
|
||||
description: "Game vision and core concept (optional)"
|
||||
whole: "{output_folder}/*game-brief*.md"
|
||||
sharded: "{output_folder}/*game-brief*/index.md"
|
||||
load_strategy: "INDEX_GUIDED"
|
||||
|
||||
research:
|
||||
description: "Market or domain research (optional)"
|
||||
whole: "{output_folder}/*research*.md"
|
||||
sharded: "{output_folder}/*research*/index.md"
|
||||
load_strategy: "FULL_LOAD"
|
||||
|
||||
document_project:
|
||||
description: "Brownfield project documentation (optional)"
|
||||
sharded: "{output_folder}/index.md"
|
||||
load_strategy: "INDEX_GUIDED"
|
||||
|
||||
standalone: true
|
||||
@@ -0,0 +1,139 @@
|
||||
# Narrative Design Workflow Validation Checklist
|
||||
|
||||
**Purpose**: Validate narrative design outputs are complete, cohesive, and ready for implementation.
|
||||
|
||||
**Scope**: Story-driven games and applications (follows GDD workflow)
|
||||
|
||||
**Expected Output**: narrative-design.md
|
||||
|
||||
---
|
||||
|
||||
## 1. Output File Exists
|
||||
|
||||
- [ ] narrative-design.md created in output folder
|
||||
- [ ] GDD.md exists (narrative workflow requires GDD first)
|
||||
- [ ] No unfilled {{template_variables}}
|
||||
|
||||
---
|
||||
|
||||
## 2. Story Foundation
|
||||
|
||||
### Core Elements
|
||||
|
||||
- [ ] **Narrative premise** clearly stated (elevator pitch, 2-3 sentences)
|
||||
- [ ] **Core themes** identified (2-4 meaningful themes)
|
||||
- [ ] **Tone and atmosphere** established
|
||||
- [ ] Premise is compelling and fits game type
|
||||
|
||||
### Story Structure
|
||||
|
||||
- [ ] **Story structure chosen** (3-act, hero's journey, branching, etc.)
|
||||
- [ ] **Acts/sections broken down** with clear progression
|
||||
- [ ] **Major story beats** documented (key moments that drive narrative)
|
||||
- [ ] Structure fits narrative complexity level
|
||||
|
||||
---
|
||||
|
||||
## 3. Characters
|
||||
|
||||
### Protagonist(s)
|
||||
|
||||
- [ ] Background and motivation explained
|
||||
- [ ] Character arc defined (how they change)
|
||||
- [ ] Internal and external conflicts identified
|
||||
|
||||
### Antagonist(s)
|
||||
|
||||
- [ ] Motivation clear (why they oppose protagonist)
|
||||
- [ ] Goals and methods explained
|
||||
- [ ] Not one-dimensional
|
||||
|
||||
### Supporting Cast
|
||||
|
||||
- [ ] Major supporting characters documented
|
||||
- [ ] Each has distinct role in story
|
||||
- [ ] Character relationships mapped
|
||||
|
||||
### Character Arcs
|
||||
|
||||
- [ ] Major characters have starting → transformation → ending states
|
||||
- [ ] Arc progression makes sense
|
||||
|
||||
---
|
||||
|
||||
## 4. World and Lore
|
||||
|
||||
- [ ] **World setting** defined (time, place, world type)
|
||||
- [ ] **World rules** explained (magic, technology, society)
|
||||
- [ ] **History and backstory** documented
|
||||
- [ ] Key locations described with narrative significance
|
||||
|
||||
---
|
||||
|
||||
## 5. Dialogue and Delivery
|
||||
|
||||
### Dialogue Framework
|
||||
|
||||
- [ ] Dialogue style established
|
||||
- [ ] Key conversations identified
|
||||
- [ ] Branching dialogue system described (if applicable)
|
||||
|
||||
### Narrative Delivery
|
||||
|
||||
- [ ] Cutscenes/cinematics approach defined
|
||||
- [ ] In-game storytelling methods explained
|
||||
- [ ] Optional vs. required content distinguished
|
||||
- [ ] Multiple endings documented (if applicable)
|
||||
|
||||
---
|
||||
|
||||
## 6. Gameplay Integration
|
||||
|
||||
- [ ] **Narrative-gameplay harmony** addressed (how story and mechanics connect)
|
||||
- [ ] **Story gates** explained (how narrative controls progression)
|
||||
- [ ] **Player agency** level defined (can player affect story?)
|
||||
- [ ] Integration doesn't fight game design
|
||||
|
||||
---
|
||||
|
||||
## 7. Production Scope
|
||||
|
||||
- [ ] **Writing scope** estimated (word count, scene count, dialogue lines)
|
||||
- [ ] Scope realistic for project level
|
||||
- [ ] Localization considerations noted (if applicable)
|
||||
- [ ] Voice acting plans documented (if applicable)
|
||||
|
||||
---
|
||||
|
||||
## 8. Consistency with GDD
|
||||
|
||||
- [ ] Narrative aligns with GDD game design
|
||||
- [ ] Tone matches GDD art/audio direction
|
||||
- [ ] Story supports game mechanics (doesn't contradict)
|
||||
- [ ] No conflicts between narrative and gameplay
|
||||
|
||||
---
|
||||
|
||||
## 9. Critical Failures (Auto-Fail)
|
||||
|
||||
- [ ] ❌ **No GDD** (narrative workflow requires GDD first)
|
||||
- [ ] ❌ **No character arcs** (protagonist has no development)
|
||||
- [ ] ❌ **No story beats** (major moments not identified)
|
||||
- [ ] ❌ **Contradicts GDD** (narrative fights game design)
|
||||
|
||||
---
|
||||
|
||||
## Validation Notes
|
||||
|
||||
**Document any findings:**
|
||||
|
||||
- Narrative strength: [Compelling / Interesting / Adequate / Weak]
|
||||
- Strengths:
|
||||
- Issues to address:
|
||||
- Recommended actions:
|
||||
|
||||
**Ready for solutioning?** [Yes / No - explain]
|
||||
|
||||
---
|
||||
|
||||
_Adapt based on narrative complexity level (Critical/Heavy/Moderate/Light)._
|
||||
@@ -0,0 +1,604 @@
|
||||
# Narrative Design Workflow
|
||||
|
||||
<workflow>
|
||||
|
||||
<critical>The workflow execution engine is governed by: {project_root}/_bmad/core/tasks/workflow.xml</critical>
|
||||
<critical>You MUST have already completed the GDD workflow</critical>
|
||||
<critical>Communicate all responses in {communication_language}</critical>
|
||||
<critical>This workflow creates detailed narrative content for story-driven games</critical>
|
||||
<critical>Uses narrative_template for output</critical>
|
||||
<critical>If users mention gameplay mechanics, note them but keep focus on narrative</critical>
|
||||
<critical>Facilitate good brainstorming techniques throughout with the user, pushing them to come up with much of the narrative you will help weave together. The goal is for the user to feel that they crafted the narrative and story arc unless they push you to do it all or indicate YOLO</critical>
|
||||
<critical>⚠️ CHECKPOINT PROTOCOL: After EVERY <template-output> tag, you MUST follow workflow.xml substep 2c: SAVE content to file immediately → SHOW checkpoint separator (━━━━━━━━━━━━━━━━━━━━━━━) → DISPLAY generated content → PRESENT options [a]Advanced Elicitation/[c]Continue/[p]Party-Mode/[y]YOLO → WAIT for user response. Never batch saves or skip checkpoints.</critical>
|
||||
|
||||
<step n="0" goal="Check for workflow status" tag="workflow-status">
|
||||
<action>Check if {output_folder}/bmgd-workflow-status.yaml exists</action>
|
||||
|
||||
<check if="status file not found">
|
||||
<output>No workflow status file found. Narrative workflow is optional - you can continue without status tracking.</output>
|
||||
<action>Set standalone_mode = true</action>
|
||||
</check>
|
||||
|
||||
<check if="status file found">
|
||||
<action>Load the FULL file: {output_folder}/bmgd-workflow-status.yaml</action>
|
||||
<action>Parse workflow_status section</action>
|
||||
<action>Check status of "narrative" workflow</action>
|
||||
<action>Get project_level from YAML metadata</action>
|
||||
<action>Find first non-completed workflow (next expected workflow)</action>
|
||||
|
||||
<check if="narrative status is file path (already completed)">
|
||||
<output>⚠️ Narrative Design Document already completed: {{narrative status}}</output>
|
||||
<ask>Re-running will overwrite the existing narrative document. Continue? (y/n)</ask>
|
||||
<check if="n">
|
||||
<output>Exiting. Use workflow-status to see your next step.</output>
|
||||
<action>Exit workflow</action>
|
||||
</check>
|
||||
</check>
|
||||
|
||||
<check if="narrative is not the next expected workflow (latter items are completed already in the list)">
|
||||
<output>⚠️ Next expected workflow: {{next_workflow}}. Narrative is out of sequence.</output>
|
||||
<ask>Continue with Narrative Design anyway? (y/n)</ask>
|
||||
<check if="n">
|
||||
<output>Exiting. Run {{next_workflow}} instead.</output>
|
||||
<action>Exit workflow</action>
|
||||
</check>
|
||||
</check>
|
||||
|
||||
<action>Set standalone_mode = false</action>
|
||||
</check>
|
||||
</step>
|
||||
|
||||
<step n="1" goal="Load GDD context and assess narrative complexity">
|
||||
|
||||
<action>Load GDD.md from {output_folder}</action>
|
||||
<action>Extract game_type, game_name, and any narrative mentions</action>
|
||||
|
||||
<ask>What level of narrative complexity does your game have?
|
||||
|
||||
**Narrative Complexity:**
|
||||
|
||||
1. **Critical** - Story IS the game (Visual Novel, Text-Based Adventure)
|
||||
2. **Heavy** - Story drives the experience (Story-driven RPG, Narrative Adventure)
|
||||
3. **Moderate** - Story enhances gameplay (Metroidvania, Tactics RPG, Horror)
|
||||
4. **Light** - Story provides context (most other genres)
|
||||
|
||||
Your game type ({{game_type}}) suggests **{{suggested_complexity}}**. Confirm or adjust:</ask>
|
||||
|
||||
<action>Set narrative_complexity</action>
|
||||
|
||||
<check if="complexity == Light">
|
||||
<ask>Light narrative games usually don't need a full Narrative Design Document. Are you sure you want to continue?
|
||||
|
||||
- GDD story sections may be sufficient
|
||||
- Consider just expanding GDD narrative notes
|
||||
- Proceed with full narrative workflow
|
||||
|
||||
Your choice:</ask>
|
||||
|
||||
<action>Load narrative_template from workflow.yaml</action>
|
||||
|
||||
</check>
|
||||
|
||||
</step>
|
||||
|
||||
<step n="2" goal="Define narrative premise and themes">
|
||||
|
||||
<ask>Describe your narrative premise in 2-3 sentences.
|
||||
|
||||
This is the "elevator pitch" of your story.
|
||||
|
||||
Examples:
|
||||
|
||||
- "A young knight discovers they're the last hope to stop an ancient evil, but must choose between saving the kingdom or their own family."
|
||||
- "After a mysterious pandemic, survivors must navigate a world where telling the truth is deadly but lying corrupts your soul."
|
||||
|
||||
Your premise:</ask>
|
||||
|
||||
<template-output>narrative_premise</template-output>
|
||||
|
||||
<ask>What are the core themes of your narrative? (2-4 themes)
|
||||
|
||||
Themes are the underlying ideas/messages.
|
||||
|
||||
Examples: redemption, sacrifice, identity, corruption, hope vs. despair, nature vs. technology
|
||||
|
||||
Your themes:</ask>
|
||||
|
||||
<template-output>core_themes</template-output>
|
||||
|
||||
<ask>Describe the tone and atmosphere.
|
||||
|
||||
Consider: dark, hopeful, comedic, melancholic, mysterious, epic, intimate, etc.
|
||||
|
||||
Your tone:</ask>
|
||||
|
||||
<template-output>tone_atmosphere</template-output>
|
||||
|
||||
</step>
|
||||
|
||||
<step n="3" goal="Define story structure">
|
||||
|
||||
<ask>What story structure are you using?
|
||||
|
||||
Common structures:
|
||||
|
||||
- **3-Act** (Setup, Confrontation, Resolution)
|
||||
- **Hero's Journey** (Campbell's monomyth)
|
||||
- **Kishōtenketsu** (4-act: Introduction, Development, Twist, Conclusion)
|
||||
- **Episodic** (Self-contained episodes with arc)
|
||||
- **Branching** (Multiple paths and endings)
|
||||
- **Freeform** (Player-driven narrative)
|
||||
|
||||
Your structure:</ask>
|
||||
|
||||
<template-output>story_type</template-output>
|
||||
|
||||
<ask>Break down your story into acts/sections.
|
||||
|
||||
For 3-Act:
|
||||
|
||||
- Act 1: Setup and inciting incident
|
||||
- Act 2: Rising action and midpoint
|
||||
- Act 3: Climax and resolution
|
||||
|
||||
Describe each act/section for your game:</ask>
|
||||
|
||||
<template-output>act_breakdown</template-output>
|
||||
|
||||
</step>
|
||||
|
||||
<step n="4" goal="Define major story beats">
|
||||
|
||||
<ask>List the major story beats (10-20 key moments).
|
||||
|
||||
Story beats are significant events that drive the narrative forward.
|
||||
|
||||
Format:
|
||||
|
||||
1. [Beat name] - Brief description
|
||||
2. [Beat name] - Brief description
|
||||
...
|
||||
|
||||
Your story beats:</ask>
|
||||
|
||||
<template-output>story_beats</template-output>
|
||||
|
||||
<ask>Describe the pacing and flow of your narrative.
|
||||
|
||||
Consider:
|
||||
|
||||
- Slow burn vs. fast-paced
|
||||
- Tension/release rhythm
|
||||
- Story-heavy vs. gameplay-heavy sections
|
||||
- Optional vs. required narrative content
|
||||
|
||||
Your pacing:</ask>
|
||||
|
||||
<template-output>pacing_flow</template-output>
|
||||
|
||||
</step>
|
||||
|
||||
<step n="5" goal="Develop protagonist(s)">
|
||||
|
||||
<ask>Describe your protagonist(s).
|
||||
|
||||
For each protagonist include:
|
||||
|
||||
- Name and brief description
|
||||
- Background and motivation
|
||||
- Character arc (how they change)
|
||||
- Strengths and flaws
|
||||
- Relationships to other characters
|
||||
- Internal and external conflicts
|
||||
|
||||
Your protagonist(s):</ask>
|
||||
|
||||
<template-output>protagonists</template-output>
|
||||
|
||||
</step>
|
||||
|
||||
<step n="6" goal="Develop antagonist(s)">
|
||||
|
||||
<ask>Describe your antagonist(s).
|
||||
|
||||
For each antagonist include:
|
||||
|
||||
- Name and brief description
|
||||
- Background and motivation
|
||||
- Goals (what they want)
|
||||
- Methods (how they pursue goals)
|
||||
- Relationship to protagonist
|
||||
- Sympathetic elements (if any)
|
||||
|
||||
Your antagonist(s):</ask>
|
||||
|
||||
<template-output>antagonists</template-output>
|
||||
|
||||
</step>
|
||||
|
||||
<step n="7" goal="Develop supporting characters">
|
||||
|
||||
<ask>Describe supporting characters (allies, mentors, companions, NPCs).
|
||||
|
||||
For each character include:
|
||||
|
||||
- Name and role
|
||||
- Personality and traits
|
||||
- Relationship to protagonist
|
||||
- Function in story (mentor, foil, comic relief, etc.)
|
||||
- Key scenes/moments
|
||||
|
||||
Your supporting characters:</ask>
|
||||
|
||||
<template-output>supporting_characters</template-output>
|
||||
|
||||
</step>
|
||||
|
||||
<step n="8" goal="Map character arcs">
|
||||
|
||||
<ask>Describe the character arcs for major characters.
|
||||
|
||||
Character arc: How does the character change from beginning to end?
|
||||
|
||||
For each arc:
|
||||
|
||||
- Starting state
|
||||
- Key transformation moments
|
||||
- Ending state
|
||||
- Lessons learned
|
||||
|
||||
Your character arcs:</ask>
|
||||
|
||||
<template-output>character_arcs</template-output>
|
||||
|
||||
</step>
|
||||
|
||||
<step n="9" goal="Build world and lore">
|
||||
|
||||
<ask>Describe your world.
|
||||
|
||||
Include:
|
||||
|
||||
- Setting (time period, location, world type)
|
||||
- World rules (magic systems, technology level, societal norms)
|
||||
- Atmosphere and aesthetics
|
||||
- What makes this world unique
|
||||
|
||||
Your world:</ask>
|
||||
|
||||
<template-output>world_overview</template-output>
|
||||
|
||||
<ask>What is the history and backstory of your world?
|
||||
|
||||
- Major historical events
|
||||
- How did the world reach its current state?
|
||||
- Legends and myths
|
||||
- Past conflicts
|
||||
|
||||
Your history:</ask>
|
||||
|
||||
<template-output>history_backstory</template-output>
|
||||
|
||||
</step>
|
||||
|
||||
<step n="10" goal="Define factions and locations">
|
||||
|
||||
<ask optional="true">Describe factions, organizations, or groups (if applicable).
|
||||
|
||||
For each:
|
||||
|
||||
- Name and purpose
|
||||
- Leadership and structure
|
||||
- Goals and methods
|
||||
- Relationships with other factions
|
||||
|
||||
Your factions:</ask>
|
||||
|
||||
<template-output>factions_organizations</template-output>
|
||||
|
||||
<ask>Describe key locations in your world.
|
||||
|
||||
For each location:
|
||||
|
||||
- Name and description
|
||||
- Narrative significance
|
||||
- Atmosphere and mood
|
||||
- Key events that occur there
|
||||
|
||||
Your locations:</ask>
|
||||
|
||||
<template-output>locations</template-output>
|
||||
|
||||
</step>
|
||||
|
||||
<step n="11" goal="Define dialogue framework">
|
||||
|
||||
<ask>Describe your dialogue style.
|
||||
|
||||
Consider:
|
||||
|
||||
- Formal vs. casual
|
||||
- Period-appropriate vs. modern
|
||||
- Verbose vs. concise
|
||||
- Humor level
|
||||
- Profanity/mature language
|
||||
|
||||
Your dialogue style:</ask>
|
||||
|
||||
<template-output>dialogue_style</template-output>
|
||||
|
||||
<ask>List key conversations/dialogue moments.
|
||||
|
||||
Include:
|
||||
|
||||
- Who is involved
|
||||
- When it occurs
|
||||
- What's discussed
|
||||
- Narrative purpose
|
||||
- Emotional tone
|
||||
|
||||
Your key conversations:</ask>
|
||||
|
||||
<template-output>key_conversations</template-output>
|
||||
|
||||
<check if="game has branching dialogue">
|
||||
<ask>Describe your branching dialogue system.
|
||||
|
||||
- How many branches/paths?
|
||||
- What determines branches? (stats, choices, flags)
|
||||
- Do branches converge?
|
||||
- How much unique dialogue?
|
||||
|
||||
Your branching system:</ask>
|
||||
|
||||
<template-output>branching_dialogue</template-output>
|
||||
</check>
|
||||
|
||||
</step>
|
||||
|
||||
<step n="12" goal="Environmental storytelling">
|
||||
|
||||
<ask>How will you tell story through the environment?
|
||||
|
||||
Visual storytelling:
|
||||
|
||||
- Set dressing and props
|
||||
- Environmental damage/aftermath
|
||||
- Visual symbolism
|
||||
- Color and lighting
|
||||
|
||||
Your visual storytelling:</ask>
|
||||
|
||||
<template-output>visual_storytelling</template-output>
|
||||
|
||||
<ask>How will audio contribute to storytelling?
|
||||
|
||||
- Ambient sounds
|
||||
- Music emotional cues
|
||||
- Voice acting
|
||||
- Audio logs/recordings
|
||||
|
||||
Your audio storytelling:</ask>
|
||||
|
||||
<template-output>audio_storytelling</template-output>
|
||||
|
||||
<ask optional="true">Will you have found documents (journals, notes, emails)?
|
||||
|
||||
If yes, describe:
|
||||
|
||||
- Types of documents
|
||||
- How many
|
||||
- What they reveal
|
||||
- Optional vs. required reading
|
||||
|
||||
Your found documents:</ask>
|
||||
|
||||
<template-output>found_documents</template-output>
|
||||
|
||||
</step>
|
||||
|
||||
<step n="13" goal="Narrative delivery methods">
|
||||
|
||||
<ask>How will you deliver narrative content?
|
||||
|
||||
**Cutscenes/Cinematics:**
|
||||
|
||||
- How many?
|
||||
- Skippable?
|
||||
- Real-time or pre-rendered?
|
||||
- Average length
|
||||
|
||||
Your cutscenes:</ask>
|
||||
|
||||
<template-output>cutscenes</template-output>
|
||||
|
||||
<ask>How will you deliver story during gameplay?
|
||||
|
||||
- NPC conversations
|
||||
- Radio/comm chatter
|
||||
- Environmental cues
|
||||
- Player actions
|
||||
- Show vs. tell balance
|
||||
|
||||
Your in-game storytelling:</ask>
|
||||
|
||||
<template-output>ingame_storytelling</template-output>
|
||||
|
||||
<ask>What narrative content is optional?
|
||||
|
||||
- Side quests
|
||||
- Collectible lore
|
||||
- Optional conversations
|
||||
- Secret endings
|
||||
|
||||
Your optional content:</ask>
|
||||
|
||||
<template-output>optional_content</template-output>
|
||||
|
||||
<check if="multiple endings">
|
||||
<ask>Describe your ending structure.
|
||||
|
||||
- How many endings?
|
||||
- What determines ending? (choices, stats, completion)
|
||||
- Ending variety (minor variations vs. drastically different)
|
||||
- True/golden ending?
|
||||
|
||||
Your endings:</ask>
|
||||
|
||||
<template-output>multiple_endings</template-output>
|
||||
</check>
|
||||
|
||||
</step>
|
||||
|
||||
<step n="14" goal="Gameplay integration">
|
||||
|
||||
<ask>How does narrative integrate with gameplay?
|
||||
|
||||
- Does story unlock mechanics?
|
||||
- Do mechanics reflect themes?
|
||||
- Ludonarrative harmony or dissonance?
|
||||
- Balance of story vs. gameplay
|
||||
|
||||
Your narrative-gameplay integration:</ask>
|
||||
|
||||
<template-output>narrative_gameplay</template-output>
|
||||
|
||||
<ask>How does story gate progression?
|
||||
|
||||
- Story-locked areas
|
||||
- Cutscene triggers
|
||||
- Mandatory story beats
|
||||
- Optional vs. required narrative
|
||||
|
||||
Your story gates:</ask>
|
||||
|
||||
<template-output>story_gates</template-output>
|
||||
|
||||
<ask>How much agency does the player have?
|
||||
|
||||
- Can player affect story?
|
||||
- Meaningful choices?
|
||||
- Role-playing freedom?
|
||||
- Predetermined vs. dynamic narrative
|
||||
|
||||
Your player agency:</ask>
|
||||
|
||||
<template-output>player_agency</template-output>
|
||||
|
||||
</step>
|
||||
|
||||
<step n="15" goal="Production planning">
|
||||
|
||||
<ask>Estimate your writing scope.
|
||||
|
||||
- Word count estimate
|
||||
- Number of scenes/chapters
|
||||
- Dialogue lines estimate
|
||||
- Branching complexity
|
||||
|
||||
Your scope:</ask>
|
||||
|
||||
<template-output>writing_scope</template-output>
|
||||
|
||||
<ask>Localization considerations?
|
||||
|
||||
- Target languages
|
||||
- Cultural adaptation needs
|
||||
- Text expansion concerns
|
||||
- Dialogue recording implications
|
||||
|
||||
Your localization:</ask>
|
||||
|
||||
<template-output>localization</template-output>
|
||||
|
||||
<ask>Voice acting plans?
|
||||
|
||||
- Fully voiced, partially voiced, or text-only?
|
||||
- Number of characters needing voices
|
||||
- Dialogue volume
|
||||
- Budget considerations
|
||||
|
||||
Your voice acting:</ask>
|
||||
|
||||
<template-output>voice_acting</template-output>
|
||||
|
||||
</step>
|
||||
|
||||
<step n="16" goal="Completion and next steps">
|
||||
|
||||
<action>Generate character relationship map (text-based diagram)</action>
|
||||
<template-output>relationship_map</template-output>
|
||||
|
||||
<action>Generate story timeline</action>
|
||||
<template-output>timeline</template-output>
|
||||
|
||||
<ask optional="true">Any references or inspirations to note?
|
||||
|
||||
- Books, movies, games that inspired you
|
||||
- Reference materials
|
||||
- Tone/theme references
|
||||
|
||||
Your references:</ask>
|
||||
|
||||
<template-output>references</template-output>
|
||||
|
||||
<ask>**✅ Narrative Design Complete, {user_name}!**
|
||||
|
||||
Next steps:
|
||||
|
||||
1. Proceed to solutioning (technical architecture)
|
||||
2. Create detailed script/screenplay (outside workflow)
|
||||
3. Review narrative with team/stakeholders
|
||||
4. Exit workflow
|
||||
|
||||
Which would you like?</ask>
|
||||
|
||||
</step>
|
||||
|
||||
<step n="17" goal="Update status if tracking enabled" tag="workflow-status">
|
||||
|
||||
<check if="standalone_mode != true">
|
||||
<action>Load the FULL file: {output_folder}/bmgd-workflow-status.yaml</action>
|
||||
<action>Find workflow_status key "narrative"</action>
|
||||
<critical>ONLY write the file path as the status value - no other text, notes, or metadata</critical>
|
||||
<action>Update workflow_status["narrative"] = "{output_folder}/bmm-narrative-{{game_name}}-{{date}}.md"</action>
|
||||
<action>Save file, preserving ALL comments and structure including STATUS DEFINITIONS</action>
|
||||
|
||||
<action>Find first non-completed workflow in workflow_status (next workflow to do)</action>
|
||||
<action>Determine next agent from path file based on next workflow</action>
|
||||
</check>
|
||||
|
||||
<output>**✅ Narrative Design Complete, {user_name}!**
|
||||
|
||||
**Narrative Document:**
|
||||
|
||||
- Narrative design saved to {output_folder}/bmm-narrative-{{game_name}}-{{date}}.md
|
||||
|
||||
{{#if standalone_mode != true}}
|
||||
**Status Updated:**
|
||||
|
||||
- Progress tracking updated: narrative marked complete
|
||||
- Next workflow: {{next_workflow}}
|
||||
{{else}}
|
||||
**Note:** Running in standalone mode (no progress tracking)
|
||||
{{/if}}
|
||||
|
||||
**Next Steps:**
|
||||
|
||||
{{#if standalone_mode != true}}
|
||||
|
||||
- **Next workflow:** {{next_workflow}} ({{next_agent}} agent)
|
||||
- **Optional:** Review narrative with writing team or stakeholders
|
||||
|
||||
Check status anytime with: `workflow-status`
|
||||
{{else}}
|
||||
Since no workflow is in progress:
|
||||
|
||||
- Review narrative design with team
|
||||
- Refer to the BMM workflow guide if unsure what to do next
|
||||
- Or run `workflow-init` to create a workflow path and get guided next steps
|
||||
{{/if}}
|
||||
</output>
|
||||
</step>
|
||||
|
||||
</workflow>
|
||||
@@ -0,0 +1,229 @@
|
||||
---
|
||||
name: 'step-01-init'
|
||||
description: 'Initialize narrative workflow, load GDD context, and assess narrative complexity'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/2-design/narrative'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-01-init.md'
|
||||
continueStepFile: '{workflow_path}/steps/step-01b-continue.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-02-foundation.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/narrative-design.md'
|
||||
templateFile: '{workflow_path}/templates/narrative-template.md'
|
||||
---
|
||||
|
||||
# Step 1: Initialize Narrative Workflow
|
||||
|
||||
**Progress: Step 1 of 11** - Next: Story Foundation
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Validate workflow readiness, check for existing narrative document, load GDD context, and assess the appropriate level of narrative complexity for this game.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- NEVER generate content without user input
|
||||
- CRITICAL: Read the complete step file before taking any action
|
||||
- CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- YOU ARE A FACILITATOR, not a content generator
|
||||
- NEVER mention time estimates
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- You are a narrative design facilitator
|
||||
- Help users craft THEIR story, not yours
|
||||
- Narrative complexity should match the game
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- Check for existing narrative before starting fresh
|
||||
- Load GDD to understand game context
|
||||
- Let user confirm narrative complexity level
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- Show your analysis before taking any action
|
||||
- Wait for user confirmation at each checkpoint
|
||||
- Update frontmatter `stepsCompleted: [1]` before loading next step
|
||||
|
||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
||||
|
||||
### 1. Check Workflow Status
|
||||
|
||||
**Search for workflow status file:**
|
||||
|
||||
Check if `{output_folder}/bmgd-workflow-status.yaml` exists.
|
||||
|
||||
**If status file found:**
|
||||
|
||||
- Load and parse workflow_status section
|
||||
- Check status of "narrative" workflow
|
||||
- Determine if this is the expected next workflow
|
||||
|
||||
**Handle scenarios:**
|
||||
|
||||
- If already completed: Ask about overwriting
|
||||
- If out of sequence: Warn and confirm continuation
|
||||
- Set `standalone_mode` appropriately
|
||||
|
||||
### 2. Check for Existing Narrative
|
||||
|
||||
**Search for existing narrative document:**
|
||||
|
||||
Look for existing narrative files in {output_folder}:
|
||||
|
||||
- `*narrative*.md`
|
||||
- `*story*.md`
|
||||
|
||||
**If existing narrative found:**
|
||||
|
||||
"I found an existing narrative document: `{{existing_file}}`
|
||||
|
||||
**Options:**
|
||||
|
||||
1. **Continue** - Resume from where you left off
|
||||
2. **Start Fresh** - Begin a new narrative (will overwrite)
|
||||
3. **Review** - Let me review the existing document first
|
||||
|
||||
Which would you like to do?"
|
||||
|
||||
**Handle selection:**
|
||||
|
||||
- If **Continue**: Load `{continueStepFile}`
|
||||
- If **Start Fresh**: Continue with step 3
|
||||
- If **Review**: Show document summary
|
||||
|
||||
### 3. Load GDD Context
|
||||
|
||||
**Search for GDD:**
|
||||
|
||||
Look for GDD files using patterns:
|
||||
|
||||
- `{output_folder}/*gdd*.md`
|
||||
- `{output_folder}/*game-design*.md`
|
||||
|
||||
**If GDD not found:**
|
||||
|
||||
"**Note: GDD Not Found**
|
||||
|
||||
The Narrative workflow works best with a completed GDD.
|
||||
|
||||
**Options:**
|
||||
|
||||
1. Continue without GDD (I'll ask more questions)
|
||||
2. Run GDD workflow first: `create-gdd`
|
||||
|
||||
Your choice:"
|
||||
|
||||
**If GDD found:**
|
||||
|
||||
Load and extract:
|
||||
|
||||
- `game_type`
|
||||
- `game_name`
|
||||
- Any existing narrative mentions
|
||||
- Core mechanics and themes
|
||||
|
||||
### 4. Assess Narrative Complexity
|
||||
|
||||
"**Narrative Complexity Assessment**
|
||||
|
||||
Let's determine the right depth for your narrative design.
|
||||
|
||||
**Narrative Complexity Levels:**
|
||||
|
||||
| Level | Description | Examples |
|
||||
| ------------ | ----------------------- | ------------------------------ |
|
||||
| **Critical** | Story IS the game | Visual Novel, Text Adventure |
|
||||
| **Heavy** | Story drives experience | Story RPG, Narrative Adventure |
|
||||
| **Moderate** | Story enhances gameplay | Metroidvania, Horror, Tactics |
|
||||
| **Light** | Story provides context | Most action, puzzle, arcade |
|
||||
|
||||
**Based on {{game_type}}, I'd suggest: {{suggested_complexity}}**
|
||||
|
||||
What level of narrative complexity does {{game_name}} have?"
|
||||
|
||||
### 5. Validate Complexity Choice
|
||||
|
||||
**If user selects Light:**
|
||||
|
||||
"**Light narrative games usually don't need a full Narrative Design Document.**
|
||||
|
||||
Your options:
|
||||
|
||||
1. **Proceed anyway** - Create full narrative document
|
||||
2. **Quick narrative** - Just the essentials (premise, setting, key characters)
|
||||
3. **Expand GDD** - Add narrative sections to existing GDD instead
|
||||
|
||||
What would you like to do?"
|
||||
|
||||
**Handle selection appropriately.**
|
||||
|
||||
### 6. Initialize Output Document
|
||||
|
||||
**If proceeding with full narrative:**
|
||||
|
||||
Create `{outputFile}` with frontmatter:
|
||||
|
||||
```markdown
|
||||
---
|
||||
title: 'Narrative Design Document'
|
||||
project: '{{game_name}}'
|
||||
date: '{{date}}'
|
||||
author: '{{user_name}}'
|
||||
version: '1.0'
|
||||
stepsCompleted: [1]
|
||||
status: 'in-progress'
|
||||
narrativeComplexity: '{{selected_complexity}}'
|
||||
gdd: '{{gdd_file}}'
|
||||
---
|
||||
|
||||
# Narrative Design Document
|
||||
|
||||
## {{game_name}}
|
||||
|
||||
### Document Status
|
||||
|
||||
This narrative document is being created through the BMGD Narrative Workflow.
|
||||
|
||||
**Narrative Complexity:** {{selected_complexity}}
|
||||
**Steps Completed:** 1 of 11 (Initialize)
|
||||
|
||||
---
|
||||
|
||||
_Content will be added as we progress through the workflow._
|
||||
```
|
||||
|
||||
### 7. Proceed to Foundation Step
|
||||
|
||||
After initialization:
|
||||
|
||||
- Update frontmatter: `stepsCompleted: [1]`
|
||||
- Load `{nextStepFile}`
|
||||
|
||||
---
|
||||
|
||||
## SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### SUCCESS:
|
||||
|
||||
- Workflow status checked appropriately
|
||||
- Existing narrative check performed
|
||||
- GDD loaded and analyzed (if available)
|
||||
- Narrative complexity assessed with user
|
||||
- Output document initialized with proper frontmatter
|
||||
- Frontmatter updated with stepsCompleted: [1]
|
||||
|
||||
### SYSTEM FAILURE:
|
||||
|
||||
- Starting without complexity assessment
|
||||
- Not checking for existing narrative
|
||||
- Proceeding without user confirmation
|
||||
- Missing frontmatter initialization
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
@@ -0,0 +1,164 @@
|
||||
---
|
||||
name: 'step-01b-continue'
|
||||
description: 'Continue an existing narrative workflow from where it left off'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/2-design/narrative'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-01b-continue.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/narrative-design.md'
|
||||
|
||||
# Step Files (for routing)
|
||||
step02: '{workflow_path}/steps/step-02-foundation.md'
|
||||
step03: '{workflow_path}/steps/step-03-story.md'
|
||||
step04: '{workflow_path}/steps/step-04-characters.md'
|
||||
step05: '{workflow_path}/steps/step-05-world.md'
|
||||
step06: '{workflow_path}/steps/step-06-dialogue.md'
|
||||
step07: '{workflow_path}/steps/step-07-environmental.md'
|
||||
step08: '{workflow_path}/steps/step-08-delivery.md'
|
||||
step09: '{workflow_path}/steps/step-09-integration.md'
|
||||
step10: '{workflow_path}/steps/step-10-production.md'
|
||||
step11: '{workflow_path}/steps/step-11-complete.md'
|
||||
---
|
||||
|
||||
# Step 1b: Continue Existing Narrative
|
||||
|
||||
**Resuming Narrative Workflow**
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Load the existing narrative document, determine progress, and route to the appropriate next step.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- NEVER generate content without user input
|
||||
- CRITICAL: Read the complete step file before taking any action
|
||||
- YOU ARE A FACILITATOR, not a content generator
|
||||
- NEVER mention time estimates
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- Parse frontmatter to determine completed steps
|
||||
- Present summary of current progress
|
||||
- Route to correct next step based on state
|
||||
|
||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
||||
|
||||
### 1. Load Existing Narrative
|
||||
|
||||
**Read the existing narrative document:**
|
||||
|
||||
Load `{outputFile}` and parse the frontmatter to extract:
|
||||
|
||||
- `stepsCompleted` array
|
||||
- `status`
|
||||
- `project` name
|
||||
- `narrativeComplexity`
|
||||
- GDD reference
|
||||
|
||||
### 2. Analyze Progress
|
||||
|
||||
**Determine workflow state:**
|
||||
|
||||
Map completed steps to workflow progress:
|
||||
|
||||
- Step 1: Initialize
|
||||
- Step 2: Foundation (premise, themes, structure)
|
||||
- Step 3: Story (beats and pacing)
|
||||
- Step 4: Characters (all characters and arcs)
|
||||
- Step 5: World (world, history, locations)
|
||||
- Step 6: Dialogue (dialogue systems)
|
||||
- Step 7: Environmental (environmental storytelling)
|
||||
- Step 8: Delivery (narrative delivery methods)
|
||||
- Step 9: Integration (gameplay integration)
|
||||
- Step 10: Production (scope and planning)
|
||||
- Step 11: Complete
|
||||
|
||||
**Calculate next step:**
|
||||
|
||||
Find the highest completed step and determine the next step file to load.
|
||||
|
||||
### 3. Present Continuation Summary
|
||||
|
||||
"**Resuming Narrative Workflow**
|
||||
|
||||
{{user_name}}, I found your existing narrative for **{{game_name}}**.
|
||||
|
||||
**Progress:** Steps completed: {{stepsCompleted}}
|
||||
|
||||
**Narrative Complexity:** {{narrativeComplexity}}
|
||||
|
||||
**Sections Completed:**
|
||||
{{list_of_completed_sections}}
|
||||
|
||||
**Current Status:**
|
||||
|
||||
- Last completed: {{last_step_name}}
|
||||
- Next step: {{next_step_name}} (Step {{next_step_number}} of 11)
|
||||
|
||||
Would you like to:
|
||||
|
||||
1. **Continue** - Resume from {{next_step_name}}
|
||||
2. **Review** - Show me what we've written so far
|
||||
3. **Restart Step** - Redo the last completed step
|
||||
|
||||
Select an option:"
|
||||
|
||||
### 4. Handle User Selection
|
||||
|
||||
**If Continue:**
|
||||
|
||||
- Load the next step file based on `stepsCompleted`
|
||||
|
||||
**If Review:**
|
||||
|
||||
- Present summary of all completed sections
|
||||
- Show key narrative elements (premise, characters, etc.)
|
||||
- Return to continuation options
|
||||
|
||||
**If Restart Step:**
|
||||
|
||||
- Decrement stepsCompleted to remove last step
|
||||
- Load the step file for the step being restarted
|
||||
|
||||
### 5. Route to Next Step
|
||||
|
||||
Based on next step number, load the appropriate step file:
|
||||
|
||||
| Next Step | File |
|
||||
| --------- | -------- |
|
||||
| 2 | {step02} |
|
||||
| 3 | {step03} |
|
||||
| 4 | {step04} |
|
||||
| 5 | {step05} |
|
||||
| 6 | {step06} |
|
||||
| 7 | {step07} |
|
||||
| 8 | {step08} |
|
||||
| 9 | {step09} |
|
||||
| 10 | {step10} |
|
||||
| 11 | {step11} |
|
||||
|
||||
---
|
||||
|
||||
## SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### SUCCESS:
|
||||
|
||||
- Existing document loaded and parsed
|
||||
- Progress accurately determined
|
||||
- User presented with clear options
|
||||
- Correct step file loaded based on state
|
||||
|
||||
### SYSTEM FAILURE:
|
||||
|
||||
- Failing to parse frontmatter correctly
|
||||
- Loading wrong step file
|
||||
- Not presenting continuation options
|
||||
- Overwriting existing progress without confirmation
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
@@ -0,0 +1,263 @@
|
||||
---
|
||||
name: 'step-02-foundation'
|
||||
description: 'Define narrative premise, themes, tone, and story structure'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/2-design/narrative'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-02-foundation.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-03-story.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/narrative-design.md'
|
||||
|
||||
# Task References
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
---
|
||||
|
||||
# Step 2: Story Foundation
|
||||
|
||||
**Progress: Step 2 of 11** - Next: Story Beats
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Define the narrative foundation: premise, themes, tone/atmosphere, and overall story structure. These elements form the backbone of all narrative content.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- NEVER generate content without user input
|
||||
- CRITICAL: Read the complete step file before taking any action
|
||||
- CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- YOU ARE A FACILITATOR, not a content generator
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
- NEVER mention time estimates
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- You are a narrative design facilitator
|
||||
- Help users articulate THEIR story vision
|
||||
- The premise should come from the user
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- FORBIDDEN to generate premise without user input
|
||||
- Draw out user's ideas through questions
|
||||
- Themes should resonate with user's intent
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- Show your analysis before taking any action
|
||||
- Present A/P/C menu after generating content
|
||||
- ONLY save when user chooses C (Continue)
|
||||
- Update frontmatter `stepsCompleted: [1, 2]` before loading next step
|
||||
|
||||
## COLLABORATION MENUS (A/P/C):
|
||||
|
||||
- **A (Advanced Elicitation)**: Explore themes deeper
|
||||
- **P (Party Mode)**: Get perspectives on foundation
|
||||
- **C (Continue)**: Save the content and proceed
|
||||
|
||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
||||
|
||||
### 1. Narrative Premise Discovery
|
||||
|
||||
"Let's define the narrative foundation for **{{game_name}}**.
|
||||
|
||||
**First, the premise - your story's elevator pitch in 2-3 sentences.**
|
||||
|
||||
Good premises have:
|
||||
|
||||
- A protagonist with a clear goal
|
||||
- An obstacle or conflict
|
||||
- Stakes (what happens if they fail?)
|
||||
|
||||
**Examples:**
|
||||
|
||||
- \"A young knight discovers they're the last hope to stop an ancient evil, but must choose between saving the kingdom or their own family.\"
|
||||
- \"After a mysterious pandemic, survivors must navigate a world where telling the truth is deadly but lying corrupts your soul.\"
|
||||
|
||||
What's the premise for {{game_name}}?"
|
||||
|
||||
### 2. Theme Discovery
|
||||
|
||||
"**Now let's identify your core themes.**
|
||||
|
||||
Themes are the underlying ideas or messages woven throughout the story.
|
||||
|
||||
**Common game themes:**
|
||||
|
||||
- Redemption, sacrifice, identity
|
||||
- Power and corruption
|
||||
- Hope vs. despair
|
||||
- Nature vs. technology
|
||||
- Freedom vs. control
|
||||
- Family, loyalty, betrayal
|
||||
|
||||
**Questions to consider:**
|
||||
|
||||
- What questions does your story ask?
|
||||
- What will players think about after playing?
|
||||
- What emotions do you want to evoke?
|
||||
|
||||
What are 2-4 core themes for {{game_name}}?"
|
||||
|
||||
### 3. Tone and Atmosphere Discovery
|
||||
|
||||
"**Let's define the tone and atmosphere.**
|
||||
|
||||
Tone shapes how the story feels moment-to-moment.
|
||||
|
||||
**Tone spectrums:**
|
||||
|
||||
- Dark ←→ Lighthearted
|
||||
- Serious ←→ Comedic
|
||||
- Gritty ←→ Fantastical
|
||||
- Intimate ←→ Epic
|
||||
- Hopeful ←→ Melancholic
|
||||
|
||||
**Atmosphere elements:**
|
||||
|
||||
- Visual mood (colors, lighting)
|
||||
- Audio mood (music style)
|
||||
- Pacing (contemplative vs. urgent)
|
||||
- Emotional register
|
||||
|
||||
Describe the tone and atmosphere for {{game_name}}:"
|
||||
|
||||
### 4. Story Structure Discovery
|
||||
|
||||
"**What story structure will you use?**
|
||||
|
||||
**Common structures:**
|
||||
|
||||
| Structure | Description |
|
||||
| ------------------ | ------------------------------------------------------ |
|
||||
| **3-Act** | Setup → Confrontation → Resolution |
|
||||
| **Hero's Journey** | Campbell's monomyth (departure, initiation, return) |
|
||||
| **Kishōtenketsu** | 4-act: Introduction → Development → Twist → Conclusion |
|
||||
| **Episodic** | Self-contained episodes with overarching arc |
|
||||
| **Branching** | Multiple paths and endings |
|
||||
| **Freeform** | Player-driven, emergent narrative |
|
||||
|
||||
What structure fits {{game_name}}?"
|
||||
|
||||
### 5. Act Breakdown
|
||||
|
||||
"**Let's break down your story into acts/sections.**
|
||||
|
||||
Based on {{selected_structure}}:
|
||||
|
||||
{{structure_specific_prompts}}
|
||||
|
||||
Describe each act/section for {{game_name}}:"
|
||||
|
||||
### 6. Generate Foundation Content
|
||||
|
||||
Based on the conversation, prepare the content:
|
||||
|
||||
```markdown
|
||||
## Story Foundation
|
||||
|
||||
### Narrative Premise
|
||||
|
||||
{{user_premise}}
|
||||
|
||||
### Core Themes
|
||||
|
||||
{{themes_list_with_descriptions}}
|
||||
|
||||
### Tone and Atmosphere
|
||||
|
||||
**Tone:** {{tone_description}}
|
||||
|
||||
**Atmosphere:** {{atmosphere_description}}
|
||||
|
||||
**Emotional Register:** {{emotional_goals}}
|
||||
|
||||
---
|
||||
|
||||
## Story Structure
|
||||
|
||||
### Structure Type
|
||||
|
||||
**{{structure_type}}**
|
||||
|
||||
{{structure_description}}
|
||||
|
||||
### Act Breakdown
|
||||
|
||||
{{act_breakdown_details}}
|
||||
```
|
||||
|
||||
### 7. Present Content and Menu
|
||||
|
||||
Show the generated content to the user and present:
|
||||
|
||||
"I've drafted the Story Foundation based on our conversation.
|
||||
|
||||
**Here's what I'll add to the document:**
|
||||
|
||||
[Show the complete markdown content from step 6]
|
||||
|
||||
**Validation Check:**
|
||||
|
||||
- Does the premise capture your vision?
|
||||
- Do the themes resonate with your intent?
|
||||
- Does the structure fit your gameplay?
|
||||
|
||||
**Select an Option:**
|
||||
[A] Advanced Elicitation - Explore themes and structure deeper
|
||||
[P] Party Mode - Get perspectives on foundation
|
||||
[C] Continue - Save this and move to Story Beats (Step 3 of 11)"
|
||||
|
||||
### 8. Handle Menu Selection
|
||||
|
||||
#### IF A (Advanced Elicitation):
|
||||
|
||||
- Execute {advancedElicitationTask} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF P (Party Mode):
|
||||
|
||||
- Execute {partyModeWorkflow} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF C (Continue):
|
||||
|
||||
- Append the final content to `{outputFile}`
|
||||
- Update frontmatter: `stepsCompleted: [1, 2]`
|
||||
- Load `{nextStepFile}`
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN [C continue option] is selected and [foundation content saved with frontmatter updated], will you then load and read fully `{nextStepFile}`.
|
||||
|
||||
---
|
||||
|
||||
## SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### SUCCESS:
|
||||
|
||||
- Premise captured from user input
|
||||
- Themes identified and described
|
||||
- Tone and atmosphere defined
|
||||
- Story structure selected and broken down
|
||||
- A/P/C menu presented and handled correctly
|
||||
- Frontmatter updated with stepsCompleted: [1, 2]
|
||||
|
||||
### SYSTEM FAILURE:
|
||||
|
||||
- Generating premise FOR user
|
||||
- Generic themes not connected to user's vision
|
||||
- Proceeding without structure breakdown
|
||||
- Not presenting A/P/C menu after content
|
||||
- Proceeding without user selecting 'C'
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
@@ -0,0 +1,239 @@
|
||||
---
|
||||
name: 'step-03-story'
|
||||
description: 'Define major story beats and narrative pacing'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/2-design/narrative'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-03-story.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-04-characters.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/narrative-design.md'
|
||||
|
||||
# Task References
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
---
|
||||
|
||||
# Step 3: Story Beats
|
||||
|
||||
**Progress: Step 3 of 11** - Next: Characters
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Define the major story beats (key narrative moments) and establish pacing and flow throughout the game experience.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- NEVER generate content without user input
|
||||
- CRITICAL: Read the complete step file before taking any action
|
||||
- CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- YOU ARE A FACILITATOR, not a content generator
|
||||
- NEVER mention time estimates
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- You are a narrative design facilitator
|
||||
- Story beats are the skeleton of the narrative
|
||||
- Help user identify key moments, don't create them
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- FORBIDDEN to generate story beats without user input
|
||||
- Guide user through beat mapping
|
||||
- Connect beats to structure defined in Step 2
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- Show your analysis before taking any action
|
||||
- Present A/P/C menu after generating content
|
||||
- ONLY save when user chooses C (Continue)
|
||||
- Update frontmatter `stepsCompleted: [1, 2, 3]` before loading next step
|
||||
|
||||
## COLLABORATION MENUS (A/P/C):
|
||||
|
||||
- **A (Advanced Elicitation)**: Explore beats and connections
|
||||
- **P (Party Mode)**: Get perspectives on pacing
|
||||
- **C (Continue)**: Save the content and proceed
|
||||
|
||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
||||
|
||||
### 1. Story Beats Discovery
|
||||
|
||||
"**Let's map the major story beats for {{game_name}}.**
|
||||
|
||||
Story beats are significant events that drive the narrative forward.
|
||||
|
||||
**Key beat types:**
|
||||
|
||||
- **Inciting Incident** - What sets the story in motion?
|
||||
- **Plot Points** - Major turning points
|
||||
- **Midpoint** - Central pivot moment
|
||||
- **Climax** - Highest tension point
|
||||
- **Resolution** - How things conclude
|
||||
|
||||
**Based on your {{structure_type}} structure, list 10-20 key moments.**
|
||||
|
||||
Format:
|
||||
|
||||
1. [Beat name] - Brief description
|
||||
2. [Beat name] - Brief description
|
||||
|
||||
What are the major story beats for {{game_name}}?"
|
||||
|
||||
### 2. Beat Placement
|
||||
|
||||
"**Now let's place these beats within your structure.**
|
||||
|
||||
For {{structure_type}}:
|
||||
|
||||
**Act 1 beats:**
|
||||
Which of your beats belong in the setup/introduction?
|
||||
|
||||
**Act 2 beats:**
|
||||
Which beats drive the main conflict/development?
|
||||
|
||||
**Act 3 beats:**
|
||||
Which beats resolve the story?
|
||||
|
||||
Let's organize your beats:"
|
||||
|
||||
### 3. Pacing Discovery
|
||||
|
||||
"**Let's define the pacing and flow.**
|
||||
|
||||
**Pacing considerations:**
|
||||
|
||||
| Aspect | Options |
|
||||
| ------------------- | --------------------------------- |
|
||||
| **Overall tempo** | Slow burn vs. fast-paced |
|
||||
| **Tension pattern** | Escalating vs. waves |
|
||||
| **Story density** | Heavy sections vs. light sections |
|
||||
| **Player agency** | Mandatory vs. optional content |
|
||||
|
||||
**Questions:**
|
||||
|
||||
- When should tension be highest?
|
||||
- Where are the breathing room moments?
|
||||
- How much story per gameplay hour?
|
||||
|
||||
Describe the pacing for {{game_name}}:"
|
||||
|
||||
### 4. Generate Story Content
|
||||
|
||||
Based on the conversation, prepare the content:
|
||||
|
||||
```markdown
|
||||
## Story Beats
|
||||
|
||||
### Major Story Beats
|
||||
|
||||
{{beats_list_with_descriptions}}
|
||||
|
||||
### Beat Placement by Act
|
||||
|
||||
**Act 1: Setup**
|
||||
{{act1_beats}}
|
||||
|
||||
**Act 2: Confrontation**
|
||||
{{act2_beats}}
|
||||
|
||||
**Act 3: Resolution**
|
||||
{{act3_beats}}
|
||||
|
||||
---
|
||||
|
||||
## Pacing and Flow
|
||||
|
||||
### Narrative Tempo
|
||||
|
||||
{{pacing_description}}
|
||||
|
||||
### Tension Curve
|
||||
|
||||
{{tension_pattern}}
|
||||
|
||||
### Story Density
|
||||
|
||||
{{density_by_section}}
|
||||
|
||||
### Key Moments
|
||||
|
||||
**Highest tension:** {{peak_moment}}
|
||||
**Emotional climax:** {{emotional_peak}}
|
||||
**Resolution beat:** {{resolution_moment}}
|
||||
```
|
||||
|
||||
### 5. Present Content and Menu
|
||||
|
||||
Show the generated content to the user and present:
|
||||
|
||||
"I've mapped out the story beats and pacing.
|
||||
|
||||
**Here's what I'll add to the document:**
|
||||
|
||||
[Show the complete markdown content from step 4]
|
||||
|
||||
**Validation Check:**
|
||||
|
||||
- Are all major moments captured?
|
||||
- Does pacing match your vision?
|
||||
- Are beats properly distributed?
|
||||
|
||||
**Select an Option:**
|
||||
[A] Advanced Elicitation - Explore beats and connections
|
||||
[P] Party Mode - Get perspectives on pacing
|
||||
[C] Continue - Save this and move to Characters (Step 4 of 11)"
|
||||
|
||||
### 6. Handle Menu Selection
|
||||
|
||||
#### IF A (Advanced Elicitation):
|
||||
|
||||
- Execute {advancedElicitationTask} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF P (Party Mode):
|
||||
|
||||
- Execute {partyModeWorkflow} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF C (Continue):
|
||||
|
||||
- Append the final content to `{outputFile}`
|
||||
- Update frontmatter: `stepsCompleted: [1, 2, 3]`
|
||||
- Load `{nextStepFile}`
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN [C continue option] is selected and [story content saved with frontmatter updated], will you then load and read fully `{nextStepFile}`.
|
||||
|
||||
---
|
||||
|
||||
## SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### SUCCESS:
|
||||
|
||||
- 10-20 story beats identified from user input
|
||||
- Beats organized by act/structure
|
||||
- Pacing and flow defined
|
||||
- Tension curve established
|
||||
- A/P/C menu presented and handled correctly
|
||||
- Frontmatter updated with stepsCompleted: [1, 2, 3]
|
||||
|
||||
### SYSTEM FAILURE:
|
||||
|
||||
- Generating beats FOR user
|
||||
- Beats not connected to structure
|
||||
- Missing pacing considerations
|
||||
- Not presenting A/P/C menu after content
|
||||
- Proceeding without user selecting 'C'
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
@@ -0,0 +1,298 @@
|
||||
---
|
||||
name: 'step-04-characters'
|
||||
description: 'Develop all characters including protagonists, antagonists, supporting cast, and their arcs'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/2-design/narrative'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-04-characters.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-05-world.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/narrative-design.md'
|
||||
|
||||
# Task References
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
---
|
||||
|
||||
# Step 4: Characters
|
||||
|
||||
**Progress: Step 4 of 11** - Next: World Building
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Develop all characters: protagonists, antagonists, and supporting cast. Define their backgrounds, motivations, relationships, and character arcs.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- NEVER generate content without user input
|
||||
- CRITICAL: Read the complete step file before taking any action
|
||||
- CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- YOU ARE A FACILITATOR, not a content generator
|
||||
- NEVER mention time estimates
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- You are a narrative design facilitator
|
||||
- Characters should feel like user's creations
|
||||
- Draw out personality through questions
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- FORBIDDEN to create characters without user input
|
||||
- Guide user through character development
|
||||
- Ensure characters connect to themes
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- Show your analysis before taking any action
|
||||
- Present A/P/C menu after generating content
|
||||
- ONLY save when user chooses C (Continue)
|
||||
- Update frontmatter `stepsCompleted: [1, 2, 3, 4]` before loading next step
|
||||
|
||||
## COLLABORATION MENUS (A/P/C):
|
||||
|
||||
- **A (Advanced Elicitation)**: Deep dive into characters
|
||||
- **P (Party Mode)**: Get perspectives on character design
|
||||
- **C (Continue)**: Save the content and proceed
|
||||
|
||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
||||
|
||||
### 1. Protagonist Discovery
|
||||
|
||||
"**Let's develop the protagonist(s) of {{game_name}}.**
|
||||
|
||||
For each protagonist, tell me:
|
||||
|
||||
- **Name and description** - Who are they?
|
||||
- **Background** - Where do they come from?
|
||||
- **Motivation** - What do they want?
|
||||
- **Strengths** - What are they good at?
|
||||
- **Flaws** - What holds them back?
|
||||
- **Internal conflict** - What do they struggle with inside?
|
||||
- **External conflict** - What obstacles do they face?
|
||||
|
||||
Describe your protagonist(s):"
|
||||
|
||||
### 2. Antagonist Discovery
|
||||
|
||||
"**Now let's develop the antagonist(s).**
|
||||
|
||||
Great antagonists:
|
||||
|
||||
- Have understandable motivations
|
||||
- Challenge the protagonist meaningfully
|
||||
- May have sympathetic elements
|
||||
- Represent or oppose the themes
|
||||
|
||||
For each antagonist:
|
||||
|
||||
- **Name and description**
|
||||
- **Background** - How did they become this way?
|
||||
- **Goals** - What do they want?
|
||||
- **Methods** - How do they pursue their goals?
|
||||
- **Relationship to protagonist**
|
||||
- **Sympathetic elements** (if any)
|
||||
|
||||
Describe your antagonist(s):"
|
||||
|
||||
### 3. Supporting Cast Discovery
|
||||
|
||||
"**Let's flesh out the supporting characters.**
|
||||
|
||||
Common supporting roles:
|
||||
|
||||
- **Mentor** - Guides the protagonist
|
||||
- **Ally/Companion** - Travels with protagonist
|
||||
- **Foil** - Contrasts protagonist's traits
|
||||
- **Love interest** - Romantic connection
|
||||
- **Comic relief** - Lightens tone
|
||||
- **Informant** - Provides information
|
||||
|
||||
For each supporting character:
|
||||
|
||||
- **Name and role**
|
||||
- **Personality and traits**
|
||||
- **Relationship to protagonist**
|
||||
- **Function in story**
|
||||
- **Key scenes/moments**
|
||||
|
||||
Describe your supporting characters:"
|
||||
|
||||
### 4. Character Arcs Discovery
|
||||
|
||||
"**Now let's map character arcs.**
|
||||
|
||||
A character arc shows how a character changes (or refuses to change) through the story.
|
||||
|
||||
**Arc types:**
|
||||
|
||||
- **Positive arc** - Character overcomes flaw, grows
|
||||
- **Negative arc** - Character falls, corrupts
|
||||
- **Flat arc** - Character's beliefs tested but hold
|
||||
- **Transformation** - Character becomes something new
|
||||
|
||||
For major characters:
|
||||
|
||||
- **Starting state** - Who are they at the beginning?
|
||||
- **Transformation moments** - What changes them?
|
||||
- **Ending state** - Who are they at the end?
|
||||
- **Lessons learned**
|
||||
|
||||
Describe the character arcs:"
|
||||
|
||||
### 5. Generate Characters Content
|
||||
|
||||
Based on the conversation, prepare the content:
|
||||
|
||||
```markdown
|
||||
## Characters
|
||||
|
||||
### Protagonist(s)
|
||||
|
||||
#### {{protagonist_name}}
|
||||
|
||||
**Description:** {{description}}
|
||||
|
||||
**Background:** {{background}}
|
||||
|
||||
**Motivation:** {{motivation}}
|
||||
|
||||
**Strengths:** {{strengths}}
|
||||
|
||||
**Flaws:** {{flaws}}
|
||||
|
||||
**Conflicts:**
|
||||
|
||||
- Internal: {{internal_conflict}}
|
||||
- External: {{external_conflict}}
|
||||
|
||||
---
|
||||
|
||||
### Antagonist(s)
|
||||
|
||||
#### {{antagonist_name}}
|
||||
|
||||
**Description:** {{description}}
|
||||
|
||||
**Background:** {{background}}
|
||||
|
||||
**Goals:** {{goals}}
|
||||
|
||||
**Methods:** {{methods}}
|
||||
|
||||
**Relationship to Protagonist:** {{relationship}}
|
||||
|
||||
**Sympathetic Elements:** {{if_any}}
|
||||
|
||||
---
|
||||
|
||||
### Supporting Characters
|
||||
|
||||
{{for_each_supporting_character}}
|
||||
|
||||
#### {{character_name}}
|
||||
|
||||
**Role:** {{role}}
|
||||
**Personality:** {{personality}}
|
||||
**Function:** {{story_function}}
|
||||
**Key Moments:** {{key_scenes}}
|
||||
{{/for_each}}
|
||||
|
||||
---
|
||||
|
||||
## Character Arcs
|
||||
|
||||
### {{character_name}} Arc
|
||||
|
||||
**Starting State:** {{beginning}}
|
||||
|
||||
**Transformation Moments:**
|
||||
{{transformation_points}}
|
||||
|
||||
**Ending State:** {{end}}
|
||||
|
||||
**Lessons Learned:** {{lessons}}
|
||||
|
||||
{{repeat_for_each_major_character}}
|
||||
```
|
||||
|
||||
### 6. Present Content and Menu
|
||||
|
||||
Show the generated content to the user and present:
|
||||
|
||||
"I've documented all characters and their arcs.
|
||||
|
||||
**Here's what I'll add to the document:**
|
||||
|
||||
[Show the complete markdown content from step 5]
|
||||
|
||||
**Character Summary:**
|
||||
|
||||
- Protagonists: {{count}}
|
||||
- Antagonists: {{count}}
|
||||
- Supporting: {{count}}
|
||||
|
||||
**Validation Check:**
|
||||
|
||||
- Do characters connect to your themes?
|
||||
- Are arcs meaningful and complete?
|
||||
- Do relationships create conflict?
|
||||
|
||||
**Select an Option:**
|
||||
[A] Advanced Elicitation - Deep dive into characters
|
||||
[P] Party Mode - Get perspectives on character design
|
||||
[C] Continue - Save this and move to World Building (Step 5 of 11)"
|
||||
|
||||
### 7. Handle Menu Selection
|
||||
|
||||
#### IF A (Advanced Elicitation):
|
||||
|
||||
- Execute {advancedElicitationTask} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF P (Party Mode):
|
||||
|
||||
- Execute {partyModeWorkflow} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF C (Continue):
|
||||
|
||||
- Append the final content to `{outputFile}`
|
||||
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4]`
|
||||
- Load `{nextStepFile}`
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN [C continue option] is selected and [characters content saved with frontmatter updated], will you then load and read fully `{nextStepFile}`.
|
||||
|
||||
---
|
||||
|
||||
## SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### SUCCESS:
|
||||
|
||||
- Protagonists fully developed from user input
|
||||
- Antagonists with clear motivations
|
||||
- Supporting cast defined with functions
|
||||
- Character arcs mapped for major characters
|
||||
- A/P/C menu presented and handled correctly
|
||||
- Frontmatter updated with stepsCompleted: [1, 2, 3, 4]
|
||||
|
||||
### SYSTEM FAILURE:
|
||||
|
||||
- Creating characters without user input
|
||||
- Flat characters without depth
|
||||
- Missing character arcs
|
||||
- Not presenting A/P/C menu after content
|
||||
- Proceeding without user selecting 'C'
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
@@ -0,0 +1,263 @@
|
||||
---
|
||||
name: 'step-05-world'
|
||||
description: 'Build the world including setting, history, factions, and key locations'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/2-design/narrative'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-05-world.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-06-dialogue.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/narrative-design.md'
|
||||
|
||||
# Task References
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
---
|
||||
|
||||
# Step 5: World Building
|
||||
|
||||
**Progress: Step 5 of 11** - Next: Dialogue Systems
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Build the game's world including setting, history/backstory, factions/organizations, and key locations where the narrative unfolds.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- NEVER generate content without user input
|
||||
- CRITICAL: Read the complete step file before taking any action
|
||||
- CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- YOU ARE A FACILITATOR, not a content generator
|
||||
- NEVER mention time estimates
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- You are a narrative design facilitator
|
||||
- World should support and enhance the story
|
||||
- Draw out user's vision of their world
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- FORBIDDEN to create world elements without user input
|
||||
- Connect world to themes and story
|
||||
- Focus on narrative-relevant world-building
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- Show your analysis before taking any action
|
||||
- Present A/P/C menu after generating content
|
||||
- ONLY save when user chooses C (Continue)
|
||||
- Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5]` before loading next step
|
||||
|
||||
## COLLABORATION MENUS (A/P/C):
|
||||
|
||||
- **A (Advanced Elicitation)**: Explore world depth
|
||||
- **P (Party Mode)**: Get perspectives on world-building
|
||||
- **C (Continue)**: Save the content and proceed
|
||||
|
||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
||||
|
||||
### 1. World Overview Discovery
|
||||
|
||||
"**Let's build the world of {{game_name}}.**
|
||||
|
||||
Describe your world:
|
||||
|
||||
- **Setting** - Where and when does this take place?
|
||||
- **World type** - Fantasy, sci-fi, modern, historical, etc.
|
||||
- **World rules** - Magic systems? Technology level? Physical laws?
|
||||
- **Atmosphere** - What mood does the world evoke?
|
||||
- **What makes it unique?**
|
||||
|
||||
Describe the world:"
|
||||
|
||||
### 2. History and Backstory Discovery
|
||||
|
||||
"**What's the history of your world?**
|
||||
|
||||
Consider:
|
||||
|
||||
- **Major historical events** - Wars, discoveries, cataclysms?
|
||||
- **How did the world reach its current state?**
|
||||
- **Legends and myths** - What do people believe?
|
||||
- **Past conflicts** - What shaped the present?
|
||||
- **Secrets** - What is hidden or forgotten?
|
||||
|
||||
Describe the history:"
|
||||
|
||||
### 3. Factions Discovery (Optional)
|
||||
|
||||
"**Are there factions, organizations, or groups?** (Optional)
|
||||
|
||||
If applicable, for each faction:
|
||||
|
||||
- **Name and purpose**
|
||||
- **Leadership and structure**
|
||||
- **Goals and methods**
|
||||
- **Relationships with other factions**
|
||||
- **Role in the story**
|
||||
|
||||
Describe any factions:"
|
||||
|
||||
### 4. Locations Discovery
|
||||
|
||||
"**Describe the key locations in your world.**
|
||||
|
||||
For each significant location:
|
||||
|
||||
- **Name and description**
|
||||
- **Narrative significance** - Why does it matter to the story?
|
||||
- **Atmosphere and mood**
|
||||
- **Key events that occur there**
|
||||
- **Who controls/inhabits it?**
|
||||
|
||||
What are the key locations?"
|
||||
|
||||
### 5. Generate World Content
|
||||
|
||||
Based on the conversation, prepare the content:
|
||||
|
||||
```markdown
|
||||
## World Building
|
||||
|
||||
### World Overview
|
||||
|
||||
**Setting:** {{setting_description}}
|
||||
|
||||
**World Type:** {{world_type}}
|
||||
|
||||
**World Rules:**
|
||||
{{rules_and_systems}}
|
||||
|
||||
**Atmosphere:** {{world_atmosphere}}
|
||||
|
||||
**Unique Elements:** {{what_makes_it_unique}}
|
||||
|
||||
---
|
||||
|
||||
### History and Backstory
|
||||
|
||||
**Timeline Overview:**
|
||||
{{historical_timeline}}
|
||||
|
||||
**Major Events:**
|
||||
{{significant_events}}
|
||||
|
||||
**Legends and Myths:**
|
||||
{{beliefs_and_legends}}
|
||||
|
||||
**Hidden Secrets:**
|
||||
{{world_secrets}}
|
||||
|
||||
---
|
||||
|
||||
### Factions and Organizations
|
||||
|
||||
{{for_each_faction}}
|
||||
|
||||
#### {{faction_name}}
|
||||
|
||||
**Purpose:** {{purpose}}
|
||||
**Leadership:** {{leadership}}
|
||||
**Goals:** {{goals}}
|
||||
**Methods:** {{methods}}
|
||||
**Relationships:** {{faction_relationships}}
|
||||
**Story Role:** {{narrative_function}}
|
||||
{{/for_each}}
|
||||
|
||||
---
|
||||
|
||||
### Key Locations
|
||||
|
||||
{{for_each_location}}
|
||||
|
||||
#### {{location_name}}
|
||||
|
||||
**Description:** {{description}}
|
||||
**Narrative Significance:** {{why_important}}
|
||||
**Atmosphere:** {{mood}}
|
||||
**Key Events:** {{events_here}}
|
||||
**Inhabitants:** {{who_is_here}}
|
||||
{{/for_each}}
|
||||
```
|
||||
|
||||
### 6. Present Content and Menu
|
||||
|
||||
Show the generated content to the user and present:
|
||||
|
||||
"I've documented the world of {{game_name}}.
|
||||
|
||||
**Here's what I'll add to the document:**
|
||||
|
||||
[Show the complete markdown content from step 5]
|
||||
|
||||
**World Summary:**
|
||||
|
||||
- Setting: {{setting}}
|
||||
- Factions: {{count}}
|
||||
- Key locations: {{count}}
|
||||
|
||||
**Validation Check:**
|
||||
|
||||
- Does the world support your themes?
|
||||
- Are locations narratively significant?
|
||||
- Is history relevant to the present story?
|
||||
|
||||
**Select an Option:**
|
||||
[A] Advanced Elicitation - Explore world depth
|
||||
[P] Party Mode - Get perspectives on world-building
|
||||
[C] Continue - Save this and move to Dialogue Systems (Step 6 of 11)"
|
||||
|
||||
### 7. Handle Menu Selection
|
||||
|
||||
#### IF A (Advanced Elicitation):
|
||||
|
||||
- Execute {advancedElicitationTask} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF P (Party Mode):
|
||||
|
||||
- Execute {partyModeWorkflow} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF C (Continue):
|
||||
|
||||
- Append the final content to `{outputFile}`
|
||||
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5]`
|
||||
- Load `{nextStepFile}`
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN [C continue option] is selected and [world content saved with frontmatter updated], will you then load and read fully `{nextStepFile}`.
|
||||
|
||||
---
|
||||
|
||||
## SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### SUCCESS:
|
||||
|
||||
- World setting clearly defined
|
||||
- History connects to current story
|
||||
- Factions developed (if applicable)
|
||||
- Locations are narratively significant
|
||||
- A/P/C menu presented and handled correctly
|
||||
- Frontmatter updated with stepsCompleted: [1, 2, 3, 4, 5]
|
||||
|
||||
### SYSTEM FAILURE:
|
||||
|
||||
- Creating world without user input
|
||||
- World disconnected from story
|
||||
- Generic locations without significance
|
||||
- Not presenting A/P/C menu after content
|
||||
- Proceeding without user selecting 'C'
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
@@ -0,0 +1,251 @@
|
||||
---
|
||||
name: 'step-06-dialogue'
|
||||
description: 'Define dialogue style, key conversations, and branching systems'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/2-design/narrative'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-06-dialogue.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-07-environmental.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/narrative-design.md'
|
||||
|
||||
# Task References
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
---
|
||||
|
||||
# Step 6: Dialogue Systems
|
||||
|
||||
**Progress: Step 6 of 11** - Next: Environmental Storytelling
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Define dialogue style, key conversations, and branching dialogue systems if applicable.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- NEVER generate content without user input
|
||||
- CRITICAL: Read the complete step file before taking any action
|
||||
- CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- YOU ARE A FACILITATOR, not a content generator
|
||||
- NEVER mention time estimates
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- You are a narrative design facilitator
|
||||
- Dialogue is how characters come alive
|
||||
- Style should match tone and setting
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- FORBIDDEN to write dialogue without user direction
|
||||
- Define style and systems, not actual dialogue
|
||||
- Consider technical implementation implications
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- Show your analysis before taking any action
|
||||
- Present A/P/C menu after generating content
|
||||
- ONLY save when user chooses C (Continue)
|
||||
- Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6]` before loading next step
|
||||
|
||||
## COLLABORATION MENUS (A/P/C):
|
||||
|
||||
- **A (Advanced Elicitation)**: Explore dialogue depth
|
||||
- **P (Party Mode)**: Get perspectives on dialogue approach
|
||||
- **C (Continue)**: Save the content and proceed
|
||||
|
||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
||||
|
||||
### 1. Dialogue Style Discovery
|
||||
|
||||
"**Let's define how characters speak in {{game_name}}.**
|
||||
|
||||
**Style considerations:**
|
||||
|
||||
| Aspect | Options |
|
||||
| ------------- | ---------------------------- |
|
||||
| **Formality** | Formal ←→ Casual |
|
||||
| **Period** | Period-appropriate ←→ Modern |
|
||||
| **Length** | Verbose ←→ Concise |
|
||||
| **Humor** | Serious ←→ Comedic |
|
||||
| **Profanity** | None ←→ Heavy |
|
||||
|
||||
**Questions:**
|
||||
|
||||
- How do different characters speak differently?
|
||||
- Are there speech patterns or verbal tics?
|
||||
- What's the overall voice of the game?
|
||||
|
||||
Describe your dialogue style:"
|
||||
|
||||
### 2. Key Conversations Discovery
|
||||
|
||||
"**List key conversations/dialogue moments.**
|
||||
|
||||
For each important conversation:
|
||||
|
||||
- **Who is involved?**
|
||||
- **When does it occur?**
|
||||
- **What's discussed?**
|
||||
- **Narrative purpose** - What does it accomplish?
|
||||
- **Emotional tone**
|
||||
|
||||
What are the key conversations in {{game_name}}?"
|
||||
|
||||
### 3. Branching Dialogue Discovery
|
||||
|
||||
"**Does {{game_name}} have branching dialogue?**
|
||||
|
||||
If yes, describe:
|
||||
|
||||
- **How many branches/paths?**
|
||||
- **What determines branches?** (player choice, stats, flags)
|
||||
- **Do branches converge or stay separate?**
|
||||
- **How much unique dialogue?**
|
||||
- **What are the consequences of choices?**
|
||||
|
||||
Describe your branching system (or indicate N/A):"
|
||||
|
||||
### 4. Generate Dialogue Content
|
||||
|
||||
Based on the conversation, prepare the content:
|
||||
|
||||
```markdown
|
||||
## Dialogue Framework
|
||||
|
||||
### Dialogue Style
|
||||
|
||||
**Overall Voice:** {{dialogue_voice}}
|
||||
|
||||
**Style Elements:**
|
||||
|
||||
- Formality: {{formality_level}}
|
||||
- Period: {{period_style}}
|
||||
- Verbosity: {{verbosity}}
|
||||
- Humor: {{humor_level}}
|
||||
- Profanity: {{profanity_level}}
|
||||
|
||||
**Character Voice Distinctions:**
|
||||
{{how_characters_differ}}
|
||||
|
||||
---
|
||||
|
||||
### Key Conversations
|
||||
|
||||
{{for_each_conversation}}
|
||||
|
||||
#### {{conversation_name}}
|
||||
|
||||
**Participants:** {{who}}
|
||||
**When:** {{timing}}
|
||||
**Topic:** {{what_discussed}}
|
||||
**Purpose:** {{narrative_function}}
|
||||
**Tone:** {{emotional_tone}}
|
||||
{{/for_each}}
|
||||
|
||||
---
|
||||
|
||||
### Branching Dialogue System
|
||||
|
||||
{{if_branching}}
|
||||
**System Type:** {{branching_type}}
|
||||
|
||||
**Branch Triggers:** {{what_causes_branches}}
|
||||
|
||||
**Branch Scope:**
|
||||
|
||||
- Total branches: {{branch_count}}
|
||||
- Convergence: {{do_they_converge}}
|
||||
- Unique content: {{percentage_unique}}
|
||||
|
||||
**Consequence System:**
|
||||
{{how_choices_matter}}
|
||||
{{/if_branching}}
|
||||
|
||||
{{if_not_branching}}
|
||||
**System:** Linear dialogue
|
||||
**Notes:** {{why_linear}}
|
||||
{{/if_not_branching}}
|
||||
```
|
||||
|
||||
### 5. Present Content and Menu
|
||||
|
||||
Show the generated content to the user and present:
|
||||
|
||||
"I've documented the dialogue framework.
|
||||
|
||||
**Here's what I'll add to the document:**
|
||||
|
||||
[Show the complete markdown content from step 4]
|
||||
|
||||
**Dialogue Summary:**
|
||||
|
||||
- Style: {{style_summary}}
|
||||
- Key conversations: {{count}}
|
||||
- Branching: {{yes_no}}
|
||||
|
||||
**Validation Check:**
|
||||
|
||||
- Does style match your tone?
|
||||
- Are key conversations identified?
|
||||
- Is branching scope realistic?
|
||||
|
||||
**Select an Option:**
|
||||
[A] Advanced Elicitation - Explore dialogue depth
|
||||
[P] Party Mode - Get perspectives on dialogue approach
|
||||
[C] Continue - Save this and move to Environmental Storytelling (Step 7 of 11)"
|
||||
|
||||
### 6. Handle Menu Selection
|
||||
|
||||
#### IF A (Advanced Elicitation):
|
||||
|
||||
- Execute {advancedElicitationTask} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF P (Party Mode):
|
||||
|
||||
- Execute {partyModeWorkflow} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF C (Continue):
|
||||
|
||||
- Append the final content to `{outputFile}`
|
||||
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6]`
|
||||
- Load `{nextStepFile}`
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN [C continue option] is selected and [dialogue content saved with frontmatter updated], will you then load and read fully `{nextStepFile}`.
|
||||
|
||||
---
|
||||
|
||||
## SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### SUCCESS:
|
||||
|
||||
- Dialogue style clearly defined
|
||||
- Key conversations identified
|
||||
- Branching system documented (if applicable)
|
||||
- Style matches game tone
|
||||
- A/P/C menu presented and handled correctly
|
||||
- Frontmatter updated with stepsCompleted: [1, 2, 3, 4, 5, 6]
|
||||
|
||||
### SYSTEM FAILURE:
|
||||
|
||||
- Writing actual dialogue without direction
|
||||
- Style disconnected from tone
|
||||
- Missing branching documentation
|
||||
- Not presenting A/P/C menu after content
|
||||
- Proceeding without user selecting 'C'
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
@@ -0,0 +1,245 @@
|
||||
---
|
||||
name: 'step-07-environmental'
|
||||
description: 'Plan environmental storytelling including visual, audio, and found documents'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/2-design/narrative'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-07-environmental.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-08-delivery.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/narrative-design.md'
|
||||
|
||||
# Task References
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
---
|
||||
|
||||
# Step 7: Environmental Storytelling
|
||||
|
||||
**Progress: Step 7 of 11** - Next: Narrative Delivery
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Define how story is told through the environment: visual storytelling, audio storytelling, and found documents/collectibles.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- NEVER generate content without user input
|
||||
- CRITICAL: Read the complete step file before taking any action
|
||||
- CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- YOU ARE A FACILITATOR, not a content generator
|
||||
- NEVER mention time estimates
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- You are a narrative design facilitator
|
||||
- Show, don't tell - environmental storytelling is powerful
|
||||
- Help user think beyond dialogue
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- FORBIDDEN to design environmental narrative without user input
|
||||
- Connect environmental elements to story
|
||||
- Consider implementation effort
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- Show your analysis before taking any action
|
||||
- Present A/P/C menu after generating content
|
||||
- ONLY save when user chooses C (Continue)
|
||||
- Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6, 7]` before loading next step
|
||||
|
||||
## COLLABORATION MENUS (A/P/C):
|
||||
|
||||
- **A (Advanced Elicitation)**: Explore environmental depth
|
||||
- **P (Party Mode)**: Get perspectives on environmental storytelling
|
||||
- **C (Continue)**: Save the content and proceed
|
||||
|
||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
||||
|
||||
### 1. Visual Storytelling Discovery
|
||||
|
||||
"**How will you tell story through visuals in {{game_name}}?**
|
||||
|
||||
**Visual storytelling elements:**
|
||||
|
||||
- **Set dressing and props** - What objects tell stories?
|
||||
- **Environmental damage/aftermath** - What happened here?
|
||||
- **Visual symbolism** - Recurring images with meaning
|
||||
- **Color and lighting** - Mood and meaning through visuals
|
||||
- **Character design details** - What do appearances reveal?
|
||||
|
||||
How will visuals tell story in {{game_name}}?"
|
||||
|
||||
### 2. Audio Storytelling Discovery
|
||||
|
||||
"**How will audio contribute to storytelling?**
|
||||
|
||||
**Audio storytelling elements:**
|
||||
|
||||
- **Ambient sounds** - What do players hear in the world?
|
||||
- **Music emotional cues** - How does music guide feeling?
|
||||
- **Voice acting** - How is it used beyond dialogue?
|
||||
- **Audio logs/recordings** - Found audio content?
|
||||
- **Sound design** - Sounds that carry meaning
|
||||
|
||||
How will audio tell story in {{game_name}}?"
|
||||
|
||||
### 3. Found Documents Discovery
|
||||
|
||||
"**Will you have found documents?** (Journals, notes, emails, etc.)
|
||||
|
||||
If yes, describe:
|
||||
|
||||
- **Types of documents** - What forms do they take?
|
||||
- **How many** - Approximate count
|
||||
- **What they reveal** - Backstory? World-building? Character?
|
||||
- **Optional vs required** - Must players find them?
|
||||
- **Reward for finding** - Achievement? Story unlock? Lore only?
|
||||
|
||||
Describe your found documents (or indicate N/A):"
|
||||
|
||||
### 4. Generate Environmental Content
|
||||
|
||||
Based on the conversation, prepare the content:
|
||||
|
||||
```markdown
|
||||
## Environmental Storytelling
|
||||
|
||||
### Visual Storytelling
|
||||
|
||||
**Set Dressing:**
|
||||
{{set_dressing_approach}}
|
||||
|
||||
**Environmental Details:**
|
||||
{{environmental_storytelling_examples}}
|
||||
|
||||
**Visual Symbolism:**
|
||||
{{symbolic_elements}}
|
||||
|
||||
**Color and Lighting:**
|
||||
{{color_lighting_approach}}
|
||||
|
||||
---
|
||||
|
||||
### Audio Storytelling
|
||||
|
||||
**Ambient Design:**
|
||||
{{ambient_sound_approach}}
|
||||
|
||||
**Music Integration:**
|
||||
{{music_storytelling}}
|
||||
|
||||
**Voice Elements:**
|
||||
{{voice_beyond_dialogue}}
|
||||
|
||||
**Sound Design Narrative:**
|
||||
{{meaningful_sounds}}
|
||||
|
||||
---
|
||||
|
||||
### Found Documents
|
||||
|
||||
{{if_has_documents}}
|
||||
**Document Types:**
|
||||
{{document_types}}
|
||||
|
||||
**Quantity:** {{approximate_count}}
|
||||
|
||||
**Content Focus:**
|
||||
{{what_documents_reveal}}
|
||||
|
||||
**Discovery:**
|
||||
|
||||
- Required: {{required_documents}}
|
||||
- Optional: {{optional_documents}}
|
||||
|
||||
**Rewards:** {{finding_rewards}}
|
||||
{{/if_has_documents}}
|
||||
|
||||
{{if_no_documents}}
|
||||
**Approach:** No found documents
|
||||
**Rationale:** {{why_no_documents}}
|
||||
{{/if_no_documents}}
|
||||
```
|
||||
|
||||
### 5. Present Content and Menu
|
||||
|
||||
Show the generated content to the user and present:
|
||||
|
||||
"I've documented the environmental storytelling approach.
|
||||
|
||||
**Here's what I'll add to the document:**
|
||||
|
||||
[Show the complete markdown content from step 4]
|
||||
|
||||
**Environmental Summary:**
|
||||
|
||||
- Visual elements: Defined
|
||||
- Audio elements: Defined
|
||||
- Found documents: {{yes_no}}
|
||||
|
||||
**Validation Check:**
|
||||
|
||||
- Does visual storytelling match your world?
|
||||
- Is audio approach realistic for scope?
|
||||
- Are found documents well-integrated?
|
||||
|
||||
**Select an Option:**
|
||||
[A] Advanced Elicitation - Explore environmental depth
|
||||
[P] Party Mode - Get perspectives on environmental storytelling
|
||||
[C] Continue - Save this and move to Narrative Delivery (Step 8 of 11)"
|
||||
|
||||
### 6. Handle Menu Selection
|
||||
|
||||
#### IF A (Advanced Elicitation):
|
||||
|
||||
- Execute {advancedElicitationTask} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF P (Party Mode):
|
||||
|
||||
- Execute {partyModeWorkflow} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF C (Continue):
|
||||
|
||||
- Append the final content to `{outputFile}`
|
||||
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6, 7]`
|
||||
- Load `{nextStepFile}`
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN [C continue option] is selected and [environmental content saved with frontmatter updated], will you then load and read fully `{nextStepFile}`.
|
||||
|
||||
---
|
||||
|
||||
## SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### SUCCESS:
|
||||
|
||||
- Visual storytelling approach defined
|
||||
- Audio storytelling integrated
|
||||
- Found documents documented (if applicable)
|
||||
- Elements connect to story themes
|
||||
- A/P/C menu presented and handled correctly
|
||||
- Frontmatter updated with stepsCompleted: [1, 2, 3, 4, 5, 6, 7]
|
||||
|
||||
### SYSTEM FAILURE:
|
||||
|
||||
- Creating environmental details without user input
|
||||
- Elements disconnected from story
|
||||
- Missing audio considerations
|
||||
- Not presenting A/P/C menu after content
|
||||
- Proceeding without user selecting 'C'
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
@@ -0,0 +1,265 @@
|
||||
---
|
||||
name: 'step-08-delivery'
|
||||
description: 'Design narrative delivery methods including cutscenes, in-game storytelling, and endings'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/2-design/narrative'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-08-delivery.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-09-integration.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/narrative-design.md'
|
||||
|
||||
# Task References
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
---
|
||||
|
||||
# Step 8: Narrative Delivery
|
||||
|
||||
**Progress: Step 8 of 11** - Next: Gameplay Integration
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Define how narrative content is delivered to players: cutscenes, in-game storytelling, optional content, and ending structures.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- NEVER generate content without user input
|
||||
- CRITICAL: Read the complete step file before taking any action
|
||||
- CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- YOU ARE A FACILITATOR, not a content generator
|
||||
- NEVER mention time estimates
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- You are a narrative design facilitator
|
||||
- Delivery method affects player experience
|
||||
- Balance story delivery with gameplay
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- FORBIDDEN to decide delivery without user input
|
||||
- Consider production effort for each method
|
||||
- Match delivery to game type
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- Show your analysis before taking any action
|
||||
- Present A/P/C menu after generating content
|
||||
- ONLY save when user chooses C (Continue)
|
||||
- Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8]` before loading next step
|
||||
|
||||
## COLLABORATION MENUS (A/P/C):
|
||||
|
||||
- **A (Advanced Elicitation)**: Explore delivery methods
|
||||
- **P (Party Mode)**: Get perspectives on delivery approach
|
||||
- **C (Continue)**: Save the content and proceed
|
||||
|
||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
||||
|
||||
### 1. Cutscenes Discovery
|
||||
|
||||
"**How will you use cutscenes in {{game_name}}?**
|
||||
|
||||
**Cutscene considerations:**
|
||||
|
||||
- **Quantity** - How many major cutscenes?
|
||||
- **Length** - Average duration?
|
||||
- **Style** - Real-time rendered? Pre-rendered? Animated?
|
||||
- **Skippable** - Can players skip?
|
||||
- **Interactive** - Any QTEs or choices during cutscenes?
|
||||
|
||||
Describe your cutscene approach:"
|
||||
|
||||
### 2. In-Game Storytelling Discovery
|
||||
|
||||
"**How will story be delivered during gameplay?**
|
||||
|
||||
**In-game storytelling methods:**
|
||||
|
||||
- **NPC conversations** - Talking to characters
|
||||
- **Radio/comm chatter** - Voice in player's ear
|
||||
- **Environmental cues** - Reading the world
|
||||
- **Player actions** - Story through doing
|
||||
- **UI elements** - Quest logs, journals, etc.
|
||||
|
||||
**Balance considerations:**
|
||||
|
||||
- Show vs. tell - How much is shown vs. explained?
|
||||
- Interruption tolerance - How often stop for story?
|
||||
- Player control - Can players skip/speed up?
|
||||
|
||||
How will you deliver story during gameplay?"
|
||||
|
||||
### 3. Optional Content Discovery
|
||||
|
||||
"**What narrative content is optional?**
|
||||
|
||||
**Optional content types:**
|
||||
|
||||
- **Side quests** - Optional story missions
|
||||
- **Collectible lore** - World-building items
|
||||
- **Optional conversations** - Extra NPC dialogue
|
||||
- **Secret endings** - Hidden conclusions
|
||||
- **Extended content** - Post-game, NG+, DLC hooks
|
||||
|
||||
What optional narrative content will {{game_name}} have?"
|
||||
|
||||
### 4. Endings Discovery
|
||||
|
||||
"**If your game has multiple endings, describe them.**
|
||||
|
||||
**Ending considerations:**
|
||||
|
||||
- **How many endings?**
|
||||
- **What determines the ending?** (choices, stats, completion)
|
||||
- **Ending variety** - Minor variations vs. drastically different
|
||||
- **True/golden ending** - Is there a "best" ending?
|
||||
- **Replayability** - Can players see all endings?
|
||||
|
||||
Describe your ending structure (or indicate single ending):"
|
||||
|
||||
### 5. Generate Delivery Content
|
||||
|
||||
Based on the conversation, prepare the content:
|
||||
|
||||
```markdown
|
||||
## Narrative Delivery
|
||||
|
||||
### Cutscenes
|
||||
|
||||
**Quantity:** {{cutscene_count}}
|
||||
**Average Length:** {{typical_duration}}
|
||||
**Style:** {{cutscene_style}}
|
||||
**Skippable:** {{yes_no}}
|
||||
**Interactive Elements:** {{if_any}}
|
||||
|
||||
**Major Cutscenes:**
|
||||
{{list_of_major_cutscenes}}
|
||||
|
||||
---
|
||||
|
||||
### In-Game Storytelling
|
||||
|
||||
**Primary Methods:**
|
||||
{{delivery_methods_list}}
|
||||
|
||||
**Show vs. Tell Balance:** {{balance_description}}
|
||||
|
||||
**Interruption Approach:** {{how_often_story_stops_gameplay}}
|
||||
|
||||
**Player Control:** {{skip_speedup_options}}
|
||||
|
||||
---
|
||||
|
||||
### Optional Content
|
||||
|
||||
{{for_each_optional_type}}
|
||||
**{{content_type}}:**
|
||||
{{description_and_scope}}
|
||||
{{/for_each}}
|
||||
|
||||
---
|
||||
|
||||
### Ending Structure
|
||||
|
||||
{{if_multiple_endings}}
|
||||
**Number of Endings:** {{ending_count}}
|
||||
|
||||
**Ending Triggers:** {{what_determines_ending}}
|
||||
|
||||
**Ending Variety:**
|
||||
{{description_of_differences}}
|
||||
|
||||
**True Ending:** {{if_exists}}
|
||||
|
||||
**Replayability:** {{how_to_see_all}}
|
||||
{{/if_multiple_endings}}
|
||||
|
||||
{{if_single_ending}}
|
||||
**Ending Type:** Single ending
|
||||
**Description:** {{ending_approach}}
|
||||
{{/if_single_ending}}
|
||||
```
|
||||
|
||||
### 6. Present Content and Menu
|
||||
|
||||
Show the generated content to the user and present:
|
||||
|
||||
"I've documented the narrative delivery approach.
|
||||
|
||||
**Here's what I'll add to the document:**
|
||||
|
||||
[Show the complete markdown content from step 5]
|
||||
|
||||
**Delivery Summary:**
|
||||
|
||||
- Cutscenes: {{count_or_none}}
|
||||
- In-game methods: {{methods_list}}
|
||||
- Optional content: {{types}}
|
||||
- Endings: {{single_or_multiple}}
|
||||
|
||||
**Validation Check:**
|
||||
|
||||
- Is delivery method realistic for scope?
|
||||
- Does it match your narrative complexity?
|
||||
- Are endings meaningful?
|
||||
|
||||
**Select an Option:**
|
||||
[A] Advanced Elicitation - Explore delivery methods
|
||||
[P] Party Mode - Get perspectives on delivery approach
|
||||
[C] Continue - Save this and move to Gameplay Integration (Step 9 of 11)"
|
||||
|
||||
### 7. Handle Menu Selection
|
||||
|
||||
#### IF A (Advanced Elicitation):
|
||||
|
||||
- Execute {advancedElicitationTask} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF P (Party Mode):
|
||||
|
||||
- Execute {partyModeWorkflow} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF C (Continue):
|
||||
|
||||
- Append the final content to `{outputFile}`
|
||||
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8]`
|
||||
- Load `{nextStepFile}`
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN [C continue option] is selected and [delivery content saved with frontmatter updated], will you then load and read fully `{nextStepFile}`.
|
||||
|
||||
---
|
||||
|
||||
## SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### SUCCESS:
|
||||
|
||||
- Cutscene approach defined
|
||||
- In-game delivery methods established
|
||||
- Optional content scoped
|
||||
- Ending structure documented
|
||||
- A/P/C menu presented and handled correctly
|
||||
- Frontmatter updated with stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8]
|
||||
|
||||
### SYSTEM FAILURE:
|
||||
|
||||
- Deciding delivery without user input
|
||||
- Methods unrealistic for scope
|
||||
- Missing ending documentation
|
||||
- Not presenting A/P/C menu after content
|
||||
- Proceeding without user selecting 'C'
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
@@ -0,0 +1,255 @@
|
||||
---
|
||||
name: 'step-09-integration'
|
||||
description: 'Define how narrative integrates with gameplay including gating, agency, and ludonarrative harmony'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/2-design/narrative'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-09-integration.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-10-production.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/narrative-design.md'
|
||||
|
||||
# Task References
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
---
|
||||
|
||||
# Step 9: Gameplay Integration
|
||||
|
||||
**Progress: Step 9 of 11** - Next: Production Planning
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Define how narrative integrates with gameplay: story-gameplay connection, progression gating, and player agency within the narrative.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- NEVER generate content without user input
|
||||
- CRITICAL: Read the complete step file before taking any action
|
||||
- CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- YOU ARE A FACILITATOR, not a content generator
|
||||
- NEVER mention time estimates
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- You are a narrative design facilitator
|
||||
- Ludonarrative harmony matters
|
||||
- Story and gameplay should reinforce each other
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- FORBIDDEN to design integration without user input
|
||||
- Consider player experience flow
|
||||
- Address potential ludonarrative dissonance
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- Show your analysis before taking any action
|
||||
- Present A/P/C menu after generating content
|
||||
- ONLY save when user chooses C (Continue)
|
||||
- Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9]` before loading next step
|
||||
|
||||
## COLLABORATION MENUS (A/P/C):
|
||||
|
||||
- **A (Advanced Elicitation)**: Explore integration depth
|
||||
- **P (Party Mode)**: Get perspectives on integration
|
||||
- **C (Continue)**: Save the content and proceed
|
||||
|
||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
||||
|
||||
### 1. Narrative-Gameplay Connection Discovery
|
||||
|
||||
"**How does narrative integrate with gameplay in {{game_name}}?**
|
||||
|
||||
**Integration questions:**
|
||||
|
||||
- Does story unlock new mechanics or abilities?
|
||||
- Do mechanics reflect the themes?
|
||||
- Is there harmony between what player DOES and what story SAYS?
|
||||
- What's the balance of story vs. gameplay sections?
|
||||
|
||||
**Ludonarrative consideration:**
|
||||
Games work best when mechanics and narrative tell the same story. A game about pacifism shouldn't require combat.
|
||||
|
||||
Describe how narrative and gameplay connect:"
|
||||
|
||||
### 2. Story Gating Discovery
|
||||
|
||||
"**How does story gate progression?**
|
||||
|
||||
**Gating types:**
|
||||
|
||||
- **Hard gates** - Must complete story to proceed
|
||||
- **Soft gates** - Story available but optional
|
||||
- **Skill gates** - Narrative rewards for mastery
|
||||
- **Exploration gates** - Story found through exploring
|
||||
|
||||
**Questions:**
|
||||
|
||||
- What areas are story-locked?
|
||||
- What triggers cutscenes?
|
||||
- What story beats are mandatory?
|
||||
- What's optional vs. required?
|
||||
|
||||
How does story gate progress in {{game_name}}?"
|
||||
|
||||
### 3. Player Agency Discovery
|
||||
|
||||
"**How much narrative agency does the player have?**
|
||||
|
||||
**Agency spectrum:**
|
||||
|
||||
- **Full agency** - Player creates their own story
|
||||
- **Meaningful choices** - Player shapes outcomes
|
||||
- **Flavor choices** - Player affects tone, not outcome
|
||||
- **Witness** - Player observes a fixed story
|
||||
|
||||
**Questions:**
|
||||
|
||||
- Can player affect the story?
|
||||
- Are choices meaningful or cosmetic?
|
||||
- How much role-playing freedom?
|
||||
- Is the narrative predetermined or dynamic?
|
||||
|
||||
Describe player agency in {{game_name}}:"
|
||||
|
||||
### 4. Generate Integration Content
|
||||
|
||||
Based on the conversation, prepare the content:
|
||||
|
||||
```markdown
|
||||
## Gameplay Integration
|
||||
|
||||
### Narrative-Gameplay Connection
|
||||
|
||||
**Integration Approach:**
|
||||
{{integration_description}}
|
||||
|
||||
**Mechanic-Theme Alignment:**
|
||||
{{how_mechanics_reflect_themes}}
|
||||
|
||||
**Story-Gameplay Balance:**
|
||||
{{balance_description}}
|
||||
|
||||
**Ludonarrative Considerations:**
|
||||
{{harmony_or_dissonance_notes}}
|
||||
|
||||
---
|
||||
|
||||
### Story Gating
|
||||
|
||||
**Gating Approach:** {{gating_type}}
|
||||
|
||||
**Story-Locked Elements:**
|
||||
{{what_requires_story_progress}}
|
||||
|
||||
**Cutscene Triggers:**
|
||||
{{when_cutscenes_play}}
|
||||
|
||||
**Mandatory Story Beats:**
|
||||
{{required_narrative_content}}
|
||||
|
||||
**Optional Narrative:**
|
||||
{{skippable_content}}
|
||||
|
||||
---
|
||||
|
||||
### Player Agency
|
||||
|
||||
**Agency Level:** {{agency_type}}
|
||||
|
||||
**Player Influence:**
|
||||
{{what_player_can_affect}}
|
||||
|
||||
**Choice System:**
|
||||
{{if_has_choices}}
|
||||
|
||||
- Choice types: {{choice_types}}
|
||||
- Consequence scope: {{how_choices_matter}}
|
||||
- Timing: {{when_choices_occur}}
|
||||
{{/if_has_choices}}
|
||||
|
||||
**Role-Playing Freedom:**
|
||||
{{roleplay_options}}
|
||||
```
|
||||
|
||||
### 5. Present Content and Menu
|
||||
|
||||
Show the generated content to the user and present:
|
||||
|
||||
"I've documented the gameplay-narrative integration.
|
||||
|
||||
**Here's what I'll add to the document:**
|
||||
|
||||
[Show the complete markdown content from step 4]
|
||||
|
||||
**Integration Summary:**
|
||||
|
||||
- Connection: {{integration_type}}
|
||||
- Gating: {{gating_approach}}
|
||||
- Agency: {{agency_level}}
|
||||
|
||||
**Validation Check:**
|
||||
|
||||
- Do mechanics support themes?
|
||||
- Is gating appropriate for your game?
|
||||
- Is agency level what you want?
|
||||
|
||||
**Select an Option:**
|
||||
[A] Advanced Elicitation - Explore integration depth
|
||||
[P] Party Mode - Get perspectives on integration
|
||||
[C] Continue - Save this and move to Production Planning (Step 10 of 11)"
|
||||
|
||||
### 6. Handle Menu Selection
|
||||
|
||||
#### IF A (Advanced Elicitation):
|
||||
|
||||
- Execute {advancedElicitationTask} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF P (Party Mode):
|
||||
|
||||
- Execute {partyModeWorkflow} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF C (Continue):
|
||||
|
||||
- Append the final content to `{outputFile}`
|
||||
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9]`
|
||||
- Load `{nextStepFile}`
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN [C continue option] is selected and [integration content saved with frontmatter updated], will you then load and read fully `{nextStepFile}`.
|
||||
|
||||
---
|
||||
|
||||
## SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### SUCCESS:
|
||||
|
||||
- Narrative-gameplay connection defined
|
||||
- Gating structure documented
|
||||
- Player agency level established
|
||||
- Ludonarrative harmony considered
|
||||
- A/P/C menu presented and handled correctly
|
||||
- Frontmatter updated with stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9]
|
||||
|
||||
### SYSTEM FAILURE:
|
||||
|
||||
- Designing integration without user input
|
||||
- Ignoring ludonarrative harmony
|
||||
- Missing agency documentation
|
||||
- Not presenting A/P/C menu after content
|
||||
- Proceeding without user selecting 'C'
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
@@ -0,0 +1,263 @@
|
||||
---
|
||||
name: 'step-10-production'
|
||||
description: 'Plan production scope including writing estimates, localization, and voice acting'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/2-design/narrative'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-10-production.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-11-complete.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/narrative-design.md'
|
||||
|
||||
# Task References
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
---
|
||||
|
||||
# Step 10: Production Planning
|
||||
|
||||
**Progress: Step 10 of 11** - Next: Complete
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Plan the production scope for narrative content: writing scope estimates, localization considerations, and voice acting plans.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- NEVER generate content without user input
|
||||
- CRITICAL: Read the complete step file before taking any action
|
||||
- CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- YOU ARE A FACILITATOR, not a content generator
|
||||
- NEVER mention time estimates
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- You are a narrative design facilitator
|
||||
- Production planning ensures realistic scope
|
||||
- Help user understand what they're committing to
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- FORBIDDEN to estimate scope without user input
|
||||
- Help user think through production needs
|
||||
- Be realistic about effort required
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- Show your analysis before taking any action
|
||||
- Present A/P/C menu after generating content
|
||||
- ONLY save when user chooses C (Continue)
|
||||
- Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]` before loading next step
|
||||
|
||||
## COLLABORATION MENUS (A/P/C):
|
||||
|
||||
- **A (Advanced Elicitation)**: Explore production details
|
||||
- **P (Party Mode)**: Get perspectives on scope
|
||||
- **C (Continue)**: Save the content and proceed
|
||||
|
||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
||||
|
||||
### 1. Writing Scope Discovery
|
||||
|
||||
"**Let's estimate the writing scope for {{game_name}}.**
|
||||
|
||||
**Scope elements:**
|
||||
|
||||
- **Word count estimate** - Total written content
|
||||
- **Scene/chapter count** - Major narrative sections
|
||||
- **Dialogue lines** - Approximate line count
|
||||
- **Branching complexity** - How much unique content per path?
|
||||
|
||||
**For reference:**
|
||||
|
||||
- Light narrative game: ~5,000-15,000 words
|
||||
- Moderate narrative: ~15,000-50,000 words
|
||||
- Heavy narrative: ~50,000-150,000 words
|
||||
- Story-driven/Visual novel: 100,000+ words
|
||||
|
||||
Estimate your writing scope:"
|
||||
|
||||
### 2. Localization Discovery
|
||||
|
||||
"**Are you planning localization?**
|
||||
|
||||
**Localization considerations:**
|
||||
|
||||
- **Target languages** - Which languages?
|
||||
- **Cultural adaptation** - What needs to change per region?
|
||||
- **Text expansion** - Some languages use 30% more space
|
||||
- **UI implications** - Can UI handle longer text?
|
||||
- **Audio implications** - Will you dub or subtitle?
|
||||
|
||||
Describe your localization plans (or indicate English-only):"
|
||||
|
||||
### 3. Voice Acting Discovery
|
||||
|
||||
"**What are your voice acting plans?**
|
||||
|
||||
**Voice acting scope:**
|
||||
|
||||
- **Fully voiced** - All dialogue recorded
|
||||
- **Partially voiced** - Key scenes only
|
||||
- **Grunts/barks only** - No full dialogue
|
||||
- **Text only** - No voice acting
|
||||
|
||||
**If voiced:**
|
||||
|
||||
- Number of characters needing voices?
|
||||
- Approximate dialogue volume?
|
||||
- Professional or placeholder voices?
|
||||
|
||||
Describe your voice acting approach:"
|
||||
|
||||
### 4. Generate Production Content
|
||||
|
||||
Based on the conversation, prepare the content:
|
||||
|
||||
```markdown
|
||||
## Production Planning
|
||||
|
||||
### Writing Scope
|
||||
|
||||
**Estimated Word Count:** {{word_count}}
|
||||
|
||||
**Content Breakdown:**
|
||||
|
||||
- Main story: {{main_story_words}}
|
||||
- Side content: {{side_content_words}}
|
||||
- Environmental/lore: {{lore_words}}
|
||||
- UI/system text: {{ui_words}}
|
||||
|
||||
**Scene Count:** {{scene_count}}
|
||||
|
||||
**Dialogue Lines:** {{line_count}}
|
||||
|
||||
**Branching Complexity:**
|
||||
{{branching_impact_on_scope}}
|
||||
|
||||
---
|
||||
|
||||
### Localization
|
||||
|
||||
{{if_localizing}}
|
||||
**Target Languages:**
|
||||
{{language_list}}
|
||||
|
||||
**Cultural Adaptation Notes:**
|
||||
{{adaptation_needs}}
|
||||
|
||||
**Technical Considerations:**
|
||||
|
||||
- Text expansion buffer: {{percentage}}
|
||||
- UI flexibility: {{notes}}
|
||||
- Audio approach: {{dub_or_subtitle}}
|
||||
{{/if_localizing}}
|
||||
|
||||
{{if_english_only}}
|
||||
**Approach:** English only
|
||||
**Future consideration:** {{maybe_later_notes}}
|
||||
{{/if_english_only}}
|
||||
|
||||
---
|
||||
|
||||
### Voice Acting
|
||||
|
||||
**Approach:** {{voice_acting_level}}
|
||||
|
||||
{{if_voiced}}
|
||||
**Characters Needing Voices:** {{character_count}}
|
||||
|
||||
**Dialogue Volume:** {{line_count_for_recording}}
|
||||
|
||||
**Voice Cast Notes:**
|
||||
{{casting_considerations}}
|
||||
|
||||
**Recording Approach:**
|
||||
{{professional_or_placeholder}}
|
||||
{{/if_voiced}}
|
||||
|
||||
{{if_not_voiced}}
|
||||
**Rationale:** {{why_no_voice}}
|
||||
{{/if_not_voiced}}
|
||||
```
|
||||
|
||||
### 5. Present Content and Menu
|
||||
|
||||
Show the generated content to the user and present:
|
||||
|
||||
"I've documented the production planning.
|
||||
|
||||
**Here's what I'll add to the document:**
|
||||
|
||||
[Show the complete markdown content from step 4]
|
||||
|
||||
**Production Summary:**
|
||||
|
||||
- Writing: ~{{word_count}} words
|
||||
- Localization: {{languages_or_none}}
|
||||
- Voice acting: {{level}}
|
||||
|
||||
**Validation Check:**
|
||||
|
||||
- Is scope realistic for your resources?
|
||||
- Have you considered all production needs?
|
||||
- Are localization needs addressed?
|
||||
|
||||
**Select an Option:**
|
||||
[A] Advanced Elicitation - Explore production details
|
||||
[P] Party Mode - Get perspectives on scope
|
||||
[C] Continue - Save this and move to Completion (Step 11 of 11)"
|
||||
|
||||
### 6. Handle Menu Selection
|
||||
|
||||
#### IF A (Advanced Elicitation):
|
||||
|
||||
- Execute {advancedElicitationTask} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF P (Party Mode):
|
||||
|
||||
- Execute {partyModeWorkflow} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF C (Continue):
|
||||
|
||||
- Append the final content to `{outputFile}`
|
||||
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]`
|
||||
- Load `{nextStepFile}`
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN [C continue option] is selected and [production content saved with frontmatter updated], will you then load and read fully `{nextStepFile}`.
|
||||
|
||||
---
|
||||
|
||||
## SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### SUCCESS:
|
||||
|
||||
- Writing scope estimated
|
||||
- Localization needs addressed
|
||||
- Voice acting approach defined
|
||||
- Realistic production expectations set
|
||||
- A/P/C menu presented and handled correctly
|
||||
- Frontmatter updated with stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
|
||||
|
||||
### SYSTEM FAILURE:
|
||||
|
||||
- Estimating scope without user input
|
||||
- Missing major production considerations
|
||||
- Unrealistic expectations set
|
||||
- Not presenting A/P/C menu after content
|
||||
- Proceeding without user selecting 'C'
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
@@ -0,0 +1,332 @@
|
||||
---
|
||||
name: 'step-11-complete'
|
||||
description: 'Complete the narrative workflow with final summary, visualizations, and handoff'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/2-design/narrative'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-11-complete.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/narrative-design.md'
|
||||
|
||||
# Handoff References
|
||||
architectureWorkflow: '{project-root}/_bmad/bmgd/workflows/3-technical/game-architecture/workflow.yaml'
|
||||
---
|
||||
|
||||
# Step 11: Complete
|
||||
|
||||
**Progress: Step 11 of 11** - Narrative Design Complete!
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Generate final visualizations (character relationships, timeline), capture references, update workflow status, and provide clear handoff guidance.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- NEVER generate content without user input
|
||||
- CRITICAL: Read the complete step file before taking any action
|
||||
- YOU ARE A FACILITATOR, not a content generator
|
||||
- NEVER mention time estimates
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- You are a narrative design facilitator
|
||||
- This is the final step - ensure completeness
|
||||
- Provide actionable next steps
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- Generate relationship map from characters defined
|
||||
- Generate timeline from story beats
|
||||
- Capture any references user wants to note
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- Show your analysis before taking any action
|
||||
- Generate final visualizations
|
||||
- Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]`
|
||||
- Present completion summary and next steps
|
||||
|
||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
||||
|
||||
### 1. Generate Character Relationship Map
|
||||
|
||||
**Create text-based relationship visualization:**
|
||||
|
||||
Based on all characters documented, generate:
|
||||
|
||||
```markdown
|
||||
## Appendix: Character Relationships
|
||||
|
||||
### Relationship Map
|
||||
```
|
||||
|
||||
[ANTAGONIST]
|
||||
|
|
||||
(opposes)
|
||||
|
|
||||
[MENTOR] ---(guides)--- [PROTAGONIST] ---(allies)--- [COMPANION]
|
||||
|
|
||||
(romantic)
|
||||
|
|
||||
[LOVE INTEREST]
|
||||
|
||||
```
|
||||
|
||||
### Relationship Key
|
||||
|
||||
- {{character_1}} → {{character_2}}: {{relationship_type}}
|
||||
- {{character_2}} → {{character_3}}: {{relationship_type}}
|
||||
{{continue_for_all_relationships}}
|
||||
```
|
||||
|
||||
### 2. Generate Story Timeline
|
||||
|
||||
**Create timeline visualization:**
|
||||
|
||||
Based on story beats documented, generate:
|
||||
|
||||
```markdown
|
||||
## Appendix: Story Timeline
|
||||
|
||||
### Chronological Events
|
||||
```
|
||||
|
||||
[BACKSTORY]
|
||||
|
|
||||
v
|
||||
[ACT 1: SETUP]
|
||||
├── {{beat_1}}
|
||||
├── {{beat_2}}
|
||||
└── {{inciting_incident}}
|
||||
|
|
||||
v
|
||||
[ACT 2: CONFRONTATION]
|
||||
├── {{beat_3}}
|
||||
├── {{midpoint}}
|
||||
├── {{beat_4}}
|
||||
└── {{crisis}}
|
||||
|
|
||||
v
|
||||
[ACT 3: RESOLUTION]
|
||||
├── {{climax}}
|
||||
└── {{resolution}}
|
||||
|
||||
```
|
||||
|
||||
### Timeline Notes
|
||||
|
||||
{{any_timeline_clarifications}}
|
||||
```
|
||||
|
||||
### 3. References Discovery
|
||||
|
||||
"**Do you have any references or inspirations to note?**
|
||||
|
||||
This helps future writers understand your vision:
|
||||
|
||||
- Books, movies, games that inspired you
|
||||
- Reference materials for tone/style
|
||||
- Mood boards or concept art references
|
||||
- Theme or narrative references
|
||||
|
||||
What references should be documented? (or 'none'):"
|
||||
|
||||
### 4. Finalize Document
|
||||
|
||||
**Update the document with final content:**
|
||||
|
||||
Add relationship map and timeline to document.
|
||||
|
||||
**Final frontmatter:**
|
||||
|
||||
```yaml
|
||||
---
|
||||
title: 'Narrative Design Document'
|
||||
project: '{{game_name}}'
|
||||
date: '{{date}}'
|
||||
author: '{{user_name}}'
|
||||
version: '1.0'
|
||||
stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
|
||||
status: 'complete'
|
||||
narrativeComplexity: '{{complexity}}'
|
||||
---
|
||||
```
|
||||
|
||||
### 5. Update Workflow Status
|
||||
|
||||
**If not in standalone mode:**
|
||||
|
||||
Load `{output_folder}/bmgd-workflow-status.yaml` and:
|
||||
|
||||
- Update `narrative` status to the output file path
|
||||
- Preserve all comments and structure
|
||||
- Determine next workflow in sequence
|
||||
|
||||
### 6. Present Completion Summary
|
||||
|
||||
"**Narrative Design Complete!**
|
||||
|
||||
{{user_name}}, the Narrative Design Document for **{{game_name}}** is complete!
|
||||
|
||||
**Narrative Summary:**
|
||||
|
||||
- **Premise:** {{premise_summary}}
|
||||
- **Themes:** {{themes_list}}
|
||||
- **Characters:** {{character_count}} ({{protagonist_count}} protagonist, {{antagonist_count}} antagonist, {{supporting_count}} supporting)
|
||||
- **Story Structure:** {{structure_type}}
|
||||
- **Writing Scope:** ~{{word_count}} words
|
||||
|
||||
**Sections Completed:**
|
||||
|
||||
1. Story Foundation (premise, themes, structure)
|
||||
2. Story Beats (major moments, pacing)
|
||||
3. Characters (all characters and arcs)
|
||||
4. World Building (setting, history, locations)
|
||||
5. Dialogue Framework (style, key conversations)
|
||||
6. Environmental Storytelling (visual, audio, documents)
|
||||
7. Narrative Delivery (cutscenes, in-game, endings)
|
||||
8. Gameplay Integration (gating, agency)
|
||||
9. Production Planning (scope, localization, voice)
|
||||
10. Appendices (relationships, timeline)
|
||||
|
||||
**Document saved to:** `{outputFile}`
|
||||
|
||||
Do you want to review or adjust anything before we finalize?"
|
||||
|
||||
### 7. Handle Review Requests
|
||||
|
||||
**If user wants to review:**
|
||||
|
||||
"Which would you like to review?
|
||||
|
||||
1. Story Foundation
|
||||
2. Story Beats
|
||||
3. Characters
|
||||
4. World Building
|
||||
5. Dialogue
|
||||
6. Environmental Storytelling
|
||||
7. Narrative Delivery
|
||||
8. Gameplay Integration
|
||||
9. Production Planning
|
||||
10. Full Document
|
||||
|
||||
Select a section:"
|
||||
|
||||
### 8. Present Next Steps Menu
|
||||
|
||||
"**Recommended Next Steps:**
|
||||
|
||||
1. **Technical Architecture** - Define how narrative systems will be implemented
|
||||
- Workflow: `create-architecture`
|
||||
- Input: GDD + Narrative Design
|
||||
- Output: Technical architecture document
|
||||
|
||||
2. **Create Script/Screenplay** - Write the actual dialogue and scenes
|
||||
- This is done outside the workflow
|
||||
- Use the Narrative Design as your blueprint
|
||||
|
||||
3. **Review with Team** - Share with collaborators for feedback
|
||||
|
||||
4. **Exit Workflow**
|
||||
|
||||
**Which would you like to do next?**
|
||||
|
||||
1. Start Architecture workflow
|
||||
2. Review the narrative document
|
||||
3. Exit workflow"
|
||||
|
||||
### 9. Handle User Selection
|
||||
|
||||
Based on user choice:
|
||||
|
||||
**If 1 (Architecture):**
|
||||
|
||||
- Confirm document is saved
|
||||
- Provide handoff guidance
|
||||
- Note narrative will inform technical decisions
|
||||
|
||||
**If 2 (Review):**
|
||||
|
||||
- Present full document or requested section
|
||||
- Return to next steps menu
|
||||
|
||||
**If 3 (Exit):**
|
||||
|
||||
- Confirm document is saved and complete
|
||||
- Exit workflow gracefully
|
||||
|
||||
### 10. Final Completion Message
|
||||
|
||||
"**Narrative Design Complete!**
|
||||
|
||||
**Deliverables:**
|
||||
|
||||
- Narrative design saved to: `{outputFile}`
|
||||
- {{character_count}} characters documented
|
||||
- {{beat_count}} story beats mapped
|
||||
- {{location_count}} locations defined
|
||||
|
||||
{{#if standalone_mode != true}}
|
||||
**Status Updated:**
|
||||
|
||||
- Progress tracking updated: narrative marked complete
|
||||
- Next recommended: Architecture workflow
|
||||
{{/if}}
|
||||
|
||||
**Your Narrative Is Ready For:**
|
||||
|
||||
- Script/screenplay writing
|
||||
- Technical implementation planning
|
||||
- Team review and iteration
|
||||
- Production scheduling
|
||||
|
||||
Excellent work crafting the narrative for {{game_name}}, {{user_name}}!"
|
||||
|
||||
---
|
||||
|
||||
## SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### SUCCESS:
|
||||
|
||||
- Relationship map generated
|
||||
- Timeline generated
|
||||
- References captured
|
||||
- All content saved to document
|
||||
- Workflow status updated (if tracking)
|
||||
- Frontmatter shows all 11 steps completed
|
||||
- User has clear next steps
|
||||
|
||||
### SYSTEM FAILURE:
|
||||
|
||||
- Missing visualizations
|
||||
- Incomplete document
|
||||
- Status not updated when tracking
|
||||
- No clear next steps provided
|
||||
- User left without guidance
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
|
||||
---
|
||||
|
||||
## Narrative Design Workflow Complete
|
||||
|
||||
The Narrative Design workflow creates comprehensive narrative documentation through 11 collaborative steps:
|
||||
|
||||
1. **Initialize** - Validate readiness, assess complexity
|
||||
2. **Foundation** - Premise, themes, tone, structure
|
||||
3. **Story** - Beats and pacing
|
||||
4. **Characters** - All characters and arcs
|
||||
5. **World** - Setting, history, factions, locations
|
||||
6. **Dialogue** - Style and systems
|
||||
7. **Environmental** - Environmental storytelling
|
||||
8. **Delivery** - Narrative delivery methods
|
||||
9. **Integration** - Gameplay-narrative connection
|
||||
10. **Production** - Scope and planning
|
||||
11. **Complete** - Visualizations and handoff
|
||||
|
||||
This step-file architecture ensures consistent, thorough narrative design with user collaboration at every step.
|
||||
@@ -0,0 +1,195 @@
|
||||
# {{game_name}} - Narrative Design Document
|
||||
|
||||
**Author:** {{user_name}}
|
||||
**Game Type:** {{game_type}}
|
||||
**Narrative Complexity:** {{narrative_complexity}}
|
||||
|
||||
---
|
||||
|
||||
## Executive Summary
|
||||
|
||||
### Narrative Premise
|
||||
|
||||
{{narrative_premise}}
|
||||
|
||||
### Core Themes
|
||||
|
||||
{{core_themes}}
|
||||
|
||||
### Tone and Atmosphere
|
||||
|
||||
{{tone_atmosphere}}
|
||||
|
||||
---
|
||||
|
||||
## Story Structure
|
||||
|
||||
### Story Type
|
||||
|
||||
{{story_type}}
|
||||
|
||||
**Structure used:** (3-act, hero's journey, kishōtenketsu, episodic, branching, etc.)
|
||||
|
||||
### Act Breakdown
|
||||
|
||||
{{act_breakdown}}
|
||||
|
||||
### Story Beats
|
||||
|
||||
{{story_beats}}
|
||||
|
||||
### Pacing and Flow
|
||||
|
||||
{{pacing_flow}}
|
||||
|
||||
---
|
||||
|
||||
## Characters
|
||||
|
||||
### Protagonist(s)
|
||||
|
||||
{{protagonists}}
|
||||
|
||||
### Antagonist(s)
|
||||
|
||||
{{antagonists}}
|
||||
|
||||
### Supporting Characters
|
||||
|
||||
{{supporting_characters}}
|
||||
|
||||
### Character Arcs
|
||||
|
||||
{{character_arcs}}
|
||||
|
||||
---
|
||||
|
||||
## World and Lore
|
||||
|
||||
### World Overview
|
||||
|
||||
{{world_overview}}
|
||||
|
||||
### History and Backstory
|
||||
|
||||
{{history_backstory}}
|
||||
|
||||
### Factions and Organizations
|
||||
|
||||
{{factions_organizations}}
|
||||
|
||||
### Locations
|
||||
|
||||
{{locations}}
|
||||
|
||||
### Cultural Elements
|
||||
|
||||
{{cultural_elements}}
|
||||
|
||||
---
|
||||
|
||||
## Dialogue Framework
|
||||
|
||||
### Dialogue Style
|
||||
|
||||
{{dialogue_style}}
|
||||
|
||||
### Key Conversations
|
||||
|
||||
{{key_conversations}}
|
||||
|
||||
### Branching Dialogue
|
||||
|
||||
{{branching_dialogue}}
|
||||
|
||||
### Voice and Characterization
|
||||
|
||||
{{voice_characterization}}
|
||||
|
||||
---
|
||||
|
||||
## Environmental Storytelling
|
||||
|
||||
### Visual Storytelling
|
||||
|
||||
{{visual_storytelling}}
|
||||
|
||||
### Audio Storytelling
|
||||
|
||||
{{audio_storytelling}}
|
||||
|
||||
### Found Documents
|
||||
|
||||
{{found_documents}}
|
||||
|
||||
### Environmental Clues
|
||||
|
||||
{{environmental_clues}}
|
||||
|
||||
---
|
||||
|
||||
## Narrative Delivery
|
||||
|
||||
### Cutscenes and Cinematics
|
||||
|
||||
{{cutscenes}}
|
||||
|
||||
### In-Game Storytelling
|
||||
|
||||
{{ingame_storytelling}}
|
||||
|
||||
### Optional Content
|
||||
|
||||
{{optional_content}}
|
||||
|
||||
### Multiple Endings
|
||||
|
||||
{{multiple_endings}}
|
||||
|
||||
---
|
||||
|
||||
## Integration with Gameplay
|
||||
|
||||
### Narrative-Gameplay Harmony
|
||||
|
||||
{{narrative_gameplay}}
|
||||
|
||||
### Story Gates
|
||||
|
||||
{{story_gates}}
|
||||
|
||||
### Player Agency
|
||||
|
||||
{{player_agency}}
|
||||
|
||||
---
|
||||
|
||||
## Production Notes
|
||||
|
||||
### Writing Scope
|
||||
|
||||
{{writing_scope}}
|
||||
|
||||
### Localization Considerations
|
||||
|
||||
{{localization}}
|
||||
|
||||
### Voice Acting
|
||||
|
||||
{{voice_acting}}
|
||||
|
||||
---
|
||||
|
||||
## Appendix
|
||||
|
||||
### Character Relationship Map
|
||||
|
||||
{{relationship_map}}
|
||||
|
||||
### Timeline
|
||||
|
||||
{{timeline}}
|
||||
|
||||
### References and Inspirations
|
||||
|
||||
{{references}}
|
||||
@@ -0,0 +1,58 @@
|
||||
# Narrative Design Workflow
|
||||
|
||||
**Comprehensive narrative design for story-driven games**
|
||||
|
||||
## Overview
|
||||
|
||||
This workflow creates detailed narrative content for games with significant story elements. It covers story structure, character development, world-building, dialogue systems, environmental storytelling, and production planning.
|
||||
|
||||
## Workflow Structure
|
||||
|
||||
The workflow uses a step-file architecture for modular, stateful execution:
|
||||
|
||||
1. **Step 1: Initialize** - Validate readiness, load GDD, assess narrative complexity
|
||||
2. **Step 1b: Continue** - Resume existing narrative work
|
||||
3. **Step 2: Foundation** - Define premise, themes, tone, and story structure
|
||||
4. **Step 3: Story** - Map story beats and pacing
|
||||
5. **Step 4: Characters** - Develop all characters and their arcs
|
||||
6. **Step 5: World** - Build world, history, factions, and locations
|
||||
7. **Step 6: Dialogue** - Define dialogue style and systems
|
||||
8. **Step 7: Environmental** - Plan environmental storytelling
|
||||
9. **Step 8: Delivery** - Design narrative delivery methods
|
||||
10. **Step 9: Integration** - Plan gameplay-narrative integration
|
||||
11. **Step 10: Production** - Scope, localization, and voice acting
|
||||
12. **Step 11: Complete** - Final summary and handoff
|
||||
|
||||
## State Tracking
|
||||
|
||||
Progress is tracked in the narrative document frontmatter:
|
||||
|
||||
```yaml
|
||||
stepsCompleted: [1, 2, 3, ...] # Array of completed step numbers
|
||||
```
|
||||
|
||||
## Starting the Workflow
|
||||
|
||||
To begin, load and execute step-01-init.md:
|
||||
|
||||
```
|
||||
{workflow_path}/steps/step-01-init.md
|
||||
```
|
||||
|
||||
## Critical Rules
|
||||
|
||||
- **NEVER** generate narrative content without user input
|
||||
- **ALWAYS** facilitate user creativity - help them craft THEIR story
|
||||
- **NEVER** mention time estimates
|
||||
- **ALWAYS** present options and wait for user selection
|
||||
- **FOLLOW** the step sequence exactly - no skipping or optimizing
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
## Agent Role
|
||||
|
||||
You are a narrative design facilitator:
|
||||
|
||||
- Draw out the user's story vision
|
||||
- Help weave user's ideas into cohesive narrative
|
||||
- Focus on what the user wants to create
|
||||
- The goal is for users to feel THEY crafted the narrative
|
||||
@@ -0,0 +1,51 @@
|
||||
# Narrative Design Workflow
|
||||
name: narrative
|
||||
description: "Narrative design workflow for story-driven games. Creates comprehensive narrative documentation including story structure, character arcs, world-building, dialogue systems, and production planning."
|
||||
author: "BMad"
|
||||
|
||||
# Critical variables from config
|
||||
config_source: "{project-root}/_bmad/bmgd/config.yaml"
|
||||
output_folder: "{config_source}:output_folder"
|
||||
user_name: "{config_source}:user_name"
|
||||
communication_language: "{config_source}:communication_language"
|
||||
document_output_language: "{config_source}:document_output_language"
|
||||
game_dev_experience: "{config_source}:game_dev_experience"
|
||||
date: system-generated
|
||||
|
||||
# Workflow components - Step-file architecture
|
||||
installed_path: "{project-root}/_bmad/bmgd/workflows/2-design/narrative"
|
||||
instructions: "{installed_path}/workflow.md"
|
||||
template: "{installed_path}/templates/narrative-template.md"
|
||||
validation: "{installed_path}/checklist.md"
|
||||
|
||||
# Smart input file references
|
||||
input_file_patterns:
|
||||
gdd:
|
||||
description: "Game Design Document with mechanics and systems"
|
||||
whole: "{output_folder}/*gdd*.md"
|
||||
sharded: "{output_folder}/*gdd*/index.md"
|
||||
load_strategy: "INDEX_GUIDED"
|
||||
|
||||
brief:
|
||||
description: "Game Brief with vision (optional)"
|
||||
whole: "{output_folder}/*brief*.md"
|
||||
sharded: "{output_folder}/*brief*/index.md"
|
||||
load_strategy: "INDEX_GUIDED"
|
||||
|
||||
# Output configuration
|
||||
default_output_file: "{output_folder}/narrative-design.md"
|
||||
|
||||
# Workflow metadata
|
||||
version: "2.0.0"
|
||||
paradigm: "step-file-architecture"
|
||||
features:
|
||||
- "Step-file architecture for modular execution"
|
||||
- "Narrative complexity assessment"
|
||||
- "Character development facilitation"
|
||||
- "World-building guidance"
|
||||
- "Dialogue system design"
|
||||
- "Environmental storytelling planning"
|
||||
- "Production scope estimation"
|
||||
- "State tracking via frontmatter"
|
||||
|
||||
standalone: true
|
||||
@@ -0,0 +1,321 @@
|
||||
# Architecture Patterns - Common patterns identified from requirements
|
||||
|
||||
requirement_patterns:
|
||||
realtime_collaboration:
|
||||
triggers:
|
||||
- "real-time"
|
||||
- "collaborative"
|
||||
- "live updates"
|
||||
- "multi-user"
|
||||
- "simultaneous editing"
|
||||
decisions_needed:
|
||||
- websocket_solution
|
||||
- conflict_resolution
|
||||
- state_synchronization
|
||||
- presence_tracking
|
||||
- optimistic_updates
|
||||
suggested_stack:
|
||||
- "Socket.io or WebSocket native"
|
||||
- "Redis for pub/sub"
|
||||
- "Operational Transforms or CRDTs for conflict resolution"
|
||||
- "PostgreSQL for persistence"
|
||||
|
||||
ecommerce:
|
||||
triggers:
|
||||
- "shopping cart"
|
||||
- "checkout"
|
||||
- "payments"
|
||||
- "inventory"
|
||||
- "product catalog"
|
||||
decisions_needed:
|
||||
- payment_processor
|
||||
- cart_persistence
|
||||
- inventory_management
|
||||
- order_workflow
|
||||
- tax_calculation
|
||||
suggested_stack:
|
||||
- "Stripe or PayPal for payments"
|
||||
- "PostgreSQL for products and orders"
|
||||
- "Redis for cart sessions"
|
||||
- "BullMQ for order processing"
|
||||
|
||||
saas_platform:
|
||||
triggers:
|
||||
- "multi-tenant"
|
||||
- "subscription"
|
||||
- "billing"
|
||||
- "team management"
|
||||
- "roles and permissions"
|
||||
decisions_needed:
|
||||
- tenancy_model
|
||||
- subscription_billing
|
||||
- permission_system
|
||||
- team_collaboration
|
||||
- usage_tracking
|
||||
suggested_stack:
|
||||
- "PostgreSQL with Row Level Security"
|
||||
- "Stripe Billing for subscriptions"
|
||||
- "RBAC or ABAC for permissions"
|
||||
- "NextAuth or Clerk for auth"
|
||||
|
||||
content_platform:
|
||||
triggers:
|
||||
- "CMS"
|
||||
- "blog"
|
||||
- "publishing"
|
||||
- "content management"
|
||||
- "editorial workflow"
|
||||
decisions_needed:
|
||||
- content_storage
|
||||
- rich_text_editor
|
||||
- media_handling
|
||||
- version_control
|
||||
- publishing_workflow
|
||||
suggested_stack:
|
||||
- "PostgreSQL for structured content"
|
||||
- "S3 or Cloudinary for media"
|
||||
- "Tiptap or Slate for rich text"
|
||||
- "Algolia for search"
|
||||
|
||||
data_analytics:
|
||||
triggers:
|
||||
- "dashboards"
|
||||
- "reporting"
|
||||
- "metrics"
|
||||
- "analytics"
|
||||
- "data visualization"
|
||||
decisions_needed:
|
||||
- data_warehouse
|
||||
- etl_pipeline
|
||||
- visualization_library
|
||||
- query_optimization
|
||||
- caching_strategy
|
||||
suggested_stack:
|
||||
- "PostgreSQL or ClickHouse"
|
||||
- "Apache Airflow or Temporal for ETL"
|
||||
- "Chart.js or D3 for visualization"
|
||||
- "Redis for query caching"
|
||||
|
||||
social_platform:
|
||||
triggers:
|
||||
- "social network"
|
||||
- "feed"
|
||||
- "following"
|
||||
- "likes"
|
||||
- "comments"
|
||||
decisions_needed:
|
||||
- graph_relationships
|
||||
- feed_algorithm
|
||||
- notification_system
|
||||
- content_moderation
|
||||
- privacy_controls
|
||||
suggested_stack:
|
||||
- "PostgreSQL with graph extensions or Neo4j"
|
||||
- "Redis for feed caching"
|
||||
- "Elasticsearch for user search"
|
||||
- "WebSockets for notifications"
|
||||
|
||||
marketplace:
|
||||
triggers:
|
||||
- "marketplace"
|
||||
- "vendors"
|
||||
- "buyers and sellers"
|
||||
- "transactions"
|
||||
- "escrow"
|
||||
decisions_needed:
|
||||
- payment_splitting
|
||||
- escrow_handling
|
||||
- vendor_management
|
||||
- dispute_resolution
|
||||
- commission_model
|
||||
suggested_stack:
|
||||
- "Stripe Connect for payments"
|
||||
- "PostgreSQL for transactions"
|
||||
- "BullMQ for async processing"
|
||||
- "S3 for vendor assets"
|
||||
|
||||
streaming_platform:
|
||||
triggers:
|
||||
- "video streaming"
|
||||
- "live streaming"
|
||||
- "media delivery"
|
||||
- "broadcast"
|
||||
decisions_needed:
|
||||
- video_encoding
|
||||
- cdn_strategy
|
||||
- streaming_protocol
|
||||
- bandwidth_optimization
|
||||
- drm_protection
|
||||
suggested_stack:
|
||||
- "AWS MediaConvert or Mux"
|
||||
- "CloudFront or Fastly CDN"
|
||||
- "HLS or DASH protocol"
|
||||
- "S3 for video storage"
|
||||
|
||||
iot_platform:
|
||||
triggers:
|
||||
- "IoT"
|
||||
- "sensors"
|
||||
- "device management"
|
||||
- "telemetry"
|
||||
- "edge computing"
|
||||
decisions_needed:
|
||||
- message_protocol
|
||||
- time_series_database
|
||||
- device_authentication
|
||||
- data_ingestion
|
||||
- edge_processing
|
||||
suggested_stack:
|
||||
- "MQTT or CoAP protocol"
|
||||
- "TimescaleDB or InfluxDB"
|
||||
- "Apache Kafka for ingestion"
|
||||
- "Grafana for monitoring"
|
||||
|
||||
ai_application:
|
||||
triggers:
|
||||
- "machine learning"
|
||||
- "AI features"
|
||||
- "LLM integration"
|
||||
- "computer vision"
|
||||
- "NLP"
|
||||
decisions_needed:
|
||||
- model_serving
|
||||
- vector_database
|
||||
- prompt_management
|
||||
- token_optimization
|
||||
- fallback_strategy
|
||||
suggested_stack:
|
||||
- "OpenAI or Anthropic API"
|
||||
- "Pinecone or pgvector for embeddings"
|
||||
- "Redis for prompt caching"
|
||||
- "Langchain or LlamaIndex"
|
||||
|
||||
# Quality attribute patterns
|
||||
quality_attributes:
|
||||
high_availability:
|
||||
triggers:
|
||||
- "99.9% uptime"
|
||||
- "high availability"
|
||||
- "fault tolerance"
|
||||
- "disaster recovery"
|
||||
architectural_needs:
|
||||
- load_balancing
|
||||
- database_replication
|
||||
- health_checks
|
||||
- circuit_breakers
|
||||
- graceful_degradation
|
||||
|
||||
high_performance:
|
||||
triggers:
|
||||
- "millisecond response"
|
||||
- "high throughput"
|
||||
- "low latency"
|
||||
- "performance critical"
|
||||
architectural_needs:
|
||||
- caching_layers
|
||||
- database_optimization
|
||||
- cdn_strategy
|
||||
- code_splitting
|
||||
- lazy_loading
|
||||
|
||||
high_security:
|
||||
triggers:
|
||||
- "compliance"
|
||||
- "HIPAA"
|
||||
- "GDPR"
|
||||
- "financial data"
|
||||
- "PCI DSS"
|
||||
architectural_needs:
|
||||
- encryption_at_rest
|
||||
- encryption_in_transit
|
||||
- audit_logging
|
||||
- access_controls
|
||||
- data_isolation
|
||||
|
||||
scalability:
|
||||
triggers:
|
||||
- "millions of users"
|
||||
- "elastic scale"
|
||||
- "global reach"
|
||||
- "viral growth"
|
||||
architectural_needs:
|
||||
- horizontal_scaling
|
||||
- database_sharding
|
||||
- microservices
|
||||
- queue_systems
|
||||
- auto_scaling
|
||||
|
||||
# Integration patterns
|
||||
integration_requirements:
|
||||
payment_processing:
|
||||
common_choices:
|
||||
- "Stripe - most developer friendly"
|
||||
- "PayPal - widest consumer adoption"
|
||||
- "Square - best for in-person + online"
|
||||
considerations:
|
||||
- transaction_fees
|
||||
- international_support
|
||||
- subscription_handling
|
||||
- marketplace_capabilities
|
||||
|
||||
email_service:
|
||||
common_choices:
|
||||
- "Resend - modern, developer friendly"
|
||||
- "SendGrid - mature, scalable"
|
||||
- "Amazon SES - cost effective at scale"
|
||||
- "Postmark - transactional focus"
|
||||
considerations:
|
||||
- deliverability
|
||||
- template_management
|
||||
- analytics_needs
|
||||
- cost_per_email
|
||||
|
||||
sms_notifications:
|
||||
common_choices:
|
||||
- "Twilio - most comprehensive"
|
||||
- "Amazon SNS - AWS integrated"
|
||||
- "Vonage - competitive pricing"
|
||||
considerations:
|
||||
- international_coverage
|
||||
- delivery_rates
|
||||
- two_way_messaging
|
||||
- cost_per_message
|
||||
|
||||
authentication_providers:
|
||||
social_providers:
|
||||
- "Google - highest adoption"
|
||||
- "GitHub - developer focused"
|
||||
- "Microsoft - enterprise"
|
||||
- "Apple - iOS users"
|
||||
enterprise_providers:
|
||||
- "SAML 2.0"
|
||||
- "OAuth 2.0"
|
||||
- "OpenID Connect"
|
||||
- "Active Directory"
|
||||
|
||||
# Decision heuristics
|
||||
decision_rules:
|
||||
database_selection:
|
||||
if_requirements_include:
|
||||
- complex_relationships: "PostgreSQL"
|
||||
- flexible_schema: "MongoDB"
|
||||
- time_series: "TimescaleDB"
|
||||
- graph_data: "Neo4j or PostgreSQL with extensions"
|
||||
- key_value: "Redis"
|
||||
- wide_column: "Cassandra"
|
||||
|
||||
api_pattern_selection:
|
||||
if_requirements_include:
|
||||
- simple_crud: "REST"
|
||||
- complex_queries: "GraphQL"
|
||||
- type_safety_critical: "tRPC"
|
||||
- microservices: "gRPC"
|
||||
- public_api: "REST with OpenAPI"
|
||||
|
||||
deployment_selection:
|
||||
if_requirements_include:
|
||||
- nextjs_only: "Vercel"
|
||||
- complex_infrastructure: "AWS"
|
||||
- quick_prototype: "Railway"
|
||||
- global_edge: "Fly.io"
|
||||
- kubernetes_needed: "GCP or AWS EKS"
|
||||
@@ -0,0 +1,240 @@
|
||||
# Architecture Document Validation Checklist
|
||||
|
||||
**Purpose**: Validate the architecture document itself is complete, implementable, and provides clear guidance for AI agents.
|
||||
|
||||
**Note**: This checklist validates the ARCHITECTURE DOCUMENT only. For cross-workflow validation (PRD → Architecture → Stories alignment), use the implementation-readiness workflow.
|
||||
|
||||
---
|
||||
|
||||
## 1. Decision Completeness
|
||||
|
||||
### All Decisions Made
|
||||
|
||||
- [ ] Every critical decision category has been resolved
|
||||
- [ ] All important decision categories addressed
|
||||
- [ ] No placeholder text like "TBD", "[choose]", or "{TODO}" remains
|
||||
- [ ] Optional decisions either resolved or explicitly deferred with rationale
|
||||
|
||||
### Decision Coverage
|
||||
|
||||
- [ ] Data persistence approach decided
|
||||
- [ ] API pattern chosen
|
||||
- [ ] Authentication/authorization strategy defined
|
||||
- [ ] Deployment target selected
|
||||
- [ ] All functional requirements have architectural support
|
||||
|
||||
---
|
||||
|
||||
## 2. Version Specificity
|
||||
|
||||
### Technology Versions
|
||||
|
||||
- [ ] Every technology choice includes a specific version number
|
||||
- [ ] Version numbers are current (verified via WebSearch, not hardcoded)
|
||||
- [ ] Compatible versions selected (e.g., Node.js version supports chosen packages)
|
||||
- [ ] Verification dates noted for version checks
|
||||
|
||||
### Version Verification Process
|
||||
|
||||
- [ ] WebSearch used during workflow to verify current versions
|
||||
- [ ] No hardcoded versions from decision catalog trusted without verification
|
||||
- [ ] LTS vs. latest versions considered and documented
|
||||
- [ ] Breaking changes between versions noted if relevant
|
||||
|
||||
---
|
||||
|
||||
## 3. Starter Template Integration (if applicable)
|
||||
|
||||
### Template Selection
|
||||
|
||||
- [ ] Starter template chosen (or "from scratch" decision documented)
|
||||
- [ ] Project initialization command documented with exact flags
|
||||
- [ ] Starter template version is current and specified
|
||||
- [ ] Command search term provided for verification
|
||||
|
||||
### Starter-Provided Decisions
|
||||
|
||||
- [ ] Decisions provided by starter marked as "PROVIDED BY STARTER"
|
||||
- [ ] List of what starter provides is complete
|
||||
- [ ] Remaining decisions (not covered by starter) clearly identified
|
||||
- [ ] No duplicate decisions that starter already makes
|
||||
|
||||
---
|
||||
|
||||
## 4. Novel Pattern Design (if applicable)
|
||||
|
||||
### Pattern Detection
|
||||
|
||||
- [ ] All unique/novel concepts from PRD identified
|
||||
- [ ] Patterns that don't have standard solutions documented
|
||||
- [ ] Multi-epic workflows requiring custom design captured
|
||||
|
||||
### Pattern Documentation Quality
|
||||
|
||||
- [ ] Pattern name and purpose clearly defined
|
||||
- [ ] Component interactions specified
|
||||
- [ ] Data flow documented (with sequence diagrams if complex)
|
||||
- [ ] Implementation guide provided for agents
|
||||
- [ ] Edge cases and failure modes considered
|
||||
- [ ] States and transitions clearly defined
|
||||
|
||||
### Pattern Implementability
|
||||
|
||||
- [ ] Pattern is implementable by AI agents with provided guidance
|
||||
- [ ] No ambiguous decisions that could be interpreted differently
|
||||
- [ ] Clear boundaries between components
|
||||
- [ ] Explicit integration points with standard patterns
|
||||
|
||||
---
|
||||
|
||||
## 5. Implementation Patterns
|
||||
|
||||
### Pattern Categories Coverage
|
||||
|
||||
- [ ] **Naming Patterns**: API routes, database tables, components, files
|
||||
- [ ] **Structure Patterns**: Test organization, component organization, shared utilities
|
||||
- [ ] **Format Patterns**: API responses, error formats, date handling
|
||||
- [ ] **Communication Patterns**: Events, state updates, inter-component messaging
|
||||
- [ ] **Lifecycle Patterns**: Loading states, error recovery, retry logic
|
||||
- [ ] **Location Patterns**: URL structure, asset organization, config placement
|
||||
- [ ] **Consistency Patterns**: UI date formats, logging, user-facing errors
|
||||
|
||||
### Pattern Quality
|
||||
|
||||
- [ ] Each pattern has concrete examples
|
||||
- [ ] Conventions are unambiguous (agents can't interpret differently)
|
||||
- [ ] Patterns cover all technologies in the stack
|
||||
- [ ] No gaps where agents would have to guess
|
||||
- [ ] Implementation patterns don't conflict with each other
|
||||
|
||||
---
|
||||
|
||||
## 6. Technology Compatibility
|
||||
|
||||
### Stack Coherence
|
||||
|
||||
- [ ] Database choice compatible with ORM choice
|
||||
- [ ] Frontend framework compatible with deployment target
|
||||
- [ ] Authentication solution works with chosen frontend/backend
|
||||
- [ ] All API patterns consistent (not mixing REST and GraphQL for same data)
|
||||
- [ ] Starter template compatible with additional choices
|
||||
|
||||
### Integration Compatibility
|
||||
|
||||
- [ ] Third-party services compatible with chosen stack
|
||||
- [ ] Real-time solutions (if any) work with deployment target
|
||||
- [ ] File storage solution integrates with framework
|
||||
- [ ] Background job system compatible with infrastructure
|
||||
|
||||
---
|
||||
|
||||
## 7. Document Structure
|
||||
|
||||
### Required Sections Present
|
||||
|
||||
- [ ] Executive summary exists (2-3 sentences maximum)
|
||||
- [ ] Project initialization section (if using starter template)
|
||||
- [ ] Decision summary table with ALL required columns:
|
||||
- Category
|
||||
- Decision
|
||||
- Version
|
||||
- Rationale
|
||||
- [ ] Project structure section shows complete source tree
|
||||
- [ ] Implementation patterns section comprehensive
|
||||
- [ ] Novel patterns section (if applicable)
|
||||
|
||||
### Document Quality
|
||||
|
||||
- [ ] Source tree reflects actual technology decisions (not generic)
|
||||
- [ ] Technical language used consistently
|
||||
- [ ] Tables used instead of prose where appropriate
|
||||
- [ ] No unnecessary explanations or justifications
|
||||
- [ ] Focused on WHAT and HOW, not WHY (rationale is brief)
|
||||
|
||||
---
|
||||
|
||||
## 8. AI Agent Clarity
|
||||
|
||||
### Clear Guidance for Agents
|
||||
|
||||
- [ ] No ambiguous decisions that agents could interpret differently
|
||||
- [ ] Clear boundaries between components/modules
|
||||
- [ ] Explicit file organization patterns
|
||||
- [ ] Defined patterns for common operations (CRUD, auth checks, etc.)
|
||||
- [ ] Novel patterns have clear implementation guidance
|
||||
- [ ] Document provides clear constraints for agents
|
||||
- [ ] No conflicting guidance present
|
||||
|
||||
### Implementation Readiness
|
||||
|
||||
- [ ] Sufficient detail for agents to implement without guessing
|
||||
- [ ] File paths and naming conventions explicit
|
||||
- [ ] Integration points clearly defined
|
||||
- [ ] Error handling patterns specified
|
||||
- [ ] Testing patterns documented
|
||||
|
||||
---
|
||||
|
||||
## 9. Practical Considerations
|
||||
|
||||
### Technology Viability
|
||||
|
||||
- [ ] Chosen stack has good documentation and community support
|
||||
- [ ] Development environment can be set up with specified versions
|
||||
- [ ] No experimental or alpha technologies for critical path
|
||||
- [ ] Deployment target supports all chosen technologies
|
||||
- [ ] Starter template (if used) is stable and well-maintained
|
||||
|
||||
### Scalability
|
||||
|
||||
- [ ] Architecture can handle expected user load
|
||||
- [ ] Data model supports expected growth
|
||||
- [ ] Caching strategy defined if performance is critical
|
||||
- [ ] Background job processing defined if async work needed
|
||||
- [ ] Novel patterns scalable for production use
|
||||
|
||||
---
|
||||
|
||||
## 10. Common Issues to Check
|
||||
|
||||
### Beginner Protection
|
||||
|
||||
- [ ] Not overengineered for actual requirements
|
||||
- [ ] Standard patterns used where possible (starter templates leveraged)
|
||||
- [ ] Complex technologies justified by specific needs
|
||||
- [ ] Maintenance complexity appropriate for team size
|
||||
|
||||
### Expert Validation
|
||||
|
||||
- [ ] No obvious anti-patterns present
|
||||
- [ ] Performance bottlenecks addressed
|
||||
- [ ] Security best practices followed
|
||||
- [ ] Future migration paths not blocked
|
||||
- [ ] Novel patterns follow architectural principles
|
||||
|
||||
---
|
||||
|
||||
## Validation Summary
|
||||
|
||||
### Document Quality Score
|
||||
|
||||
- Architecture Completeness: [Complete / Mostly Complete / Partial / Incomplete]
|
||||
- Version Specificity: [All Verified / Most Verified / Some Missing / Many Missing]
|
||||
- Pattern Clarity: [Crystal Clear / Clear / Somewhat Ambiguous / Ambiguous]
|
||||
- AI Agent Readiness: [Ready / Mostly Ready / Needs Work / Not Ready]
|
||||
|
||||
### Critical Issues Found
|
||||
|
||||
{ list issues }
|
||||
|
||||
### Recommended Actions Before Implementation
|
||||
|
||||
{ list actions }
|
||||
|
||||
---
|
||||
|
||||
**Next Step**: Run the **implementation-readiness** workflow to validate alignment between PRD, Architecture, and Stories before beginning implementation.
|
||||
|
||||
---
|
||||
|
||||
_This checklist validates architecture document quality only. Use implementation-readiness for comprehensive readiness validation._
|
||||
@@ -0,0 +1,222 @@
|
||||
# Decision Catalog - Composability knowledge for architectural decisions
|
||||
# This provides RELATIONSHIPS and WORKFLOW LOGIC, not generic tech knowledge
|
||||
#
|
||||
# ⚠️ CRITICAL: All version/feature info MUST be verified via WebSearch during workflow
|
||||
# This file only provides: triggers, relationships (pairs_with), and opinionated stacks
|
||||
|
||||
decision_categories:
|
||||
data_persistence:
|
||||
triggers: ["database", "storage", "data model", "persistence", "state management"]
|
||||
importance: "critical"
|
||||
affects: "most epics"
|
||||
options:
|
||||
postgresql:
|
||||
pairs_with: ["Prisma ORM", "TypeORM", "Drizzle", "node-postgres"]
|
||||
mongodb:
|
||||
pairs_with: ["Mongoose", "Prisma", "MongoDB driver"]
|
||||
redis:
|
||||
pairs_with: ["ioredis", "node-redis"]
|
||||
supabase:
|
||||
pairs_with: ["@supabase/supabase-js"]
|
||||
firebase:
|
||||
pairs_with: ["firebase-admin"]
|
||||
|
||||
api_pattern:
|
||||
triggers: ["API", "client communication", "frontend backend", "service communication"]
|
||||
importance: "critical"
|
||||
affects: "all client-facing epics"
|
||||
options:
|
||||
rest:
|
||||
pairs_with: ["Express", "Fastify", "NestJS", "Hono"]
|
||||
graphql:
|
||||
pairs_with: ["Apollo Server", "GraphQL Yoga", "Mercurius"]
|
||||
trpc:
|
||||
pairs_with: ["Next.js", "React Query"]
|
||||
grpc:
|
||||
pairs_with: ["@grpc/grpc-js", "protobufjs"]
|
||||
|
||||
authentication:
|
||||
triggers: ["auth", "login", "user management", "security", "identity"]
|
||||
importance: "critical"
|
||||
affects: "security and user epics"
|
||||
options:
|
||||
nextauth:
|
||||
pairs_with: ["Next.js", "Prisma"]
|
||||
auth0:
|
||||
pairs_with: ["@auth0/nextjs-auth0"]
|
||||
clerk:
|
||||
pairs_with: ["@clerk/nextjs"]
|
||||
supabase_auth:
|
||||
pairs_with: ["@supabase/supabase-js"]
|
||||
firebase_auth:
|
||||
pairs_with: ["firebase-admin"]
|
||||
|
||||
real_time:
|
||||
triggers: ["real-time", "websocket", "live updates", "chat", "collaboration"]
|
||||
importance: "medium"
|
||||
affects: "real-time features"
|
||||
options:
|
||||
socket_io:
|
||||
pairs_with: ["Express", "socket.io-client"]
|
||||
pusher:
|
||||
pairs_with: ["pusher-js"]
|
||||
ably:
|
||||
pairs_with: ["ably"]
|
||||
supabase_realtime:
|
||||
pairs_with: ["@supabase/supabase-js"]
|
||||
firebase_realtime:
|
||||
pairs_with: ["firebase"]
|
||||
|
||||
email:
|
||||
triggers: ["email", "notifications", "transactional email"]
|
||||
importance: "medium"
|
||||
affects: "notification epics"
|
||||
options:
|
||||
resend:
|
||||
pairs_with: ["resend", "react-email"]
|
||||
sendgrid:
|
||||
pairs_with: ["@sendgrid/mail"]
|
||||
postmark:
|
||||
pairs_with: ["postmark"]
|
||||
ses:
|
||||
pairs_with: ["@aws-sdk/client-ses"]
|
||||
|
||||
file_storage:
|
||||
triggers: ["upload", "file storage", "images", "media", "CDN"]
|
||||
importance: "medium"
|
||||
affects: "media handling epics"
|
||||
options:
|
||||
s3:
|
||||
pairs_with: ["@aws-sdk/client-s3", "multer"]
|
||||
cloudinary:
|
||||
pairs_with: ["cloudinary"]
|
||||
uploadthing:
|
||||
pairs_with: ["uploadthing"]
|
||||
supabase_storage:
|
||||
pairs_with: ["@supabase/supabase-js"]
|
||||
|
||||
search:
|
||||
triggers: ["search", "full text", "elasticsearch", "algolia", "fuzzy"]
|
||||
importance: "medium"
|
||||
affects: "search and discovery epics"
|
||||
options:
|
||||
postgres_fts:
|
||||
pairs_with: ["PostgreSQL"]
|
||||
elasticsearch:
|
||||
pairs_with: ["@elastic/elasticsearch"]
|
||||
algolia:
|
||||
pairs_with: ["algoliasearch"]
|
||||
typesense:
|
||||
pairs_with: ["typesense"]
|
||||
|
||||
background_jobs:
|
||||
triggers: ["queue", "jobs", "workers", "async", "background processing", "scheduled"]
|
||||
importance: "medium"
|
||||
affects: "async processing epics"
|
||||
options:
|
||||
bullmq:
|
||||
pairs_with: ["Redis"]
|
||||
sqs:
|
||||
pairs_with: ["@aws-sdk/client-sqs"]
|
||||
temporal:
|
||||
pairs_with: ["@temporalio/client"]
|
||||
inngest:
|
||||
pairs_with: ["inngest"]
|
||||
|
||||
deployment_target:
|
||||
triggers: ["deployment", "hosting", "infrastructure", "cloud", "server"]
|
||||
importance: "high"
|
||||
affects: "all epics"
|
||||
options:
|
||||
vercel:
|
||||
pairs_with: ["Next.js", "serverless functions"]
|
||||
aws:
|
||||
pairs_with: ["any stack"]
|
||||
railway:
|
||||
pairs_with: ["any stack", "managed databases"]
|
||||
fly_io:
|
||||
pairs_with: ["Docker containers"]
|
||||
|
||||
# Opinionated stack combinations (BMM methodology)
|
||||
common_stacks:
|
||||
modern_fullstack:
|
||||
name: "Modern Full-Stack"
|
||||
components: ["Next.js", "PostgreSQL or Supabase", "Prisma ORM", "NextAuth.js", "Tailwind CSS", "TypeScript", "Vercel"]
|
||||
good_for: "Most web applications"
|
||||
|
||||
enterprise_stack:
|
||||
name: "Enterprise Stack"
|
||||
components: ["NestJS", "PostgreSQL", "TypeORM", "Auth0", "Redis", "Docker", "AWS"]
|
||||
good_for: "Large-scale enterprise applications"
|
||||
|
||||
rapid_prototype:
|
||||
name: "Rapid Prototype"
|
||||
components: ["Next.js", "Supabase", "shadcn/ui", "Vercel"]
|
||||
good_for: "MVP and rapid development"
|
||||
|
||||
real_time_app:
|
||||
name: "Real-Time Application"
|
||||
components: ["Next.js", "Supabase Realtime", "PostgreSQL", "Prisma", "Socket.io fallback"]
|
||||
good_for: "Chat, collaboration, live updates"
|
||||
|
||||
mobile_app:
|
||||
name: "Mobile Application"
|
||||
components: ["Expo", "React Native", "Supabase or Firebase", "React Query"]
|
||||
good_for: "Cross-platform mobile apps"
|
||||
|
||||
# Starter templates and what decisions they make
|
||||
starter_templates:
|
||||
create_next_app:
|
||||
name: "Create Next App"
|
||||
command_search: "npx create-next-app@latest"
|
||||
decisions_provided: ["Next.js framework", "TypeScript option", "App Router vs Pages", "Tailwind CSS option", "ESLint"]
|
||||
good_for: ["React web applications", "Full-stack apps", "SSR/SSG"]
|
||||
|
||||
create_t3_app:
|
||||
name: "Create T3 App"
|
||||
command_search: "npm create t3-app@latest"
|
||||
decisions_provided: ["Next.js", "TypeScript", "tRPC", "Prisma", "NextAuth", "Tailwind CSS"]
|
||||
good_for: ["Type-safe full-stack apps"]
|
||||
|
||||
create_vite:
|
||||
name: "Create Vite"
|
||||
command_search: "npm create vite@latest"
|
||||
decisions_provided: ["Framework choice (React/Vue/Svelte)", "TypeScript option", "Vite bundler"]
|
||||
good_for: ["Fast dev SPAs", "Library development"]
|
||||
|
||||
create_remix:
|
||||
name: "Create Remix"
|
||||
command_search: "npx create-remix@latest"
|
||||
decisions_provided: ["Remix framework", "TypeScript option", "Deployment target", "CSS solution"]
|
||||
good_for: ["Web standards", "Nested routing", "Progressive enhancement"]
|
||||
|
||||
nest_new:
|
||||
name: "NestJS CLI"
|
||||
command_search: "nest new project"
|
||||
decisions_provided: ["TypeScript (always)", "Package manager", "Testing framework (Jest)", "Project structure"]
|
||||
good_for: ["Enterprise APIs", "Microservices", "GraphQL APIs"]
|
||||
|
||||
create_expo_app:
|
||||
name: "Create Expo App"
|
||||
command_search: "npx create-expo-app"
|
||||
decisions_provided: ["React Native", "Expo SDK", "TypeScript option", "Navigation option"]
|
||||
good_for: ["Cross-platform mobile", "React Native apps"]
|
||||
|
||||
# Starter selection heuristics (workflow logic)
|
||||
starter_selection_rules:
|
||||
by_project_type:
|
||||
web_application:
|
||||
recommended: ["create_next_app", "create_t3_app", "create_vite"]
|
||||
considerations: "SSR needs? → Next.js. Type safety critical? → T3. SPA only? → Vite"
|
||||
|
||||
mobile_app:
|
||||
recommended: ["create_expo_app"]
|
||||
considerations: "Cross-platform → Expo. Native-heavy → React Native CLI"
|
||||
|
||||
api_backend:
|
||||
recommended: ["nest_new"]
|
||||
considerations: "Enterprise → NestJS. Simple → Express starter. Performance → Fastify"
|
||||
|
||||
full_stack:
|
||||
recommended: ["create_t3_app", "create_remix"]
|
||||
considerations: "Type safety → T3. Web standards → Remix. Monolith → RedwoodJS"
|
||||
@@ -0,0 +1,701 @@
|
||||
# Decision Architecture Workflow Instructions
|
||||
|
||||
<workflow name="architecture">
|
||||
|
||||
<critical>The workflow execution engine is governed by: {project-root}/_bmad/core/tasks/workflow.xml</critical>
|
||||
<critical>You MUST have already loaded and processed: {installed_path}/workflow.yaml</critical>
|
||||
<critical>This workflow uses ADAPTIVE FACILITATION - adjust your communication style based on {user_skill_level}</critical>
|
||||
<critical>The goal is ARCHITECTURAL DECISIONS that prevent AI agent conflicts, not detailed implementation specs</critical>
|
||||
<critical>Communicate all responses in {communication_language} and tailor to {user_skill_level}</critical>
|
||||
<critical>Generate all documents in {document_output_language}</critical>
|
||||
<critical>This workflow replaces architecture with a conversation-driven approach</critical>
|
||||
<critical>Input documents specified in workflow.yaml input_file_patterns - workflow engine handles fuzzy matching, whole vs sharded document discovery automatically</critical>
|
||||
<critical>ELICITATION POINTS: After completing each major architectural decision area (identified by template-output tags for decision_record, project_structure, novel_pattern_designs, implementation_patterns, and architecture_document), invoke advanced elicitation to refine decisions before proceeding</critical>
|
||||
<critical>⚠️ ABSOLUTELY NO TIME ESTIMATES - NEVER mention hours, days, weeks, months, or ANY time-based predictions. AI has fundamentally changed development speed - what once took teams weeks/months can now be done by one person in hours. DO NOT give ANY time estimates whatsoever.</critical>
|
||||
<critical>⚠️ CHECKPOINT PROTOCOL: After EVERY <template-output> tag, you MUST follow workflow.xml substep 2c: SAVE content to file immediately → SHOW checkpoint separator (━━━━━━━━━━━━━━━━━━━━━━━) → DISPLAY generated content → PRESENT options [a]Advanced Elicitation/[c]Continue/[p]Party-Mode/[y]YOLO → WAIT for user response. Never batch saves or skip checkpoints.</critical>
|
||||
|
||||
<step n="0" goal="Validate workflow readiness" tag="workflow-status">
|
||||
<action>Check if {output_folder}/bmgd-workflow-status.yaml exists</action>
|
||||
|
||||
<check if="status file not found">
|
||||
<output>No workflow status file found. Decision Architecture can run standalone or as part of BMM workflow path.</output>
|
||||
<output>**Recommended:** Run `workflow-init` first for project context tracking and workflow sequencing.</output>
|
||||
<ask>Continue in standalone mode or exit to run workflow-init? (continue/exit)</ask>
|
||||
<check if="continue">
|
||||
<action>Set standalone_mode = true</action>
|
||||
</check>
|
||||
<check if="exit">
|
||||
<action>Exit workflow</action>
|
||||
</check>
|
||||
</check>
|
||||
|
||||
<check if="status file found">
|
||||
<action>Load the FULL file: {output_folder}/bmgd-workflow-status.yaml</action>
|
||||
<action>Parse workflow_status section</action>
|
||||
<action>Check status of "create-architecture" workflow</action>
|
||||
<action>Get project_level from YAML metadata</action>
|
||||
<action>Find first non-completed workflow (next expected workflow)</action>
|
||||
|
||||
<check if="project_level < 3">
|
||||
<output>**Note: Level {{project_level}} Project**
|
||||
|
||||
The Detailed Architecture is typically for Level 3-4 projects, but can be used for any project that needs architectural planning.
|
||||
|
||||
For Level {{project_level}}, we'll keep the architecture appropriately scoped.
|
||||
</output>
|
||||
</check>
|
||||
|
||||
<check if="create-architecture status is file path (already completed)">
|
||||
<output>⚠️ Architecture already completed: {{create-architecture status}}</output>
|
||||
<ask>Re-running will overwrite the existing architecture. Continue? (y/n)</ask>
|
||||
<check if="n">
|
||||
<output>Exiting. Use workflow-status to see your next step.</output>
|
||||
<action>Exit workflow</action>
|
||||
</check>
|
||||
</check>
|
||||
|
||||
<check if="create-architecture is not the next expected workflow">
|
||||
<output>⚠️ Next expected workflow: {{next_workflow}}. Architecture is out of sequence.</output>
|
||||
<ask>Continue with Architecture anyway? (y/n)</ask>
|
||||
<check if="n">
|
||||
<output>Exiting. Run {{next_workflow}} instead.</output>
|
||||
<action>Exit workflow</action>
|
||||
</check>
|
||||
</check>
|
||||
|
||||
<action>Set standalone_mode = false</action>
|
||||
</check>
|
||||
|
||||
<action>Check for existing PRD and epics files using fuzzy matching</action>
|
||||
|
||||
<action>Fuzzy match PRD file: {prd_file}</action>
|
||||
<check if="PRD_not_found">
|
||||
<output>**PRD Not Found**
|
||||
|
||||
Decision Architecture works from your Product Requirements Document (PRD).
|
||||
|
||||
Looking for: `*prd*.md`, or `prd/index.md` + files in {output_folder}
|
||||
|
||||
Please run the PRD workflow first to define your requirements.
|
||||
|
||||
Architect: `create-prd`
|
||||
</output>
|
||||
<action>Exit workflow - PRD required</action>
|
||||
</check>
|
||||
|
||||
</step>
|
||||
|
||||
<step n="1" goal="Load and understand project context">
|
||||
<action>Load the PRD using fuzzy matching: {prd_file}, if the PRD is mulitple files in a folder, load the index file and all files associated with the PRD</action>
|
||||
<action>Load epics file using fuzzy matching: {epics_file}</action>
|
||||
|
||||
<action>Check for UX specification using fuzzy matching:
|
||||
<action>Attempt to locate: {ux_spec_file}</action>
|
||||
<check if="ux_spec_found">
|
||||
<action>Load UX spec and extract architectural implications: - Component complexity (simple forms vs rich interactions) - Animation/transition requirements - Real-time update needs (live data, collaborative features) - Platform-specific UI requirements - Accessibility standards (WCAG compliance level) - Responsive design breakpoints - Offline capability requirements - Performance expectations (load times, interaction responsiveness)
|
||||
</action>
|
||||
</check>
|
||||
</action>
|
||||
|
||||
<action>Extract and understand from PRD: - Functional Requirements (what it must do) - Non-Functional Requirements (performance, security, compliance, etc.) - Epic structure and user stories - Acceptance criteria - Any technical constraints mentioned
|
||||
</action>
|
||||
|
||||
<action>Count and assess project scale: - Number of epics: {{epic_count}} - Number of stories: {{story_count}} - Complexity indicators (real-time, multi-tenant, regulated, etc.) - UX complexity level (if UX spec exists) - Novel features
|
||||
</action>
|
||||
|
||||
<action>Reflect understanding back to {user_name}:
|
||||
"I'm reviewing your project documentation for {{project_name}}.
|
||||
I see {{epic_count}} epics with {{story_count}} total stories.
|
||||
{{if_ux_spec}}I also found your UX specification which defines the user experience requirements.{{/if_ux_spec}}
|
||||
|
||||
Key aspects I notice:
|
||||
- [Summarize core functionality]
|
||||
- [Note critical NFRs]
|
||||
{{if_ux_spec}}- [Note UX complexity and requirements]{{/if_ux_spec}}
|
||||
- [Identify unique challenges]
|
||||
|
||||
This will help me guide you through the architectural decisions needed
|
||||
to ensure AI agents implement this consistently."
|
||||
|
||||
</action>
|
||||
|
||||
<ask>Does this match your understanding of the project?</ask>
|
||||
<template-output>project_context_understanding</template-output>
|
||||
</step>
|
||||
|
||||
<step n="2" goal="Discover and evaluate starter templates">
|
||||
<critical>Modern starter templates make many good architectural decisions by default</critical>
|
||||
|
||||
<action>Based on PRD analysis, identify the primary technology domain: - Web application → Look for Next.js, Vite, Remix starters - Mobile app → Look for React Native, Expo, Flutter starters - API/Backend → Look for NestJS, Express, Fastify starters - CLI tool → Look for CLI framework starters - Full-stack → Look for T3, RedwoodJS, Blitz starters
|
||||
</action>
|
||||
|
||||
<check if="ux_spec_loaded">
|
||||
<action>Consider UX requirements when selecting starter:
|
||||
- Rich animations → Framer Motion compatible starter
|
||||
- Complex forms → React Hook Form included starter
|
||||
- Real-time features → Socket.io or WebSocket ready starter
|
||||
- Accessibility focus → WCAG-compliant component library starter
|
||||
- Design system → Storybook-enabled starter
|
||||
</action>
|
||||
</check>
|
||||
|
||||
<action>Search for relevant starter templates with websearch, examples:
|
||||
Search the web: "{{primary_technology}} starter template CLI create command latest"
|
||||
Search the web: "{{primary_technology}} boilerplate generator latest options"
|
||||
</action>
|
||||
|
||||
<check if="starter_templates_found">
|
||||
<action>Investigate what each starter provides:
|
||||
Search the web: "{{starter_name}} default setup technologies included latest"
|
||||
Search the web: "{{starter_name}} project structure file organization"
|
||||
</action>
|
||||
|
||||
<check if="{user_skill_level} == 'expert'">
|
||||
<action>Present starter options concisely:
|
||||
"Found {{starter_name}} which provides:
|
||||
{{quick_decision_list}}
|
||||
|
||||
This would establish our base architecture. Use it?"
|
||||
</action>
|
||||
</check>
|
||||
|
||||
<check if="{user_skill_level} == 'beginner'">
|
||||
<action>Explain starter benefits:
|
||||
"I found {{starter_name}}, which is like a pre-built foundation for your project.
|
||||
|
||||
Think of it like buying a prefab house frame instead of cutting each board yourself.
|
||||
|
||||
It makes these decisions for you:
|
||||
{{friendly_decision_list}}
|
||||
|
||||
This is a great starting point that follows best practices. Should we use it?"
|
||||
</action>
|
||||
</check>
|
||||
|
||||
<ask>Use {{starter_name}} as the foundation? (recommended) [y/n]</ask>
|
||||
|
||||
<check if="user_accepts_starter">
|
||||
<action>Get current starter command and options:
|
||||
Search the web: "{{starter_name}} CLI command options flags latest"
|
||||
</action>
|
||||
|
||||
<action>Document the initialization command:
|
||||
Store command: {{full_starter_command_with_options}}
|
||||
Example: "npx create-next-app@latest my-app --typescript --tailwind --app"
|
||||
</action>
|
||||
|
||||
<action>Extract and document starter-provided decisions:
|
||||
Starter provides these architectural decisions:
|
||||
- Language/TypeScript: {{provided_or_not}}
|
||||
- Styling solution: {{provided_or_not}}
|
||||
- Testing framework: {{provided_or_not}}
|
||||
- Linting/Formatting: {{provided_or_not}}
|
||||
- Build tooling: {{provided_or_not}}
|
||||
- Project structure: {{provided_pattern}}
|
||||
</action>
|
||||
|
||||
<action>Mark these decisions as "PROVIDED BY STARTER" in our decision tracking</action>
|
||||
|
||||
<action>Note for first implementation story:
|
||||
"Project initialization using {{starter_command}} should be the first implementation story"
|
||||
</action>
|
||||
</check>
|
||||
|
||||
<check if="user_rejects_starter">
|
||||
<ask>Any specific reason to avoid the starter? (helps me understand constraints)</ask>
|
||||
<action>Note: Manual setup required, all decisions need to be made explicitly</action>
|
||||
</check>
|
||||
|
||||
</check>
|
||||
|
||||
<check if="no_starter_found_or_applicable">
|
||||
<action>Note: No standard starter template found for this project type.
|
||||
We will make all architectural decisions explicitly.</action>
|
||||
</check>
|
||||
|
||||
<template-output>starter_template_decision</template-output>
|
||||
</step>
|
||||
|
||||
<step n="3" goal="Adapt facilitation style and identify remaining decisions">
|
||||
<action>Based on {user_skill_level} from config, set facilitation approach:
|
||||
|
||||
<check if="{user_skill_level} == 'expert'">
|
||||
Set mode: EXPERT
|
||||
- Use technical terminology freely
|
||||
- Move quickly through decisions
|
||||
- Assume familiarity with patterns and tools
|
||||
- Focus on edge cases and advanced concerns
|
||||
</check>
|
||||
|
||||
<check if="{user_skill_level} == 'intermediate'">
|
||||
Set mode: INTERMEDIATE
|
||||
- Balance technical accuracy with clarity
|
||||
- Explain complex patterns briefly
|
||||
- Confirm understanding at key points
|
||||
- Provide context for non-obvious choices
|
||||
</check>
|
||||
|
||||
<check if="{user_skill_level} == 'beginner'">
|
||||
Set mode: BEGINNER
|
||||
- Use analogies and real-world examples
|
||||
- Explain technical concepts in simple terms
|
||||
- Provide education about why decisions matter
|
||||
- Protect from complexity overload
|
||||
</check>
|
||||
</action>
|
||||
|
||||
<action>Load decision catalog: {decision_catalog}</action>
|
||||
<action>Load architecture patterns: {architecture_patterns}</action>
|
||||
|
||||
<action>Analyze PRD against patterns to identify needed decisions: - Match functional requirements to known patterns - Identify which categories of decisions are needed - Flag any novel/unique aspects requiring special attention - Consider which decisions the starter template already made (if applicable)
|
||||
</action>
|
||||
|
||||
<action>Create decision priority list:
|
||||
CRITICAL (blocks everything): - {{list_of_critical_decisions}}
|
||||
|
||||
IMPORTANT (shapes architecture):
|
||||
- {{list_of_important_decisions}}
|
||||
|
||||
NICE-TO-HAVE (can defer):
|
||||
- {{list_of_optional_decisions}}
|
||||
|
||||
</action>
|
||||
|
||||
<action>Announce plan to {user_name} based on mode:
|
||||
<check if="mode == 'EXPERT'">
|
||||
"Based on your PRD, we need to make {{total_decision_count}} architectural decisions.
|
||||
{{starter_covered_count}} are covered by the starter template.
|
||||
Let's work through the remaining {{remaining_count}} decisions."
|
||||
</check>
|
||||
|
||||
<check if="mode == 'BEGINNER'">
|
||||
"Great! I've analyzed your requirements and found {{total_decision_count}} technical
|
||||
choices we need to make. Don't worry - I'll guide you through each one and explain
|
||||
why it matters. {{if_starter}}The starter template handles {{starter_covered_count}}
|
||||
of these automatically.{{/if_starter}}"
|
||||
</check>
|
||||
|
||||
</action>
|
||||
|
||||
<template-output>decision_identification</template-output>
|
||||
</step>
|
||||
|
||||
<step n="4" goal="Facilitate collaborative decision making" repeat="for-each-decision">
|
||||
<critical>Each decision must be made WITH the user, not FOR them</critical>
|
||||
<critical>ALWAYS search the web to verify current versions - NEVER trust hardcoded versions</critical>
|
||||
|
||||
<action>For each decision in priority order:</action>
|
||||
|
||||
<action>Present the decision based on mode:
|
||||
<check if="mode == 'EXPERT'">
|
||||
"{{Decision_Category}}: {{Specific_Decision}}
|
||||
|
||||
Options: {{concise_option_list_with_tradeoffs}}
|
||||
|
||||
Recommendation: {{recommendation}} for {{reason}}"
|
||||
|
||||
</check>
|
||||
|
||||
<check if="mode == 'INTERMEDIATE'">
|
||||
"Next decision: {{Human_Friendly_Category}}
|
||||
|
||||
We need to choose {{Specific_Decision}}.
|
||||
|
||||
Common options:
|
||||
{{option_list_with_brief_explanations}}
|
||||
|
||||
For your project, {{recommendation}} would work well because {{reason}}."
|
||||
|
||||
</check>
|
||||
|
||||
<check if="mode == 'BEGINNER'">
|
||||
"Let's talk about {{Human_Friendly_Category}}.
|
||||
|
||||
{{Educational_Context_About_Why_This_Matters}}
|
||||
|
||||
Think of it like {{real_world_analogy}}.
|
||||
|
||||
Your main options:
|
||||
{{friendly_options_with_pros_cons}}
|
||||
|
||||
My suggestion: {{recommendation}}
|
||||
This is good for you because {{beginner_friendly_reason}}."
|
||||
|
||||
</check>
|
||||
|
||||
</action>
|
||||
|
||||
<check if="decision_involves_specific_technology">
|
||||
<action>Verify current stable version:
|
||||
Search the web: "{{technology}} latest stable version"
|
||||
Search the web: "{{technology}} current LTS version"
|
||||
</action>
|
||||
|
||||
<action>Update decision record with verified version:
|
||||
Technology: {{technology}}
|
||||
Verified Version: {{version_from_search}}
|
||||
Verification Date: {{today}}
|
||||
</action>
|
||||
|
||||
</check>
|
||||
|
||||
<ask>What's your preference? (or 'explain more' for details)</ask>
|
||||
|
||||
<check if="user_wants_more_info">
|
||||
<action>Provide deeper explanation appropriate to skill level</action>
|
||||
<check if="complex_tradeoffs">
|
||||
<action>Consider using advanced elicitation:
|
||||
"Would you like to explore innovative approaches to this decision?
|
||||
I can help brainstorm unconventional solutions if you have specific goals."
|
||||
</action>
|
||||
</check>
|
||||
</check>
|
||||
|
||||
<action>Record decision:
|
||||
Category: {{category}}
|
||||
Decision: {{user_choice}}
|
||||
Version: {{verified_version_if_applicable}}
|
||||
Affects Epics: {{list_of_affected_epics}}
|
||||
Rationale: {{user_reasoning_or_default}}
|
||||
Provided by Starter: {{yes_if_from_starter}}
|
||||
</action>
|
||||
|
||||
<action>Check for cascading implications:
|
||||
"This choice means we'll also need to {{related_decisions}}"
|
||||
</action>
|
||||
|
||||
<template-output>decision_record</template-output>
|
||||
</step>
|
||||
|
||||
<step n="5" goal="Address cross-cutting concerns">
|
||||
<critical>These decisions affect EVERY epic and story</critical>
|
||||
|
||||
<action>Facilitate decisions for consistency patterns: - Error handling strategy (How will all agents handle errors?) - Logging approach (Structured? Format? Levels?) - Date/time handling (Timezone? Format? Library?) - Authentication pattern (Where? How? Token format?) - API response format (Structure? Status codes? Errors?) - Testing strategy (Unit? Integration? E2E?)
|
||||
</action>
|
||||
|
||||
<check if="{user_skill_level} == 'beginner'">
|
||||
<action>Explain why these matter why its critical to go through and decide these things now.</action>
|
||||
</check>
|
||||
|
||||
<template-output>cross_cutting_decisions</template-output>
|
||||
</step>
|
||||
|
||||
<step n="6" goal="Define project structure and boundaries">
|
||||
<action>Based on all decisions made, define the project structure</action>
|
||||
|
||||
<action>Create comprehensive source tree: - Root configuration files - Source code organization - Test file locations - Build/dist directories - Documentation structure
|
||||
</action>
|
||||
|
||||
<action>Map epics to architectural boundaries:
|
||||
"Epic: {{epic_name}} → Lives in {{module/directory/service}}"
|
||||
</action>
|
||||
|
||||
<action>Define integration points: - Where do components communicate? - What are the API boundaries? - How do services interact?
|
||||
</action>
|
||||
|
||||
<template-output>project_structure</template-output>
|
||||
</step>
|
||||
|
||||
<step n="7" goal="Design novel architectural patterns" optional="true">
|
||||
<critical>Some projects require INVENTING new patterns, not just choosing existing ones</critical>
|
||||
|
||||
<action>Scan PRD for concepts that don't have standard solutions: - Novel interaction patterns (e.g., "swipe to match" before Tinder existed) - Unique multi-component workflows (e.g., "viral invitation system") - New data relationships (e.g., "social graph" before Facebook) - Unprecedented user experiences (e.g., "ephemeral messages" before Snapchat) - Complex state machines crossing multiple epics
|
||||
</action>
|
||||
|
||||
<check if="novel_patterns_detected">
|
||||
<action>For each novel pattern identified:</action>
|
||||
|
||||
<action>Engage user in design collaboration:
|
||||
<check if="{user_skill_level} == 'expert'">
|
||||
"The {{pattern_name}} concept requires architectural innovation.
|
||||
|
||||
Core challenge: {{challenge_description}}
|
||||
|
||||
Let's design the component interaction model:"
|
||||
</check>
|
||||
|
||||
<check if="{user_skill_level} == 'beginner'">
|
||||
"Your idea about {{pattern_name}} is unique - there isn't a standard way to build this yet!
|
||||
|
||||
This is exciting - we get to invent the architecture together.
|
||||
|
||||
Let me help you think through how this should work:"
|
||||
</check>
|
||||
</action>
|
||||
|
||||
<action>Facilitate pattern design:
|
||||
1. Identify core components involved
|
||||
2. Map data flow between components
|
||||
3. Design state management approach
|
||||
4. Create sequence diagrams for complex flows
|
||||
5. Define API contracts for the pattern
|
||||
6. Consider edge cases and failure modes
|
||||
</action>
|
||||
|
||||
<action>Use advanced elicitation for innovation:
|
||||
"What if we approached this differently?
|
||||
- What would the ideal user experience look like?
|
||||
- Are there analogies from other domains we could apply?
|
||||
- What constraints can we challenge?"
|
||||
</action>
|
||||
|
||||
<action>Document the novel pattern:
|
||||
Pattern Name: {{pattern_name}}
|
||||
Purpose: {{what_problem_it_solves}}
|
||||
Components:
|
||||
{{component_list_with_responsibilities}}
|
||||
Data Flow:
|
||||
{{sequence_description_or_diagram}}
|
||||
Implementation Guide:
|
||||
{{how_agents_should_build_this}}
|
||||
Affects Epics:
|
||||
{{epics_that_use_this_pattern}}
|
||||
</action>
|
||||
|
||||
<action>Validate pattern completeness:
|
||||
"Does this {{pattern_name}} design cover all the use cases in your epics?
|
||||
- {{use_case_1}}: ✓ Handled by {{component}}
|
||||
- {{use_case_2}}: ✓ Handled by {{component}}
|
||||
..."
|
||||
</action>
|
||||
|
||||
</check>
|
||||
|
||||
<check if="no_novel_patterns">
|
||||
<action>Note: All patterns in this project have established solutions.
|
||||
Proceeding with standard architectural patterns.</action>
|
||||
</check>
|
||||
|
||||
<template-output>novel_pattern_designs</template-output>
|
||||
</step>
|
||||
|
||||
<step n="8" goal="Define implementation patterns to prevent agent conflicts">
|
||||
<critical>These patterns ensure multiple AI agents write compatible code</critical>
|
||||
<critical>Focus on what agents could decide DIFFERENTLY if not specified</critical>
|
||||
|
||||
<action>Load pattern categories: {pattern_categories}</action>
|
||||
|
||||
<action>Based on chosen technologies, identify potential conflict points:
|
||||
"Given that we're using {{tech_stack}}, agents need consistency rules for:"
|
||||
</action>
|
||||
|
||||
<action>For each relevant pattern category, facilitate decisions:
|
||||
|
||||
NAMING PATTERNS (How things are named):
|
||||
<check if="has_api">
|
||||
- REST endpoint naming: /users or /user? Plural or singular?
|
||||
- Route parameter format: :id or {id}?
|
||||
</check>
|
||||
<check if="has_database">
|
||||
- Table naming: users or Users or user?
|
||||
- Column naming: user_id or userId?
|
||||
- Foreign key format: user_id or fk_user?
|
||||
</check>
|
||||
<check if="has_frontend">
|
||||
- Component naming: UserCard or user-card?
|
||||
- File naming: UserCard.tsx or user-card.tsx?
|
||||
</check>
|
||||
|
||||
STRUCTURE PATTERNS (How things are organized):
|
||||
- Where do tests live? __tests__/ or *.test.ts co-located?
|
||||
- How are components organized? By feature or by type?
|
||||
- Where do shared utilities go?
|
||||
|
||||
FORMAT PATTERNS (Data exchange formats):
|
||||
<check if="has_api">
|
||||
- API response wrapper? {data: ..., error: ...} or direct response?
|
||||
- Error format? {message, code} or {error: {type, detail}}?
|
||||
- Date format in JSON? ISO strings or timestamps?
|
||||
</check>
|
||||
|
||||
COMMUNICATION PATTERNS (How components interact):
|
||||
<check if="has_events">
|
||||
- Event naming convention?
|
||||
- Event payload structure?
|
||||
</check>
|
||||
<check if="has_state_management">
|
||||
- State update pattern?
|
||||
- Action naming convention?
|
||||
</check>
|
||||
|
||||
LIFECYCLE PATTERNS (State and flow):
|
||||
- How are loading states handled?
|
||||
- What's the error recovery pattern?
|
||||
- How are retries implemented?
|
||||
|
||||
LOCATION PATTERNS (Where things go):
|
||||
- API route structure?
|
||||
- Static asset organization?
|
||||
- Config file locations?
|
||||
|
||||
CONSISTENCY PATTERNS (Cross-cutting):
|
||||
- How are dates formatted in the UI?
|
||||
- What's the logging format?
|
||||
- How are user-facing errors written?
|
||||
|
||||
</action>
|
||||
|
||||
<check if="{user_skill_level} == 'expert'">
|
||||
<action>Rapid-fire through patterns:
|
||||
"Quick decisions on implementation patterns:
|
||||
- {{pattern}}: {{suggested_convention}} OK? [y/n/specify]"
|
||||
</action>
|
||||
</check>
|
||||
|
||||
<check if="{user_skill_level} == 'beginner'">
|
||||
<action>Explain each pattern's importance:
|
||||
"Let me explain why this matters:
|
||||
If one AI agent names database tables 'users' and another names them 'Users',
|
||||
your app will crash. We need to pick one style and make sure everyone follows it."
|
||||
</action>
|
||||
</check>
|
||||
|
||||
<action>Document implementation patterns:
|
||||
Category: {{pattern_category}}
|
||||
Pattern: {{specific_pattern}}
|
||||
Convention: {{decided_convention}}
|
||||
Example: {{concrete_example}}
|
||||
Enforcement: "All agents MUST follow this pattern"
|
||||
</action>
|
||||
|
||||
<template-output>implementation_patterns</template-output>
|
||||
</step>
|
||||
|
||||
<step n="9" goal="Validate architectural coherence">
|
||||
<action>Run coherence checks:</action>
|
||||
|
||||
<action>Check decision compatibility: - Do all decisions work together? - Are there any conflicting choices? - Do the versions align properly?
|
||||
</action>
|
||||
|
||||
<action>Verify epic coverage: - Does every epic have architectural support? - Are all user stories implementable with these decisions? - Are there any gaps?
|
||||
</action>
|
||||
|
||||
<action>Validate pattern completeness: - Are there any patterns we missed that agents would need? - Do novel patterns integrate with standard architecture? - Are implementation patterns comprehensive enough?
|
||||
</action>
|
||||
|
||||
<check if="issues_found">
|
||||
<action>Address issues with {user_name}:
|
||||
"I notice {{issue_description}}.
|
||||
We should {{suggested_resolution}}."
|
||||
</action>
|
||||
<ask>How would you like to resolve this?</ask>
|
||||
<action>Update decisions based on resolution</action>
|
||||
</check>
|
||||
|
||||
<template-output>coherence_validation</template-output>
|
||||
</step>
|
||||
|
||||
<step n="10" goal="Generate decision architecture document">
|
||||
<critical>The document must be complete, specific, and validation-ready</critical>
|
||||
<critical>This is the consistency contract for all AI agents</critical>
|
||||
|
||||
<action>Load template: {architecture_template}</action>
|
||||
|
||||
<action>Generate sections: 1. Executive Summary (2-3 sentences about the architecture approach) 2. Project Initialization (starter command if applicable) 3. Decision Summary Table (with verified versions and epic mapping) 4. Complete Project Structure (full tree, no placeholders) 5. Epic to Architecture Mapping (every epic placed) 6. Technology Stack Details (versions, configurations) 7. Integration Points (how components connect) 8. Novel Pattern Designs (if any were created) 9. Implementation Patterns (all consistency rules) 10. Consistency Rules (naming, organization, formats) 11. Data Architecture (models and relationships) 12. API Contracts (request/response formats) 13. Security Architecture (auth, authorization, data protection) 14. Performance Considerations (from NFRs) 15. Deployment Architecture (where and how) 16. Development Environment (setup and prerequisites) 17. Architecture Decision Records (key decisions with rationale)
|
||||
</action>
|
||||
|
||||
<action>Fill template with all collected decisions and patterns</action>
|
||||
|
||||
<action>Ensure starter command is first implementation story:
|
||||
<check if="using_starter_template">
|
||||
"## Project Initialization
|
||||
|
||||
First implementation story should execute:
|
||||
```bash
|
||||
{{starter_command_with_options}}
|
||||
```
|
||||
|
||||
This establishes the base architecture with these decisions:
|
||||
{{starter_provided_decisions}}"
|
||||
</check>
|
||||
|
||||
</action>
|
||||
|
||||
<template-output>architecture_document</template-output>
|
||||
</step>
|
||||
|
||||
<step n="11" goal="Validate document completeness">
|
||||
<action>Load validation checklist: {installed_path}/checklist.md</action>
|
||||
|
||||
<action>Run validation checklist from {installed_path}/checklist.md</action>
|
||||
|
||||
<action>Verify MANDATORY items:
|
||||
□ Decision table has Version column with specific versions
|
||||
□ Every epic is mapped to architecture components
|
||||
□ Source tree is complete, not generic
|
||||
□ No placeholder text remains
|
||||
□ All FRs from PRD have architectural support
|
||||
□ All NFRs from PRD are addressed
|
||||
□ Implementation patterns cover all potential conflicts
|
||||
□ Novel patterns are fully documented (if applicable)
|
||||
</action>
|
||||
|
||||
<check if="validation_failed">
|
||||
<action>Fix missing items automatically</action>
|
||||
<goto step="10">Regenerate document section</goto>
|
||||
</check>
|
||||
|
||||
<template-output>validation_results</template-output>
|
||||
</step>
|
||||
|
||||
<step n="12" goal="Final review and update workflow status">
|
||||
<action>Present completion summary:</action>
|
||||
|
||||
<check if="{user_skill_level} == 'expert'">
|
||||
"Architecture complete. {{decision_count}} decisions documented.
|
||||
Ready for implementation phase."
|
||||
</check>
|
||||
|
||||
<check if="{user_skill_level} == 'beginner'">
|
||||
"Excellent! Your architecture is complete. You made {{decision_count}} important
|
||||
decisions that will keep AI agents consistent as they build your app.
|
||||
|
||||
What happens next:
|
||||
1. AI agents will read this architecture before implementing each story
|
||||
2. They'll follow your technical choices exactly
|
||||
3. Your app will be built with consistent patterns throughout
|
||||
|
||||
You're ready to move to the implementation phase!"
|
||||
|
||||
</check>
|
||||
|
||||
<action>Save document to {planning_artifacts}/architecture.md</action>
|
||||
|
||||
<check if="standalone_mode != true">
|
||||
<action>Load the FULL file: {output_folder}/bmgd-workflow-status.yaml</action>
|
||||
<action>Find workflow_status key "create-architecture"</action>
|
||||
<critical>ONLY write the file path as the status value - no other text, notes, or metadata</critical>
|
||||
<action>Update workflow_status["create-architecture"] = "{output_folder}/bmm-architecture-{{date}}.md"</action>
|
||||
<action>Save file, preserving ALL comments and structure including STATUS DEFINITIONS</action>
|
||||
|
||||
<action>Find first non-completed workflow in workflow_status (next workflow to do)</action>
|
||||
<action>Determine next agent from path file based on next workflow</action>
|
||||
|
||||
</check>
|
||||
|
||||
<output>✅ Decision Architecture workflow complete!</output>
|
||||
|
||||
<output>**Deliverables Created:**
|
||||
|
||||
- ✅ architecture.md - Complete architectural decisions document
|
||||
{{if_novel_patterns}}
|
||||
- ✅ Novel pattern designs for unique concepts
|
||||
{{/if_novel_patterns}}
|
||||
{{if_starter_template}}
|
||||
- ✅ Project initialization command documented
|
||||
{{/if_starter_template}}
|
||||
|
||||
The architecture is ready to guide AI agents through consistent implementation.
|
||||
|
||||
**Next Steps:**
|
||||
|
||||
- **Next required:** {{next_workflow}} ({{next_agent}} agent)
|
||||
- Review the architecture.md document before proceeding
|
||||
|
||||
Check status anytime with: `workflow-status`
|
||||
</output>
|
||||
|
||||
<template-output>completion_summary</template-output>
|
||||
</step>
|
||||
|
||||
</workflow>
|
||||
@@ -0,0 +1,13 @@
|
||||
category,when_needed,what_to_define,why_critical
|
||||
naming_patterns,Any technology with named entities,How things are named (format/case/structure),Agents will create different names for same concept
|
||||
structure_patterns,Any technology with organization,How things are organized (folders/modules/layers),Agents will put things in different places
|
||||
format_patterns,Any technology with data exchange,How data is formatted (JSON/XML/responses),Agents will use incompatible formats
|
||||
communication_patterns,Any technology with inter-component communication,How components talk (protocols/events/messages),Agents will use different communication methods
|
||||
lifecycle_patterns,Any technology with state or flow,How state changes and flows work,Agents will handle state transitions differently
|
||||
location_patterns,Any technology with storage or routing,Where things go (URLs/paths/storage),Agents will put things in different locations
|
||||
consistency_patterns,Always,Cross-cutting concerns (dates/errors/logs),Every agent will do these differently
|
||||
|
||||
# PRINCIPLE FOR LLM:
|
||||
# Any time multiple agents might make the SAME decision DIFFERENTLY, that's a pattern to capture.
|
||||
# Think about: What could an agent encounter where they'd have to guess?
|
||||
# If they'd guess, define the pattern. If it's obvious from the tech choice, skip it.
|
||||
|
@@ -0,0 +1,224 @@
|
||||
---
|
||||
name: 'step-01-init'
|
||||
description: 'Initialize the architecture workflow, validate readiness, and discover input documents'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/3-technical/game-architecture'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-01-init.md'
|
||||
continueStepFile: '{workflow_path}/steps/step-01b-continue.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-02-context.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/game-architecture.md'
|
||||
templateFile: '{workflow_path}/templates/architecture-template.md'
|
||||
|
||||
# Knowledge Bases
|
||||
decisionCatalog: '{workflow_path}/decision-catalog.yaml'
|
||||
architecturePatterns: '{workflow_path}/architecture-patterns.yaml'
|
||||
patternCategories: '{workflow_path}/pattern-categories.csv'
|
||||
---
|
||||
|
||||
# Step 1: Initialize Architecture Workflow
|
||||
|
||||
**Progress: Step 1 of 9** - Next: Project Context
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Validate workflow readiness, check for existing architecture work, discover input documents (GDD, Epics), and initialize the output document with proper frontmatter.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- NEVER generate content without user input
|
||||
- CRITICAL: Read the complete step file before taking any action
|
||||
- CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- YOU ARE A FACILITATOR, not a content generator
|
||||
- NEVER mention time estimates
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- You are a veteran game architect facilitator
|
||||
- Focus on architectural decisions that prevent AI agent conflicts
|
||||
- This is a decision-focused workflow, not an implementation spec
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- Check for existing architecture before starting fresh
|
||||
- Validate that required input documents exist (GDD at minimum)
|
||||
- Initialize document with proper frontmatter for state tracking
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- Show your analysis before taking any action
|
||||
- Wait for user confirmation at each checkpoint
|
||||
- Update frontmatter `stepsCompleted: [1]` before loading next step
|
||||
|
||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
||||
|
||||
### 1. Check for Existing Architecture
|
||||
|
||||
**Search for existing architecture document:**
|
||||
|
||||
Look for existing architecture files in {output_folder}:
|
||||
|
||||
- `*architecture*.md`
|
||||
- `*arch*.md`
|
||||
|
||||
**If existing architecture found:**
|
||||
|
||||
"I found an existing architecture document: `{{existing_file}}`
|
||||
|
||||
**Options:**
|
||||
|
||||
1. **Continue** - Resume from where you left off
|
||||
2. **Start Fresh** - Begin a new architecture (will overwrite)
|
||||
3. **Review** - Let me review the existing document first
|
||||
|
||||
Which would you like to do?"
|
||||
|
||||
**Handle user selection:**
|
||||
|
||||
- If **Continue**: Load `{continueStepFile}`
|
||||
- If **Start Fresh**: Continue with step 2 below
|
||||
- If **Review**: Show document summary and return to options
|
||||
|
||||
### 2. Discover Required Input Documents
|
||||
|
||||
**Search for GDD:**
|
||||
|
||||
Look for GDD files using patterns:
|
||||
|
||||
- `{output_folder}/*gdd*.md`
|
||||
- `{output_folder}/*game-design*.md`
|
||||
|
||||
**If GDD not found:**
|
||||
|
||||
"**GDD Not Found**
|
||||
|
||||
The Architecture workflow works from your Game Design Document (GDD).
|
||||
|
||||
The GDD provides:
|
||||
|
||||
- Core mechanics and systems to architect
|
||||
- Technical requirements and constraints
|
||||
- Platform targets and performance needs
|
||||
|
||||
Please run the GDD workflow first: `create-gdd`"
|
||||
|
||||
**Exit workflow - GDD required**
|
||||
|
||||
**If GDD found:**
|
||||
|
||||
"**Input Document Found:**
|
||||
|
||||
- GDD: `{{gdd_file}}`
|
||||
|
||||
I'll analyze this to understand your game's technical requirements."
|
||||
|
||||
### 3. Discover Optional Input Documents
|
||||
|
||||
**Search for additional documents:**
|
||||
|
||||
- **Epics**: `{output_folder}/*epic*.md`
|
||||
- **Game Brief**: `{output_folder}/*brief*.md`
|
||||
- **Narrative**: `{output_folder}/*narrative*.md`
|
||||
|
||||
**Report findings:**
|
||||
|
||||
"**Additional Documents Found:**
|
||||
{{list_of_found_documents}}
|
||||
|
||||
These will provide additional context for architectural decisions."
|
||||
|
||||
### 4. Confirm Workflow Start
|
||||
|
||||
**Present start confirmation:**
|
||||
|
||||
"**Ready to Start Architecture Workflow**
|
||||
|
||||
{{user_name}}, I'm ready to help you create the game architecture for your project.
|
||||
|
||||
**What we'll cover:**
|
||||
|
||||
1. Engine/framework selection and validation
|
||||
2. Core architectural decisions (rendering, physics, networking, etc.)
|
||||
3. Project structure and code organization
|
||||
4. Implementation patterns for AI agent consistency
|
||||
5. Cross-cutting concerns (error handling, logging, etc.)
|
||||
|
||||
**Input documents:**
|
||||
|
||||
- GDD: `{{gdd_file}}`
|
||||
{{additional_documents_list}}
|
||||
|
||||
**The goal:** Create an architecture document that ensures all AI agents implement your game consistently.
|
||||
|
||||
Ready to begin? [Y/N]"
|
||||
|
||||
### 5. Initialize Output Document
|
||||
|
||||
**If user confirms, create the initial document:**
|
||||
|
||||
Create `{outputFile}` with frontmatter:
|
||||
|
||||
```markdown
|
||||
---
|
||||
title: 'Game Architecture'
|
||||
project: '{{project_name}}'
|
||||
date: '{{date}}'
|
||||
author: '{{user_name}}'
|
||||
version: '1.0'
|
||||
stepsCompleted: [1]
|
||||
status: 'in-progress'
|
||||
|
||||
# Source Documents
|
||||
gdd: '{{gdd_file}}'
|
||||
epics: '{{epics_file_or_null}}'
|
||||
brief: '{{brief_file_or_null}}'
|
||||
---
|
||||
|
||||
# Game Architecture
|
||||
|
||||
## Document Status
|
||||
|
||||
This architecture document is being created through the BMGD Architecture Workflow.
|
||||
|
||||
**Steps Completed:** 1 of 9 (Initialize)
|
||||
|
||||
---
|
||||
|
||||
_Content will be added as we progress through the workflow._
|
||||
```
|
||||
|
||||
### 6. Proceed to Context Step
|
||||
|
||||
After initialization:
|
||||
|
||||
- Update frontmatter: `stepsCompleted: [1]`
|
||||
- Load `{nextStepFile}`
|
||||
|
||||
---
|
||||
|
||||
## SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### SUCCESS:
|
||||
|
||||
- Existing architecture check performed
|
||||
- GDD discovered and validated
|
||||
- Optional documents discovered
|
||||
- User confirmed workflow start
|
||||
- Output document initialized with proper frontmatter
|
||||
- Frontmatter updated with stepsCompleted: [1]
|
||||
|
||||
### SYSTEM FAILURE:
|
||||
|
||||
- Skipping input document discovery
|
||||
- Starting without user confirmation
|
||||
- Not checking for existing architecture
|
||||
- Missing frontmatter initialization
|
||||
- Proceeding without GDD
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
@@ -0,0 +1,154 @@
|
||||
---
|
||||
name: 'step-01b-continue'
|
||||
description: 'Continue an existing architecture workflow from where it left off'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/3-technical/game-architecture'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-01b-continue.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/game-architecture.md'
|
||||
|
||||
# Step Files (for routing)
|
||||
step02: '{workflow_path}/steps/step-02-context.md'
|
||||
step03: '{workflow_path}/steps/step-03-starter.md'
|
||||
step04: '{workflow_path}/steps/step-04-decisions.md'
|
||||
step05: '{workflow_path}/steps/step-05-crosscutting.md'
|
||||
step06: '{workflow_path}/steps/step-06-structure.md'
|
||||
step07: '{workflow_path}/steps/step-07-patterns.md'
|
||||
step08: '{workflow_path}/steps/step-08-validation.md'
|
||||
step09: '{workflow_path}/steps/step-09-complete.md'
|
||||
---
|
||||
|
||||
# Step 1b: Continue Existing Architecture
|
||||
|
||||
**Resuming Architecture Workflow**
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Load the existing architecture document, determine progress, and route to the appropriate next step.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- NEVER generate content without user input
|
||||
- CRITICAL: Read the complete step file before taking any action
|
||||
- YOU ARE A FACILITATOR, not a content generator
|
||||
- NEVER mention time estimates
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- Parse frontmatter to determine completed steps
|
||||
- Present summary of current progress
|
||||
- Route to correct next step based on state
|
||||
|
||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
||||
|
||||
### 1. Load Existing Architecture
|
||||
|
||||
**Read the existing architecture document:**
|
||||
|
||||
Load `{outputFile}` and parse the frontmatter to extract:
|
||||
|
||||
- `stepsCompleted` array
|
||||
- `status`
|
||||
- `project` name
|
||||
- Source document references
|
||||
|
||||
### 2. Analyze Progress
|
||||
|
||||
**Determine workflow state:**
|
||||
|
||||
Map completed steps to workflow progress:
|
||||
|
||||
- Step 1: Initialize
|
||||
- Step 2: Context
|
||||
- Step 3: Starter/Engine
|
||||
- Step 4: Decisions
|
||||
- Step 5: Cross-cutting
|
||||
- Step 6: Structure
|
||||
- Step 7: Patterns
|
||||
- Step 8: Validation
|
||||
- Step 9: Complete
|
||||
|
||||
**Calculate next step:**
|
||||
|
||||
Find the highest completed step and determine the next step file to load.
|
||||
|
||||
### 3. Present Continuation Summary
|
||||
|
||||
"**Resuming Architecture Workflow**
|
||||
|
||||
{{user_name}}, I found your existing architecture for **{{project_name}}**.
|
||||
|
||||
**Progress:** Steps completed: {{stepsCompleted}}
|
||||
|
||||
**Current Status:**
|
||||
|
||||
- Last completed: {{last_step_name}}
|
||||
- Next step: {{next_step_name}} (Step {{next_step_number}} of 9)
|
||||
|
||||
**Document sections completed:**
|
||||
{{list_of_completed_sections}}
|
||||
|
||||
Would you like to:
|
||||
|
||||
1. **Continue** - Resume from {{next_step_name}}
|
||||
2. **Review** - Show me what we've documented so far
|
||||
3. **Restart Step** - Redo the last completed step
|
||||
|
||||
Select an option:"
|
||||
|
||||
### 4. Handle User Selection
|
||||
|
||||
**If Continue:**
|
||||
|
||||
- Load the next step file based on `stepsCompleted`
|
||||
|
||||
**If Review:**
|
||||
|
||||
- Present summary of all completed sections
|
||||
- Return to continuation options
|
||||
|
||||
**If Restart Step:**
|
||||
|
||||
- Decrement stepsCompleted to remove last step
|
||||
- Load the step file for the step being restarted
|
||||
|
||||
### 5. Route to Next Step
|
||||
|
||||
Based on next step number, load the appropriate step file:
|
||||
|
||||
| Next Step | File |
|
||||
| --------- | -------- |
|
||||
| 2 | {step02} |
|
||||
| 3 | {step03} |
|
||||
| 4 | {step04} |
|
||||
| 5 | {step05} |
|
||||
| 6 | {step06} |
|
||||
| 7 | {step07} |
|
||||
| 8 | {step08} |
|
||||
| 9 | {step09} |
|
||||
|
||||
---
|
||||
|
||||
## SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### SUCCESS:
|
||||
|
||||
- Existing document loaded and parsed
|
||||
- Progress accurately determined
|
||||
- User presented with clear options
|
||||
- Correct step file loaded based on state
|
||||
|
||||
### SYSTEM FAILURE:
|
||||
|
||||
- Failing to parse frontmatter correctly
|
||||
- Loading wrong step file
|
||||
- Not presenting continuation options
|
||||
- Overwriting existing progress without confirmation
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
@@ -0,0 +1,263 @@
|
||||
---
|
||||
name: 'step-02-context'
|
||||
description: 'Load and understand project context from GDD and supporting documents'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/3-technical/game-architecture'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-02-context.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-03-starter.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/game-architecture.md'
|
||||
|
||||
# Task References
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
---
|
||||
|
||||
# Step 2: Project Context
|
||||
|
||||
**Progress: Step 2 of 9** - Next: Engine/Starter Selection
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Load and analyze the GDD and supporting documents to understand the game's technical requirements, systems, and constraints that will drive architectural decisions.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- NEVER generate content without user input
|
||||
- CRITICAL: Read the complete step file before taking any action
|
||||
- CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- YOU ARE A FACILITATOR, not a content generator
|
||||
- NEVER mention time estimates
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- You are a veteran game architect facilitator
|
||||
- Extract technical implications from game design
|
||||
- Identify complexity drivers and novel requirements
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- Load ALL referenced input documents
|
||||
- Identify systems that need architectural support
|
||||
- Flag novel concepts requiring special attention
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- Show your analysis before taking any action
|
||||
- Present A/P/C menu after context analysis
|
||||
- ONLY proceed when user chooses C (Continue)
|
||||
- Update frontmatter `stepsCompleted: [1, 2]` before loading next step
|
||||
|
||||
## COLLABORATION MENUS (A/P/C):
|
||||
|
||||
- **A (Advanced Elicitation)**: Deep dive into technical requirements
|
||||
- **P (Party Mode)**: Get multiple perspectives on complexity
|
||||
- **C (Continue)**: Confirm understanding and proceed
|
||||
|
||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
||||
|
||||
### 1. Load GDD Document
|
||||
|
||||
**Load the full GDD:**
|
||||
|
||||
Read the GDD file identified in initialization. Extract:
|
||||
|
||||
- Game title and core concept
|
||||
- Platform targets
|
||||
- Core mechanics and systems
|
||||
- Technical requirements section
|
||||
- Performance constraints
|
||||
- Multiplayer/networking needs
|
||||
- Any technical risks identified
|
||||
|
||||
### 2. Load Supporting Documents
|
||||
|
||||
**Load any available supporting documents:**
|
||||
|
||||
- **Epics**: User stories and acceptance criteria
|
||||
- **Game Brief**: Vision and scope constraints
|
||||
- **Narrative**: Story-driven technical needs
|
||||
|
||||
### 3. Analyze Technical Requirements
|
||||
|
||||
**Extract and categorize technical needs:**
|
||||
|
||||
**Core Systems Identified:**
|
||||
|
||||
| System | Complexity | GDD Reference |
|
||||
| --------------- | ------------------- | ------------- |
|
||||
| {{system_name}} | {{low/medium/high}} | {{section}} |
|
||||
|
||||
**Platform Requirements:**
|
||||
|
||||
- Primary platform: {{platform}}
|
||||
- Secondary platforms: {{if_any}}
|
||||
- Cross-platform considerations: {{if_applicable}}
|
||||
|
||||
**Performance Constraints:**
|
||||
|
||||
- Frame rate target: {{fps}}
|
||||
- Resolution support: {{resolutions}}
|
||||
- Memory constraints: {{if_specified}}
|
||||
- Load time requirements: {{if_specified}}
|
||||
|
||||
**Networking Requirements:**
|
||||
|
||||
- Multiplayer type: {{none/local/online}}
|
||||
- Network architecture: {{p2p/client-server/hybrid}}
|
||||
- Sync requirements: {{if_applicable}}
|
||||
|
||||
### 4. Identify Complexity Drivers
|
||||
|
||||
**Flag areas requiring architectural attention:**
|
||||
|
||||
"Based on my analysis, these are the complexity drivers:
|
||||
|
||||
**High Complexity:**
|
||||
{{list_of_high_complexity_items}}
|
||||
|
||||
**Novel Concepts:**
|
||||
{{unique_features_without_standard_patterns}}
|
||||
|
||||
**Technical Risks:**
|
||||
{{risks_from_gdd}}"
|
||||
|
||||
### 5. Reflect Understanding
|
||||
|
||||
**Present analysis to user:**
|
||||
|
||||
"{{user_name}}, I've analyzed the technical requirements for **{{game_name}}**.
|
||||
|
||||
**Project Summary:**
|
||||
|
||||
- {{core_concept}}
|
||||
- Platform: {{platform}}
|
||||
- {{key_distinguishing_features}}
|
||||
|
||||
**Key Systems Requiring Architecture:**
|
||||
|
||||
1. {{system_1}} - {{brief_description}}
|
||||
2. {{system_2}} - {{brief_description}}
|
||||
3. {{system_3}} - {{brief_description}}
|
||||
|
||||
**Complexity Assessment:**
|
||||
|
||||
- Overall complexity: {{low/medium/high}}
|
||||
- Novel elements: {{count}} requiring custom patterns
|
||||
- Critical decisions: {{estimated_count}}
|
||||
|
||||
**Technical Constraints:**
|
||||
{{summary_of_constraints}}
|
||||
|
||||
Does this match your understanding of the project?"
|
||||
|
||||
### 6. Generate Context Section
|
||||
|
||||
Based on the analysis, prepare the content:
|
||||
|
||||
```markdown
|
||||
## Project Context
|
||||
|
||||
### Game Overview
|
||||
|
||||
**{{game_name}}** - {{core_concept}}
|
||||
|
||||
### Technical Scope
|
||||
|
||||
**Platform:** {{platform}}
|
||||
**Genre:** {{genre}}
|
||||
**Project Level:** {{complexity_level}}
|
||||
|
||||
### Core Systems
|
||||
|
||||
{{systems_table}}
|
||||
|
||||
### Technical Requirements
|
||||
|
||||
{{requirements_summary}}
|
||||
|
||||
### Complexity Drivers
|
||||
|
||||
{{complexity_analysis}}
|
||||
|
||||
### Technical Risks
|
||||
|
||||
{{identified_risks}}
|
||||
```
|
||||
|
||||
### 7. Present Content and Menu
|
||||
|
||||
Show the generated content to the user and present:
|
||||
|
||||
"I've drafted the Project Context section based on my analysis.
|
||||
|
||||
**Here's what I'll add to the document:**
|
||||
|
||||
[Show the complete markdown content from step 6]
|
||||
|
||||
**Validation Check:**
|
||||
|
||||
- Have I captured all core systems?
|
||||
- Are the complexity assessments accurate?
|
||||
- Any technical constraints I missed?
|
||||
|
||||
**Select an Option:**
|
||||
[A] Advanced Elicitation - Deep dive into technical requirements
|
||||
[P] Party Mode - Get multiple perspectives on complexity
|
||||
[C] Continue - Save this and move to Engine Selection (Step 3 of 9)"
|
||||
|
||||
### 8. Handle Menu Selection
|
||||
|
||||
#### IF A (Advanced Elicitation):
|
||||
|
||||
- Execute {advancedElicitationTask} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF P (Party Mode):
|
||||
|
||||
- Execute {partyModeWorkflow} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF C (Continue):
|
||||
|
||||
- Append the final content to `{outputFile}`
|
||||
- Update frontmatter: `stepsCompleted: [1, 2]`
|
||||
- Load `{nextStepFile}`
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN [C continue option] is selected and [context content saved with frontmatter updated], will you then load and read fully `{nextStepFile}`.
|
||||
|
||||
---
|
||||
|
||||
## SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### SUCCESS:
|
||||
|
||||
- GDD fully loaded and analyzed
|
||||
- Supporting documents incorporated
|
||||
- Systems and complexity identified
|
||||
- Technical constraints documented
|
||||
- User confirmed understanding accuracy
|
||||
- A/P/C menu presented and handled correctly
|
||||
- Frontmatter updated with stepsCompleted: [1, 2]
|
||||
|
||||
### SYSTEM FAILURE:
|
||||
|
||||
- Generating analysis without reading documents
|
||||
- Missing critical systems from GDD
|
||||
- Proceeding without user confirmation
|
||||
- Not presenting A/P/C menu after analysis
|
||||
- Proceeding without user selecting 'C'
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
@@ -0,0 +1,291 @@
|
||||
---
|
||||
name: 'step-03-starter'
|
||||
description: 'Discover and evaluate game engine and starter template options'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/3-technical/game-architecture'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-03-starter.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-04-decisions.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/game-architecture.md'
|
||||
|
||||
# Task References
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
---
|
||||
|
||||
# Step 3: Engine & Starter Selection
|
||||
|
||||
**Progress: Step 3 of 9** - Next: Architectural Decisions
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Discover and evaluate game engine options and starter templates based on project requirements. Modern engines/starters make many architectural decisions automatically.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- NEVER generate content without user input
|
||||
- CRITICAL: Read the complete step file before taking any action
|
||||
- CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- YOU ARE A FACILITATOR, not a content generator
|
||||
- NEVER mention time estimates
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- You are a veteran game architect facilitator
|
||||
- Modern starters/engines provide many architectural decisions out of the box
|
||||
- Verify current versions via web search - NEVER trust hardcoded versions
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- ALWAYS search web for current versions
|
||||
- Document which decisions the engine provides
|
||||
- Help user understand engine trade-offs
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- Show your analysis before taking any action
|
||||
- Present A/P/C menu after engine selection
|
||||
- ONLY proceed when user chooses C (Continue)
|
||||
- Update frontmatter `stepsCompleted: [1, 2, 3]` before loading next step
|
||||
|
||||
## COLLABORATION MENUS (A/P/C):
|
||||
|
||||
- **A (Advanced Elicitation)**: Explore alternative engines
|
||||
- **P (Party Mode)**: Get perspectives on engine choice
|
||||
- **C (Continue)**: Confirm selection and proceed
|
||||
|
||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
||||
|
||||
### 1. Identify Engine Requirements
|
||||
|
||||
**Based on project context, determine engine needs:**
|
||||
|
||||
"Let's determine the right engine/framework for **{{game_name}}**.
|
||||
|
||||
**Your Requirements:**
|
||||
|
||||
- Platform: {{platform}}
|
||||
- Genre: {{genre}}
|
||||
- Key systems: {{key_systems}}
|
||||
|
||||
**Engine Considerations:**
|
||||
|
||||
| Requirement | Implications |
|
||||
| ------------------- | --------------------- |
|
||||
| **2D vs 3D** | {{2d_or_3d}} |
|
||||
| **Performance** | {{performance_needs}} |
|
||||
| **Networking** | {{networking_needs}} |
|
||||
| **Platform Export** | {{platform_targets}} |
|
||||
|
||||
What engine or framework are you considering, or would you like recommendations?"
|
||||
|
||||
### 2. Research Engine Options
|
||||
|
||||
**If user has an engine in mind:**
|
||||
|
||||
Search the web to verify:
|
||||
|
||||
- Current stable version
|
||||
- Platform support status
|
||||
- Recent updates and roadmap
|
||||
|
||||
**If user wants recommendations:**
|
||||
|
||||
Based on requirements, search for appropriate options:
|
||||
|
||||
| Game Type | Recommended Options |
|
||||
| ------------ | --------------------------- |
|
||||
| **2D Indie** | Godot, Unity 2D, Phaser |
|
||||
| **3D Indie** | Godot, Unity, Unreal |
|
||||
| **Web Game** | Phaser, PixiJS, Three.js |
|
||||
| **Mobile** | Unity, Godot, Flutter Flame |
|
||||
| **VR/AR** | Unity, Unreal |
|
||||
|
||||
Search web: "{{recommended_engine}} game engine {{current_year}} version features"
|
||||
|
||||
### 3. Present Engine Options
|
||||
|
||||
**Present findings to user:**
|
||||
|
||||
"Based on your requirements, here are the engine options:
|
||||
|
||||
**Option 1: {{engine_1}}**
|
||||
|
||||
- Version: {{verified_version}}
|
||||
- Strengths: {{strengths}}
|
||||
- Considerations: {{considerations}}
|
||||
- Best for: {{best_use_case}}
|
||||
|
||||
**Option 2: {{engine_2}}**
|
||||
|
||||
- Version: {{verified_version}}
|
||||
- Strengths: {{strengths}}
|
||||
- Considerations: {{considerations}}
|
||||
- Best for: {{best_use_case}}
|
||||
|
||||
**Option 3: {{engine_3}}**
|
||||
|
||||
- Version: {{verified_version}}
|
||||
- Strengths: {{strengths}}
|
||||
- Considerations: {{considerations}}
|
||||
- Best for: {{best_use_case}}
|
||||
|
||||
Which engine would you like to use for {{game_name}}?"
|
||||
|
||||
### 4. Document Engine Selection
|
||||
|
||||
**After user selects engine:**
|
||||
|
||||
"**Engine Selected:** {{selected_engine}} v{{version}}
|
||||
|
||||
**Decisions Provided by Engine:**
|
||||
|
||||
| Category | Decision | Provided By |
|
||||
| -------------------- | ---------------------- | ----------- |
|
||||
| **Rendering** | {{rendering_approach}} | Engine |
|
||||
| **Physics** | {{physics_system}} | Engine |
|
||||
| **Audio** | {{audio_system}} | Engine |
|
||||
| **Input** | {{input_system}} | Engine |
|
||||
| **Scene Management** | {{scene_approach}} | Engine |
|
||||
| **Build System** | {{build_approach}} | Engine |
|
||||
|
||||
**Remaining Decisions:**
|
||||
These architectural decisions still need to be made:
|
||||
{{list_of_remaining_decisions}}
|
||||
|
||||
Does this look correct?"
|
||||
|
||||
### 5. Discover Starter Templates
|
||||
|
||||
**Search for project templates:**
|
||||
|
||||
Search web: "{{engine}} starter template {{game_type}} {{current_year}}"
|
||||
|
||||
**If templates found:**
|
||||
|
||||
"I found some starter templates for {{engine}}:
|
||||
|
||||
**{{template_1}}:**
|
||||
|
||||
- What it provides: {{features}}
|
||||
- Setup command: `{{command}}`
|
||||
|
||||
**{{template_2}}:**
|
||||
|
||||
- What it provides: {{features}}
|
||||
- Setup command: `{{command}}`
|
||||
|
||||
Would you like to use a starter template, or start from scratch?"
|
||||
|
||||
### 6. Generate Engine Section
|
||||
|
||||
Based on the conversation, prepare the content:
|
||||
|
||||
````markdown
|
||||
## Engine & Framework
|
||||
|
||||
### Selected Engine
|
||||
|
||||
**{{engine_name}}** v{{version}}
|
||||
|
||||
**Rationale:** {{why_selected}}
|
||||
|
||||
### Project Initialization
|
||||
|
||||
{{if_starter_template}}
|
||||
|
||||
```bash
|
||||
{{initialization_command}}
|
||||
```
|
||||
````
|
||||
|
||||
{{/if_starter_template}}
|
||||
|
||||
### Engine-Provided Architecture
|
||||
|
||||
| Component | Solution | Notes |
|
||||
| --------- | -------- | ----- |
|
||||
|
||||
{{engine_provided_table}}
|
||||
|
||||
### Remaining Architectural Decisions
|
||||
|
||||
The following decisions must be made explicitly:
|
||||
|
||||
{{remaining_decisions_list}}
|
||||
|
||||
```
|
||||
|
||||
### 7. Present Content and Menu
|
||||
|
||||
Show the generated content to the user and present:
|
||||
|
||||
"I've drafted the Engine & Framework section.
|
||||
|
||||
**Here's what I'll add to the document:**
|
||||
|
||||
[Show the complete markdown content from step 6]
|
||||
|
||||
**Validation Check:**
|
||||
- Is the engine version current?
|
||||
- Are the engine-provided decisions accurate?
|
||||
- Have we identified all remaining decisions?
|
||||
|
||||
**Select an Option:**
|
||||
[A] Advanced Elicitation - Explore alternative engines
|
||||
[P] Party Mode - Get perspectives on engine choice
|
||||
[C] Continue - Save this and move to Architectural Decisions (Step 4 of 9)"
|
||||
|
||||
### 8. Handle Menu Selection
|
||||
|
||||
#### IF A (Advanced Elicitation):
|
||||
- Execute {advancedElicitationTask} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF P (Party Mode):
|
||||
- Execute {partyModeWorkflow} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF C (Continue):
|
||||
- Append the final content to `{outputFile}`
|
||||
- Update frontmatter: `stepsCompleted: [1, 2, 3]`
|
||||
- Load `{nextStepFile}`
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN [C continue option] is selected and [engine content saved with frontmatter updated], will you then load and read fully `{nextStepFile}`.
|
||||
|
||||
---
|
||||
|
||||
## SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### SUCCESS:
|
||||
|
||||
- Engine requirements clearly identified
|
||||
- Current versions verified via web search
|
||||
- Engine-provided decisions documented
|
||||
- Remaining decisions identified
|
||||
- Starter template evaluated if applicable
|
||||
- A/P/C menu presented and handled correctly
|
||||
- Frontmatter updated with stepsCompleted: [1, 2, 3]
|
||||
|
||||
### SYSTEM FAILURE:
|
||||
|
||||
- Using hardcoded versions without verification
|
||||
- Not documenting engine-provided decisions
|
||||
- Proceeding without user engine selection
|
||||
- Not presenting A/P/C menu after selection
|
||||
- Proceeding without user selecting 'C'
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
```
|
||||
@@ -0,0 +1,301 @@
|
||||
---
|
||||
name: 'step-04-decisions'
|
||||
description: 'Facilitate collaborative architectural decision making for game systems'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/3-technical/game-architecture'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-04-decisions.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-05-crosscutting.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/game-architecture.md'
|
||||
|
||||
# Knowledge Bases
|
||||
decisionCatalog: '{workflow_path}/decision-catalog.yaml'
|
||||
architecturePatterns: '{workflow_path}/architecture-patterns.yaml'
|
||||
|
||||
# Task References
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
---
|
||||
|
||||
# Step 4: Architectural Decisions
|
||||
|
||||
**Progress: Step 4 of 9** - Next: Cross-cutting Concerns
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Facilitate collaborative decision-making for all remaining architectural choices. Each decision must be made WITH the user, not FOR them.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- NEVER generate content without user input
|
||||
- CRITICAL: Read the complete step file before taking any action
|
||||
- CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- YOU ARE A FACILITATOR, not a content generator
|
||||
- NEVER mention time estimates
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- You are a veteran game architect facilitator
|
||||
- Each decision must be made WITH the user
|
||||
- Present options, explain trade-offs, accept user choice
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- Load decision catalog for structured guidance
|
||||
- Verify technology versions via web search
|
||||
- Document rationale for every decision
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- Show your analysis before taking any action
|
||||
- Present A/P/C menu after all decisions documented
|
||||
- ONLY proceed when user chooses C (Continue)
|
||||
- Update frontmatter `stepsCompleted: [1, 2, 3, 4]` before loading next step
|
||||
|
||||
## COLLABORATION MENUS (A/P/C):
|
||||
|
||||
- **A (Advanced Elicitation)**: Challenge decisions and explore alternatives
|
||||
- **P (Party Mode)**: Get multiple perspectives on choices
|
||||
- **C (Continue)**: Confirm decisions and proceed
|
||||
|
||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
||||
|
||||
### 1. Load Decision Framework
|
||||
|
||||
**Load decision catalog if available:**
|
||||
|
||||
Load `{decisionCatalog}` and `{architecturePatterns}` to guide the decision process.
|
||||
|
||||
**Identify required decisions based on game type:**
|
||||
|
||||
| Category | Decisions Needed |
|
||||
| ---------------------- | --------------------------- |
|
||||
| **State Management** | {{if_applicable}} |
|
||||
| **Data Persistence** | Save system, config storage |
|
||||
| **Networking** | {{if_multiplayer}} |
|
||||
| **AI Systems** | {{if_has_ai}} |
|
||||
| **Asset Loading** | Streaming, caching |
|
||||
| **Scene Structure** | Scene graph, loading |
|
||||
| **UI Framework** | In-game, menus |
|
||||
| **Audio Architecture** | Channels, mixing |
|
||||
|
||||
### 2. Prioritize Decisions
|
||||
|
||||
**Create decision priority list:**
|
||||
|
||||
"Based on your project, here are the architectural decisions we need to make:
|
||||
|
||||
**CRITICAL (blocks everything):**
|
||||
{{critical_decisions}}
|
||||
|
||||
**IMPORTANT (shapes architecture):**
|
||||
{{important_decisions}}
|
||||
|
||||
**NICE-TO-HAVE (can defer):**
|
||||
{{optional_decisions}}
|
||||
|
||||
Let's work through these in priority order."
|
||||
|
||||
### 3. Facilitate Each Decision
|
||||
|
||||
**For each decision, follow this pattern:**
|
||||
|
||||
"**Decision: {{decision_name}}**
|
||||
|
||||
{{context_about_why_this_matters}}
|
||||
|
||||
**Options:**
|
||||
|
||||
| Option | Pros | Cons |
|
||||
| ------------ | -------- | -------- |
|
||||
| {{option_1}} | {{pros}} | {{cons}} |
|
||||
| {{option_2}} | {{pros}} | {{cons}} |
|
||||
| {{option_3}} | {{pros}} | {{cons}} |
|
||||
|
||||
**Recommendation:** {{recommendation}} because {{reason}}
|
||||
|
||||
What's your preference? (or 'explain more' for details)"
|
||||
|
||||
**After user decides:**
|
||||
|
||||
Record:
|
||||
|
||||
- Category: {{category}}
|
||||
- Decision: {{user_choice}}
|
||||
- Version: {{if_applicable}}
|
||||
- Rationale: {{user_reasoning}}
|
||||
|
||||
### 4. Game-Specific Decision Categories
|
||||
|
||||
**State Management:**
|
||||
|
||||
"How should game state be managed?
|
||||
|
||||
**Options:**
|
||||
|
||||
- **Singleton Pattern** - Simple, global access, harder to test
|
||||
- **State Machine** - Clear transitions, good for game modes
|
||||
- **ECS (Entity Component System)** - Scalable, decoupled, learning curve
|
||||
- **Redux-style** - Predictable, time travel debugging, more boilerplate
|
||||
|
||||
For {{game_type}}, {{recommendation}} works well because {{reason}}.
|
||||
|
||||
Your choice?"
|
||||
|
||||
**Save System:**
|
||||
|
||||
"How should player progress be saved?
|
||||
|
||||
**Options:**
|
||||
|
||||
- **Local files** - JSON/binary, works offline
|
||||
- **Cloud saves** - Cross-device, requires backend
|
||||
- **Hybrid** - Local primary, cloud sync
|
||||
- **Platform-specific** - Steam Cloud, console saves
|
||||
|
||||
Your choice?"
|
||||
|
||||
**Asset Loading:**
|
||||
|
||||
"How should assets be loaded?
|
||||
|
||||
**Options:**
|
||||
|
||||
- **Preload all** - Simple, longer initial load
|
||||
- **Lazy loading** - Fast startup, potential hitches
|
||||
- **Streaming** - Seamless, complex implementation
|
||||
- **Scene-based** - Load per scene, clear boundaries
|
||||
|
||||
Your choice?"
|
||||
|
||||
### 5. Handle Version Verification
|
||||
|
||||
**For any technology-specific decisions:**
|
||||
|
||||
Search web: "{{technology}} latest stable version {{current_year}}"
|
||||
|
||||
Document:
|
||||
|
||||
- Technology: {{name}}
|
||||
- Verified Version: {{version}}
|
||||
- Verification Date: {{today}}
|
||||
|
||||
### 6. Generate Decisions Section
|
||||
|
||||
After all decisions are made, prepare the content:
|
||||
|
||||
```markdown
|
||||
## Architectural Decisions
|
||||
|
||||
### Decision Summary
|
||||
|
||||
| Category | Decision | Version | Rationale |
|
||||
| -------- | -------- | ------- | --------- |
|
||||
|
||||
{{decision_table_rows}}
|
||||
|
||||
### State Management
|
||||
|
||||
**Approach:** {{state_management_choice}}
|
||||
|
||||
{{state_management_details}}
|
||||
|
||||
### Data Persistence
|
||||
|
||||
**Save System:** {{save_system_choice}}
|
||||
|
||||
{{save_system_details}}
|
||||
|
||||
### Asset Management
|
||||
|
||||
**Loading Strategy:** {{asset_loading_choice}}
|
||||
|
||||
{{asset_loading_details}}
|
||||
|
||||
### {{Additional_Categories}}
|
||||
|
||||
{{additional_decision_details}}
|
||||
|
||||
### Architecture Decision Records
|
||||
|
||||
{{key_decisions_with_context}}
|
||||
```
|
||||
|
||||
### 7. Present Content and Menu
|
||||
|
||||
Show the generated content to the user and present:
|
||||
|
||||
"I've documented all our architectural decisions.
|
||||
|
||||
**Here's what I'll add to the document:**
|
||||
|
||||
[Show the complete markdown content from step 6]
|
||||
|
||||
**Decisions Made:** {{count}} decisions documented
|
||||
|
||||
**Validation Check:**
|
||||
|
||||
- Are all critical decisions captured?
|
||||
- Are versions current and verified?
|
||||
- Does the rationale reflect your reasoning?
|
||||
|
||||
**Select an Option:**
|
||||
[A] Advanced Elicitation - Challenge decisions, explore alternatives
|
||||
[P] Party Mode - Get different perspectives on choices
|
||||
[C] Continue - Save this and move to Cross-cutting Concerns (Step 5 of 9)"
|
||||
|
||||
### 8. Handle Menu Selection
|
||||
|
||||
#### IF A (Advanced Elicitation):
|
||||
|
||||
- Execute {advancedElicitationTask} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF P (Party Mode):
|
||||
|
||||
- Execute {partyModeWorkflow} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF C (Continue):
|
||||
|
||||
- Append the final content to `{outputFile}`
|
||||
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4]`
|
||||
- Load `{nextStepFile}`
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN [C continue option] is selected and [decisions content saved with frontmatter updated], will you then load and read fully `{nextStepFile}`.
|
||||
|
||||
---
|
||||
|
||||
## SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### SUCCESS:
|
||||
|
||||
- All required decisions identified
|
||||
- User made each decision (not generated)
|
||||
- Versions verified via web search
|
||||
- Rationale documented for each decision
|
||||
- A/P/C menu presented and handled correctly
|
||||
- Frontmatter updated with stepsCompleted: [1, 2, 3, 4]
|
||||
|
||||
### SYSTEM FAILURE:
|
||||
|
||||
- Making decisions FOR the user
|
||||
- Using unverified versions
|
||||
- Missing critical decisions
|
||||
- Not documenting rationale
|
||||
- Not presenting A/P/C menu after decisions
|
||||
- Proceeding without user selecting 'C'
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
@@ -0,0 +1,320 @@
|
||||
---
|
||||
name: 'step-05-crosscutting'
|
||||
description: 'Address cross-cutting concerns that affect all game systems'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/3-technical/game-architecture'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-05-crosscutting.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-06-structure.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/game-architecture.md'
|
||||
|
||||
# Task References
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
---
|
||||
|
||||
# Step 5: Cross-cutting Concerns
|
||||
|
||||
**Progress: Step 5 of 9** - Next: Project Structure
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Define patterns for concerns that affect EVERY system in the game: error handling, logging, configuration, events, and debugging. These decisions ensure consistency across all AI agent implementations.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- NEVER generate content without user input
|
||||
- CRITICAL: Read the complete step file before taking any action
|
||||
- CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- YOU ARE A FACILITATOR, not a content generator
|
||||
- NEVER mention time estimates
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- You are a veteran game architect facilitator
|
||||
- Cross-cutting concerns affect EVERY system
|
||||
- Consistency here prevents major integration issues
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- Focus on patterns that prevent AI agent conflicts
|
||||
- Every decision must have a concrete example
|
||||
- These become mandatory rules for all implementations
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- Show your analysis before taking any action
|
||||
- Present A/P/C menu after all concerns documented
|
||||
- ONLY proceed when user chooses C (Continue)
|
||||
- Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5]` before loading next step
|
||||
|
||||
## COLLABORATION MENUS (A/P/C):
|
||||
|
||||
- **A (Advanced Elicitation)**: Deep dive into specific concerns
|
||||
- **P (Party Mode)**: Get perspectives on patterns
|
||||
- **C (Continue)**: Confirm patterns and proceed
|
||||
|
||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
||||
|
||||
### 1. Explain Cross-cutting Importance
|
||||
|
||||
"Now let's define cross-cutting concerns - patterns that apply to EVERY system.
|
||||
|
||||
**Why this matters:**
|
||||
If one AI agent handles errors differently than another, your game breaks.
|
||||
If logging formats vary, debugging becomes impossible.
|
||||
These patterns are the 'constitution' that all code must follow.
|
||||
|
||||
Let's define each one."
|
||||
|
||||
### 2. Error Handling Strategy
|
||||
|
||||
"**Error Handling**
|
||||
|
||||
How should ALL systems handle errors?
|
||||
|
||||
**Options:**
|
||||
|
||||
| Approach | Description | Best For |
|
||||
| ------------------------ | ------------------------------- | ------------------- |
|
||||
| **Try-Catch Everywhere** | Explicit handling at each point | Critical systems |
|
||||
| **Global Handler** | Centralized error management | Consistent recovery |
|
||||
| **Signal/Event Based** | Emit errors as events | Decoupled systems |
|
||||
| **Result Objects** | Return success/failure objects | Functional style |
|
||||
|
||||
**Game-specific considerations:**
|
||||
|
||||
- Should errors pause the game?
|
||||
- How should critical vs recoverable errors differ?
|
||||
- Should errors be visible to players?
|
||||
|
||||
What's your error handling strategy?"
|
||||
|
||||
### 3. Logging Approach
|
||||
|
||||
"**Logging Strategy**
|
||||
|
||||
How should ALL systems log information?
|
||||
|
||||
**Log Levels:**
|
||||
|
||||
- **ERROR**: Something broke
|
||||
- **WARN**: Something unexpected but handled
|
||||
- **INFO**: Normal operation milestones
|
||||
- **DEBUG**: Detailed diagnostic info
|
||||
- **TRACE**: Extremely verbose (development only)
|
||||
|
||||
**Questions:**
|
||||
|
||||
- What format? (structured JSON, plain text, engine-native)
|
||||
- Where do logs go? (console, file, external service)
|
||||
- What should always be logged vs conditional?
|
||||
- How should performance-critical paths handle logging?
|
||||
|
||||
What's your logging approach?"
|
||||
|
||||
### 4. Configuration Management
|
||||
|
||||
"**Configuration Management**
|
||||
|
||||
How will game settings be organized and accessed?
|
||||
|
||||
**Configuration Types:**
|
||||
|
||||
- **Game constants** - Values that never change
|
||||
- **Balancing values** - Tweakable gameplay numbers
|
||||
- **Player settings** - User preferences
|
||||
- **Platform settings** - Per-platform adjustments
|
||||
|
||||
**Storage options:**
|
||||
|
||||
- Hardcoded constants
|
||||
- Configuration files (JSON, YAML)
|
||||
- Engine-native systems
|
||||
- Remote configuration
|
||||
|
||||
How should configuration be managed?"
|
||||
|
||||
### 5. Event/Signal System
|
||||
|
||||
"**Event System**
|
||||
|
||||
How should systems communicate without tight coupling?
|
||||
|
||||
**Options:**
|
||||
|
||||
| Pattern | Description | Complexity |
|
||||
| ----------------- | --------------------- | ---------- |
|
||||
| **Observer** | Direct subscription | Simple |
|
||||
| **Event Bus** | Central dispatcher | Medium |
|
||||
| **Signal/Slot** | Type-safe connections | Medium |
|
||||
| **Message Queue** | Async processing | Complex |
|
||||
|
||||
**Questions:**
|
||||
|
||||
- Typed events or stringly-typed?
|
||||
- Sync or async event processing?
|
||||
- Event history/replay for debugging?
|
||||
|
||||
What's your event system approach?"
|
||||
|
||||
### 6. Debug/Development Tools
|
||||
|
||||
"**Debug & Development Tools**
|
||||
|
||||
What development tools should be built in?
|
||||
|
||||
**Common debug features:**
|
||||
|
||||
- Debug console/command system
|
||||
- Visual debugging overlays
|
||||
- State inspection tools
|
||||
- Performance profiling hooks
|
||||
- Cheat/testing commands
|
||||
|
||||
**Questions:**
|
||||
|
||||
- How are debug features enabled/disabled?
|
||||
- Should they be in release builds?
|
||||
- What's the debug key/activation method?
|
||||
|
||||
What debug tools do you want?"
|
||||
|
||||
### 7. Generate Cross-cutting Section
|
||||
|
||||
Based on the conversation, prepare the content:
|
||||
|
||||
````markdown
|
||||
## Cross-cutting Concerns
|
||||
|
||||
These patterns apply to ALL systems and must be followed by every implementation.
|
||||
|
||||
### Error Handling
|
||||
|
||||
**Strategy:** {{error_strategy}}
|
||||
|
||||
**Error Levels:**
|
||||
{{error_level_definitions}}
|
||||
|
||||
**Example:**
|
||||
|
||||
```{{language}}
|
||||
{{error_handling_example}}
|
||||
```
|
||||
````
|
||||
|
||||
### Logging
|
||||
|
||||
**Format:** {{logging_format}}
|
||||
**Destination:** {{log_destination}}
|
||||
|
||||
**Log Levels:**
|
||||
{{log_level_usage}}
|
||||
|
||||
**Example:**
|
||||
|
||||
```{{language}}
|
||||
{{logging_example}}
|
||||
```
|
||||
|
||||
### Configuration
|
||||
|
||||
**Approach:** {{config_approach}}
|
||||
|
||||
**Configuration Structure:**
|
||||
{{config_structure}}
|
||||
|
||||
### Event System
|
||||
|
||||
**Pattern:** {{event_pattern}}
|
||||
|
||||
**Event Naming:** {{naming_convention}}
|
||||
|
||||
**Example:**
|
||||
|
||||
```{{language}}
|
||||
{{event_example}}
|
||||
```
|
||||
|
||||
### Debug Tools
|
||||
|
||||
**Available Tools:**
|
||||
{{debug_tool_list}}
|
||||
|
||||
**Activation:** {{how_to_enable}}
|
||||
|
||||
```
|
||||
|
||||
### 8. Present Content and Menu
|
||||
|
||||
Show the generated content to the user and present:
|
||||
|
||||
"I've documented all cross-cutting concerns.
|
||||
|
||||
**Here's what I'll add to the document:**
|
||||
|
||||
[Show the complete markdown content from step 7]
|
||||
|
||||
**Validation Check:**
|
||||
- Do these patterns cover all systems?
|
||||
- Are the examples clear enough for AI agents?
|
||||
- Any edge cases we missed?
|
||||
|
||||
**Select an Option:**
|
||||
[A] Advanced Elicitation - Deep dive into specific concerns
|
||||
[P] Party Mode - Get perspectives on patterns
|
||||
[C] Continue - Save this and move to Project Structure (Step 6 of 9)"
|
||||
|
||||
### 9. Handle Menu Selection
|
||||
|
||||
#### IF A (Advanced Elicitation):
|
||||
- Execute {advancedElicitationTask} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF P (Party Mode):
|
||||
- Execute {partyModeWorkflow} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF C (Continue):
|
||||
- Append the final content to `{outputFile}`
|
||||
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5]`
|
||||
- Load `{nextStepFile}`
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN [C continue option] is selected and [cross-cutting content saved with frontmatter updated], will you then load and read fully `{nextStepFile}`.
|
||||
|
||||
---
|
||||
|
||||
## SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### SUCCESS:
|
||||
|
||||
- Error handling strategy defined with example
|
||||
- Logging approach documented
|
||||
- Configuration management established
|
||||
- Event system pattern selected
|
||||
- Debug tools identified
|
||||
- A/P/C menu presented and handled correctly
|
||||
- Frontmatter updated with stepsCompleted: [1, 2, 3, 4, 5]
|
||||
|
||||
### SYSTEM FAILURE:
|
||||
|
||||
- Missing any cross-cutting concern
|
||||
- No concrete examples provided
|
||||
- Patterns too vague for AI agents to follow
|
||||
- Not presenting A/P/C menu after documentation
|
||||
- Proceeding without user selecting 'C'
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
```
|
||||
@@ -0,0 +1,305 @@
|
||||
---
|
||||
name: 'step-06-structure'
|
||||
description: 'Define project structure, directory organization, and architectural boundaries'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/3-technical/game-architecture'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-06-structure.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-07-patterns.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/game-architecture.md'
|
||||
|
||||
# Task References
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
---
|
||||
|
||||
# Step 6: Project Structure
|
||||
|
||||
**Progress: Step 6 of 9** - Next: Implementation Patterns
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Define the complete project structure including directory organization, file naming conventions, and architectural boundaries. This ensures all AI agents place code consistently.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- NEVER generate content without user input
|
||||
- CRITICAL: Read the complete step file before taking any action
|
||||
- CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- YOU ARE A FACILITATOR, not a content generator
|
||||
- NEVER mention time estimates
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- You are a veteran game architect facilitator
|
||||
- Project structure prevents "where does this go?" confusion
|
||||
- Clear boundaries enable parallel development
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- Structure must be complete, not generic placeholders
|
||||
- Map every major system to a location
|
||||
- Define naming conventions explicitly
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- Show your analysis before taking any action
|
||||
- Present A/P/C menu after structure defined
|
||||
- ONLY proceed when user chooses C (Continue)
|
||||
- Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6]` before loading next step
|
||||
|
||||
## COLLABORATION MENUS (A/P/C):
|
||||
|
||||
- **A (Advanced Elicitation)**: Refine structure organization
|
||||
- **P (Party Mode)**: Get perspectives on layout
|
||||
- **C (Continue)**: Confirm structure and proceed
|
||||
|
||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
||||
|
||||
### 1. Determine Organization Pattern
|
||||
|
||||
"Let's define how your project will be organized.
|
||||
|
||||
**Organization Patterns:**
|
||||
|
||||
| Pattern | Description | Best For |
|
||||
| ----------------- | -------------------------------- | ------------- |
|
||||
| **By Feature** | All related files together | Feature teams |
|
||||
| **By Type** | Scripts, assets, scenes separate | Traditional |
|
||||
| **Hybrid** | Types at top, features within | Balanced |
|
||||
| **Domain-Driven** | By game domain/system | Complex games |
|
||||
|
||||
**Engine Conventions:**
|
||||
|
||||
- {{engine}} typically uses: {{engine_convention}}
|
||||
|
||||
What organization pattern do you prefer?"
|
||||
|
||||
### 2. Define Root Structure
|
||||
|
||||
"Based on {{selected_pattern}}, let's define your root structure.
|
||||
|
||||
**For {{engine}}, typical root looks like:**
|
||||
|
||||
```
|
||||
{{project_name}}/
|
||||
├── {{source_folder}}/ # Game source code
|
||||
├── {{assets_folder}}/ # Art, audio, data
|
||||
├── {{scenes_folder}}/ # Scene/level files
|
||||
├── {{tests_folder}}/ # Test files
|
||||
├── {{docs_folder}}/ # Documentation
|
||||
└── {{config_files}} # Project config
|
||||
```
|
||||
|
||||
Does this work, or would you like to adjust?"
|
||||
|
||||
### 3. Detail Source Structure
|
||||
|
||||
"Now let's detail the source code organization.
|
||||
|
||||
**Based on your systems:**
|
||||
{{list_of_systems_from_context}}
|
||||
|
||||
**Proposed structure:**
|
||||
|
||||
```
|
||||
{{source_folder}}/
|
||||
├── core/ # Core systems (singletons, managers)
|
||||
│ ├── {{core_systems}}
|
||||
├── gameplay/ # Gameplay mechanics
|
||||
│ ├── {{gameplay_systems}}
|
||||
├── ui/ # User interface
|
||||
│ ├── {{ui_organization}}
|
||||
├── utils/ # Utilities and helpers
|
||||
│ ├── {{util_types}}
|
||||
└── data/ # Data structures and models
|
||||
└── {{data_types}}
|
||||
```
|
||||
|
||||
What adjustments would you make?"
|
||||
|
||||
### 4. Define Asset Structure
|
||||
|
||||
"Let's organize your assets.
|
||||
|
||||
**Asset Categories:**
|
||||
|
||||
- Art (sprites, textures, models)
|
||||
- Audio (music, sfx, voice)
|
||||
- Data (configurations, levels)
|
||||
- UI (interface assets)
|
||||
|
||||
**Proposed asset structure:**
|
||||
|
||||
```
|
||||
{{assets_folder}}/
|
||||
├── art/
|
||||
│ ├── {{art_categories}}
|
||||
├── audio/
|
||||
│ ├── music/
|
||||
│ ├── sfx/
|
||||
│ └── {{audio_categories}}
|
||||
├── data/
|
||||
│ └── {{data_file_types}}
|
||||
└── ui/
|
||||
└── {{ui_asset_types}}
|
||||
```
|
||||
|
||||
How should assets be organized?"
|
||||
|
||||
### 5. Map Systems to Locations
|
||||
|
||||
"Let's map each major system to its location.
|
||||
|
||||
| System | Location | Notes |
|
||||
| ------ | -------- | ----- |
|
||||
|
||||
{{system_location_mapping}}
|
||||
|
||||
Does this mapping make sense for your project?"
|
||||
|
||||
### 6. Define Naming Conventions
|
||||
|
||||
"Finally, let's establish naming conventions.
|
||||
|
||||
**Files:**
|
||||
|
||||
- Scripts: {{script_naming}} (e.g., PlayerController, enemy_spawner)
|
||||
- Scenes: {{scene_naming}} (e.g., Level01, main_menu)
|
||||
- Assets: {{asset_naming}} (e.g., player_idle, btn_play)
|
||||
|
||||
**Code Elements:**
|
||||
|
||||
- Classes: {{class_naming}} (e.g., PascalCase)
|
||||
- Functions: {{function_naming}} (e.g., snake_case, camelCase)
|
||||
- Variables: {{variable_naming}}
|
||||
- Constants: {{constant_naming}} (e.g., UPPER_SNAKE)
|
||||
|
||||
**Game-Specific:**
|
||||
|
||||
- Prefabs/Scenes: {{prefab_naming}}
|
||||
- Animation clips: {{animation_naming}}
|
||||
- Event names: {{event_naming}}
|
||||
|
||||
What are your naming preferences?"
|
||||
|
||||
### 7. Generate Structure Section
|
||||
|
||||
Based on the conversation, prepare the content:
|
||||
|
||||
```markdown
|
||||
## Project Structure
|
||||
|
||||
### Organization Pattern
|
||||
|
||||
**Pattern:** {{organization_pattern}}
|
||||
|
||||
**Rationale:** {{why_this_pattern}}
|
||||
|
||||
### Directory Structure
|
||||
```
|
||||
|
||||
{{project_name}}/
|
||||
{{complete_directory_tree}}
|
||||
|
||||
```
|
||||
|
||||
### System Location Mapping
|
||||
|
||||
| System | Location | Responsibility |
|
||||
| ------ | -------- | -------------- |
|
||||
{{system_mapping_table}}
|
||||
|
||||
### Naming Conventions
|
||||
|
||||
#### Files
|
||||
{{file_naming_rules}}
|
||||
|
||||
#### Code Elements
|
||||
| Element | Convention | Example |
|
||||
| ------- | ---------- | ------- |
|
||||
{{code_naming_table}}
|
||||
|
||||
#### Game Assets
|
||||
{{asset_naming_rules}}
|
||||
|
||||
### Architectural Boundaries
|
||||
|
||||
{{boundary_rules}}
|
||||
```
|
||||
|
||||
### 8. Present Content and Menu
|
||||
|
||||
Show the generated content to the user and present:
|
||||
|
||||
"I've defined the complete project structure.
|
||||
|
||||
**Here's what I'll add to the document:**
|
||||
|
||||
[Show the complete markdown content from step 7]
|
||||
|
||||
**Validation Check:**
|
||||
|
||||
- Can every system find its home?
|
||||
- Are naming conventions clear and consistent?
|
||||
- Will AI agents know exactly where to place new code?
|
||||
|
||||
**Select an Option:**
|
||||
[A] Advanced Elicitation - Refine structure organization
|
||||
[P] Party Mode - Get perspectives on layout
|
||||
[C] Continue - Save this and move to Implementation Patterns (Step 7 of 9)"
|
||||
|
||||
### 9. Handle Menu Selection
|
||||
|
||||
#### IF A (Advanced Elicitation):
|
||||
|
||||
- Execute {advancedElicitationTask} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF P (Party Mode):
|
||||
|
||||
- Execute {partyModeWorkflow} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF C (Continue):
|
||||
|
||||
- Append the final content to `{outputFile}`
|
||||
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6]`
|
||||
- Load `{nextStepFile}`
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN [C continue option] is selected and [structure content saved with frontmatter updated], will you then load and read fully `{nextStepFile}`.
|
||||
|
||||
---
|
||||
|
||||
## SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### SUCCESS:
|
||||
|
||||
- Complete directory structure defined
|
||||
- Every system mapped to location
|
||||
- Naming conventions explicit and consistent
|
||||
- No placeholder or generic structures
|
||||
- A/P/C menu presented and handled correctly
|
||||
- Frontmatter updated with stepsCompleted: [1, 2, 3, 4, 5, 6]
|
||||
|
||||
### SYSTEM FAILURE:
|
||||
|
||||
- Generic structure with placeholders
|
||||
- Systems without clear locations
|
||||
- Vague naming conventions
|
||||
- Not presenting A/P/C menu after structure
|
||||
- Proceeding without user selecting 'C'
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
@@ -0,0 +1,350 @@
|
||||
---
|
||||
name: 'step-07-patterns'
|
||||
description: 'Design implementation patterns and novel architectural patterns for consistency'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/3-technical/game-architecture'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-07-patterns.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-08-validation.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/game-architecture.md'
|
||||
|
||||
# Knowledge Bases
|
||||
patternCategories: '{workflow_path}/pattern-categories.csv'
|
||||
|
||||
# Task References
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
---
|
||||
|
||||
# Step 7: Implementation Patterns
|
||||
|
||||
**Progress: Step 7 of 9** - Next: Validation
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Define implementation patterns that ensure multiple AI agents write compatible, consistent code. Also identify and design any novel patterns needed for unique game features.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- NEVER generate content without user input
|
||||
- CRITICAL: Read the complete step file before taking any action
|
||||
- CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- YOU ARE A FACILITATOR, not a content generator
|
||||
- NEVER mention time estimates
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- You are a veteran game architect facilitator
|
||||
- Implementation patterns prevent agent conflicts
|
||||
- Novel patterns require creative collaboration
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- Every pattern needs a concrete example
|
||||
- Focus on what agents could decide DIFFERENTLY
|
||||
- Novel patterns need full design documentation
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- Show your analysis before taking any action
|
||||
- Present A/P/C menu after patterns defined
|
||||
- ONLY proceed when user chooses C (Continue)
|
||||
- Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6, 7]` before loading next step
|
||||
|
||||
## COLLABORATION MENUS (A/P/C):
|
||||
|
||||
- **A (Advanced Elicitation)**: Explore alternative patterns
|
||||
- **P (Party Mode)**: Get perspectives on patterns
|
||||
- **C (Continue)**: Confirm patterns and proceed
|
||||
|
||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
||||
|
||||
### 1. Identify Novel Patterns Needed
|
||||
|
||||
"First, let's identify if your game needs any custom architectural patterns.
|
||||
|
||||
**Novel patterns are needed when:**
|
||||
|
||||
- Standard patterns don't fit your gameplay
|
||||
- You have unique mechanics not found in other games
|
||||
- Multiple systems interact in non-standard ways
|
||||
|
||||
**From your GDD, I identified these potentially novel concepts:**
|
||||
{{list_of_unique_features}}
|
||||
|
||||
Do any of these need custom architectural patterns?"
|
||||
|
||||
### 2. Design Novel Patterns (if needed)
|
||||
|
||||
**For each novel pattern:**
|
||||
|
||||
"**Novel Pattern: {{pattern_name}}**
|
||||
|
||||
Let's design this pattern together.
|
||||
|
||||
**The challenge:** {{what_makes_this_unique}}
|
||||
|
||||
**Questions to answer:**
|
||||
|
||||
1. What components are involved?
|
||||
2. How do they communicate?
|
||||
3. What's the data flow?
|
||||
4. How is state managed?
|
||||
5. What are the edge cases?
|
||||
|
||||
Walk me through how you envision {{pattern_name}} working."
|
||||
|
||||
**After user explains:**
|
||||
|
||||
"Based on your description, here's the pattern design:
|
||||
|
||||
**{{pattern_name}} Pattern**
|
||||
|
||||
**Components:**
|
||||
{{component_list_with_responsibilities}}
|
||||
|
||||
**Data Flow:**
|
||||
{{sequence_or_diagram}}
|
||||
|
||||
**State Management:**
|
||||
{{state_approach}}
|
||||
|
||||
**Example Usage:**
|
||||
|
||||
```{{language}}
|
||||
{{code_example}}
|
||||
```
|
||||
|
||||
Does this capture your vision?"
|
||||
|
||||
### 3. Define Standard Implementation Patterns
|
||||
|
||||
"Now let's define standard implementation patterns for consistency.
|
||||
|
||||
**These patterns ensure all AI agents:**
|
||||
|
||||
- Name things the same way
|
||||
- Structure code identically
|
||||
- Handle common situations consistently
|
||||
|
||||
Let's go through each category."
|
||||
|
||||
### 4. Component Communication Pattern
|
||||
|
||||
"**Component Communication**
|
||||
|
||||
How should game objects communicate?
|
||||
|
||||
**Options:**
|
||||
|
||||
- **Direct references** - Simple but coupled
|
||||
- **Event-based** - Decoupled but indirect
|
||||
- **Service locator** - Central registry
|
||||
- **Dependency injection** - Explicit dependencies
|
||||
|
||||
For game systems, what's your preferred approach?"
|
||||
|
||||
### 5. Entity Creation Pattern
|
||||
|
||||
"**Entity Creation**
|
||||
|
||||
How should game entities (enemies, items, etc.) be created?
|
||||
|
||||
**Options:**
|
||||
|
||||
- **Factory pattern** - Centralized creation
|
||||
- **Prefab instantiation** - Engine-native
|
||||
- **Object pooling** - Performance-focused
|
||||
- **Builder pattern** - Complex configuration
|
||||
|
||||
What's your entity creation approach?"
|
||||
|
||||
### 6. State Transition Pattern
|
||||
|
||||
"**State Transitions**
|
||||
|
||||
How should entities handle state changes?
|
||||
|
||||
**Options:**
|
||||
|
||||
- **State machine** - Explicit states and transitions
|
||||
- **Behavior tree** - AI-focused hierarchy
|
||||
- **Blackboard** - Shared data approach
|
||||
- **Flag-based** - Simple boolean states
|
||||
|
||||
What state management pattern for entities?"
|
||||
|
||||
### 7. Data Access Pattern
|
||||
|
||||
"**Data Access**
|
||||
|
||||
How should systems access game data?
|
||||
|
||||
**Options:**
|
||||
|
||||
- **Direct file access** - Simple but scattered
|
||||
- **Data manager** - Centralized access
|
||||
- **Scriptable objects** - Engine-native (Unity)
|
||||
- **Resources/Autoload** - Engine-native (Godot)
|
||||
|
||||
How should data be accessed?"
|
||||
|
||||
### 8. Generate Patterns Section
|
||||
|
||||
Based on the conversation, prepare the content:
|
||||
|
||||
````markdown
|
||||
## Implementation Patterns
|
||||
|
||||
These patterns ensure consistent implementation across all AI agents.
|
||||
|
||||
{{if_novel_patterns}}
|
||||
|
||||
### Novel Patterns
|
||||
|
||||
#### {{novel_pattern_name}}
|
||||
|
||||
**Purpose:** {{what_it_solves}}
|
||||
|
||||
**Components:**
|
||||
{{component_list}}
|
||||
|
||||
**Data Flow:**
|
||||
{{flow_description}}
|
||||
|
||||
**Implementation Guide:**
|
||||
|
||||
```{{language}}
|
||||
{{implementation_example}}
|
||||
```
|
||||
````
|
||||
|
||||
**Usage:**
|
||||
{{when_to_use}}
|
||||
{{/if_novel_patterns}}
|
||||
|
||||
### Communication Patterns
|
||||
|
||||
**Pattern:** {{communication_pattern}}
|
||||
|
||||
**Example:**
|
||||
|
||||
```{{language}}
|
||||
{{communication_example}}
|
||||
```
|
||||
|
||||
### Entity Patterns
|
||||
|
||||
**Creation:** {{creation_pattern}}
|
||||
|
||||
**Example:**
|
||||
|
||||
```{{language}}
|
||||
{{creation_example}}
|
||||
```
|
||||
|
||||
### State Patterns
|
||||
|
||||
**Pattern:** {{state_pattern}}
|
||||
|
||||
**Example:**
|
||||
|
||||
```{{language}}
|
||||
{{state_example}}
|
||||
```
|
||||
|
||||
### Data Patterns
|
||||
|
||||
**Access:** {{data_pattern}}
|
||||
|
||||
**Example:**
|
||||
|
||||
```{{language}}
|
||||
{{data_example}}
|
||||
```
|
||||
|
||||
### Consistency Rules
|
||||
|
||||
| Pattern | Convention | Enforcement |
|
||||
| ------- | ---------- | ----------- |
|
||||
|
||||
{{consistency_rules_table}}
|
||||
|
||||
```
|
||||
|
||||
### 9. Present Content and Menu
|
||||
|
||||
Show the generated content to the user and present:
|
||||
|
||||
"I've documented all implementation patterns.
|
||||
|
||||
**Here's what I'll add to the document:**
|
||||
|
||||
[Show the complete markdown content from step 8]
|
||||
|
||||
**Patterns Defined:**
|
||||
- {{count}} standard patterns
|
||||
- {{novel_count}} novel patterns
|
||||
|
||||
**Validation Check:**
|
||||
- Are examples clear enough for AI agents?
|
||||
- Do patterns cover all major coding scenarios?
|
||||
- Are novel patterns fully documented?
|
||||
|
||||
**Select an Option:**
|
||||
[A] Advanced Elicitation - Explore alternative patterns
|
||||
[P] Party Mode - Get perspectives on patterns
|
||||
[C] Continue - Save this and move to Validation (Step 8 of 9)"
|
||||
|
||||
### 10. Handle Menu Selection
|
||||
|
||||
#### IF A (Advanced Elicitation):
|
||||
- Execute {advancedElicitationTask} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF P (Party Mode):
|
||||
- Execute {partyModeWorkflow} with the current content
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, return to A/P/C menu
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF C (Continue):
|
||||
- Append the final content to `{outputFile}`
|
||||
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6, 7]`
|
||||
- Load `{nextStepFile}`
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN [C continue option] is selected and [patterns content saved with frontmatter updated], will you then load and read fully `{nextStepFile}`.
|
||||
|
||||
---
|
||||
|
||||
## SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### SUCCESS:
|
||||
|
||||
- Novel patterns identified and designed
|
||||
- Standard patterns selected with examples
|
||||
- Every pattern has concrete code examples
|
||||
- Consistency rules documented
|
||||
- A/P/C menu presented and handled correctly
|
||||
- Frontmatter updated with stepsCompleted: [1, 2, 3, 4, 5, 6, 7]
|
||||
|
||||
### SYSTEM FAILURE:
|
||||
|
||||
- Patterns without concrete examples
|
||||
- Novel patterns missing design documentation
|
||||
- Vague patterns that allow inconsistency
|
||||
- Not presenting A/P/C menu after patterns
|
||||
- Proceeding without user selecting 'C'
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
```
|
||||
@@ -0,0 +1,294 @@
|
||||
---
|
||||
name: 'step-08-validation'
|
||||
description: 'Validate architectural coherence and completeness'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/3-technical/game-architecture'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-08-validation.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-09-complete.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/game-architecture.md'
|
||||
checklistFile: '{workflow_path}/checklist.md'
|
||||
|
||||
# Task References
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
---
|
||||
|
||||
# Step 8: Validation
|
||||
|
||||
**Progress: Step 8 of 9** - Next: Completion
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Validate that the architecture is coherent, complete, and ready to guide AI agent implementation. Check for conflicts, gaps, and missing coverage.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- NEVER generate content without user input
|
||||
- CRITICAL: Read the complete step file before taking any action
|
||||
- CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- YOU ARE A FACILITATOR, not a content generator
|
||||
- NEVER mention time estimates
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- You are a veteran game architect facilitator
|
||||
- Validation ensures document completeness
|
||||
- Catch gaps before implementation begins
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- Run through all validation checks
|
||||
- Fix any issues before proceeding
|
||||
- User must confirm document is ready
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- Show your analysis before taking any action
|
||||
- Present A/P/C menu after validation complete
|
||||
- ONLY proceed when user chooses C (Continue)
|
||||
- Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8]` before loading next step
|
||||
|
||||
## COLLABORATION MENUS (A/P/C):
|
||||
|
||||
- **A (Advanced Elicitation)**: Deep dive into gaps
|
||||
- **P (Party Mode)**: Get perspectives on completeness
|
||||
- **C (Continue)**: Confirm validation and proceed
|
||||
|
||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
||||
|
||||
### 1. Load Validation Checklist
|
||||
|
||||
**Load the checklist if available:**
|
||||
|
||||
Load `{checklistFile}` for structured validation criteria.
|
||||
|
||||
### 2. Decision Compatibility Check
|
||||
|
||||
"**Checking Decision Compatibility...**
|
||||
|
||||
Verifying all architectural decisions work together:
|
||||
|
||||
| Check | Status | Notes |
|
||||
| ------------------------------ | ------------- | --------- |
|
||||
| Engine + patterns compatible | {{pass/fail}} | {{notes}} |
|
||||
| Cross-cutting + engine align | {{pass/fail}} | {{notes}} |
|
||||
| Structure supports all systems | {{pass/fail}} | {{notes}} |
|
||||
| No conflicting decisions | {{pass/fail}} | {{notes}} |
|
||||
|
||||
{{if_issues_found}}
|
||||
**Issues Found:**
|
||||
{{list_of_conflicts}}
|
||||
|
||||
How should we resolve these?
|
||||
{{/if_issues_found}}"
|
||||
|
||||
### 3. GDD Coverage Check
|
||||
|
||||
"**Checking GDD Coverage...**
|
||||
|
||||
Verifying every GDD requirement has architectural support:
|
||||
|
||||
**Core Systems:**
|
||||
| System | Architecture Support | Status |
|
||||
| ------ | -------------------- | ------ |
|
||||
{{systems_coverage_table}}
|
||||
|
||||
**Technical Requirements:**
|
||||
| Requirement | How Addressed | Status |
|
||||
| ----------- | ------------- | ------ |
|
||||
{{requirements_coverage_table}}
|
||||
|
||||
{{if_gaps_found}}
|
||||
**Gaps Found:**
|
||||
{{list_of_gaps}}
|
||||
|
||||
How should we address these?
|
||||
{{/if_gaps_found}}"
|
||||
|
||||
### 4. Pattern Completeness Check
|
||||
|
||||
"**Checking Pattern Completeness...**
|
||||
|
||||
Verifying implementation patterns cover all scenarios:
|
||||
|
||||
| Scenario | Pattern Defined | Status |
|
||||
| ----------------------- | --------------- | ---------- |
|
||||
| Entity creation | {{yes/no}} | {{status}} |
|
||||
| Component communication | {{yes/no}} | {{status}} |
|
||||
| State management | {{yes/no}} | {{status}} |
|
||||
| Error handling | {{yes/no}} | {{status}} |
|
||||
| Data access | {{yes/no}} | {{status}} |
|
||||
| Event handling | {{yes/no}} | {{status}} |
|
||||
|
||||
{{if_missing_patterns}}
|
||||
**Missing Patterns:**
|
||||
{{list_of_missing}}
|
||||
|
||||
Should we define these now?
|
||||
{{/if_missing_patterns}}"
|
||||
|
||||
### 5. Epic Mapping Check
|
||||
|
||||
"**Checking Epic Mapping...**
|
||||
|
||||
Verifying every epic/feature maps to architecture:
|
||||
|
||||
| Epic/Feature | Location | Patterns | Status |
|
||||
| ------------ | -------- | -------- | ------ |
|
||||
|
||||
{{epic_mapping_table}}
|
||||
|
||||
{{if_unmapped_epics}}
|
||||
**Unmapped Features:**
|
||||
{{list_of_unmapped}}
|
||||
|
||||
Where should these live?
|
||||
{{/if_unmapped_epics}}"
|
||||
|
||||
### 6. Document Completeness Check
|
||||
|
||||
"**Checking Document Completeness...**
|
||||
|
||||
Mandatory sections:
|
||||
|
||||
- [ ] Engine/Framework selection with version
|
||||
- [ ] Decision summary table
|
||||
- [ ] Project structure (complete, not placeholder)
|
||||
- [ ] Cross-cutting concerns
|
||||
- [ ] Implementation patterns with examples
|
||||
- [ ] Naming conventions
|
||||
- [ ] No placeholder text ({{placeholders}}, TODO, etc.)
|
||||
|
||||
{{if_incomplete}}
|
||||
**Incomplete Sections:**
|
||||
{{list_of_incomplete}}
|
||||
|
||||
Let's fix these before proceeding.
|
||||
{{/if_incomplete}}"
|
||||
|
||||
### 7. Resolve Any Issues
|
||||
|
||||
**If issues were found in any check:**
|
||||
|
||||
For each issue:
|
||||
|
||||
1. Present the problem clearly
|
||||
2. Propose a solution
|
||||
3. Get user confirmation
|
||||
4. Update the document
|
||||
|
||||
**Repeat validation if significant changes made.**
|
||||
|
||||
### 8. Generate Validation Summary
|
||||
|
||||
Based on the checks, prepare the summary:
|
||||
|
||||
```markdown
|
||||
## Architecture Validation
|
||||
|
||||
### Validation Summary
|
||||
|
||||
| Check | Result | Notes |
|
||||
| ---------------------- | ------------- | --------- |
|
||||
| Decision Compatibility | {{pass/fail}} | {{notes}} |
|
||||
| GDD Coverage | {{pass/fail}} | {{notes}} |
|
||||
| Pattern Completeness | {{pass/fail}} | {{notes}} |
|
||||
| Epic Mapping | {{pass/fail}} | {{notes}} |
|
||||
| Document Completeness | {{pass/fail}} | {{notes}} |
|
||||
|
||||
### Coverage Report
|
||||
|
||||
**Systems Covered:** {{count}}/{{total}}
|
||||
**Patterns Defined:** {{count}}
|
||||
**Decisions Made:** {{count}}
|
||||
|
||||
### Issues Resolved
|
||||
|
||||
{{list_of_resolved_issues}}
|
||||
|
||||
### Validation Date
|
||||
|
||||
{{date}}
|
||||
```
|
||||
|
||||
### 9. Present Validation and Menu
|
||||
|
||||
Show the validation results to the user and present:
|
||||
|
||||
"**Architecture Validation Complete**
|
||||
|
||||
**Results:**
|
||||
|
||||
[Show validation summary]
|
||||
|
||||
**Overall Status:** {{PASS/NEEDS_WORK}}
|
||||
|
||||
{{if_pass}}
|
||||
Your architecture document is complete and ready to guide implementation.
|
||||
{{/if_pass}}
|
||||
|
||||
{{if_needs_work}}
|
||||
Some issues need resolution before the architecture is ready.
|
||||
{{/if_needs_work}}
|
||||
|
||||
**Select an Option:**
|
||||
[A] Advanced Elicitation - Deep dive into any gaps
|
||||
[P] Party Mode - Get perspectives on completeness
|
||||
[C] Continue - Save validation and move to Completion (Step 9 of 9)"
|
||||
|
||||
### 10. Handle Menu Selection
|
||||
|
||||
#### IF A (Advanced Elicitation):
|
||||
|
||||
- Execute {advancedElicitationTask} with validation results
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, re-run validation
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF P (Party Mode):
|
||||
|
||||
- Execute {partyModeWorkflow} with validation results
|
||||
- Ask user: "Accept these changes? (y/n)"
|
||||
- If yes: Update content, re-run validation
|
||||
- If no: Keep original, return to A/P/C menu
|
||||
|
||||
#### IF C (Continue):
|
||||
|
||||
- Append validation summary to `{outputFile}`
|
||||
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8]`
|
||||
- Load `{nextStepFile}`
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN [C continue option] is selected and [validation content saved with frontmatter updated], will you then load and read fully `{nextStepFile}`.
|
||||
|
||||
---
|
||||
|
||||
## SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### SUCCESS:
|
||||
|
||||
- All validation checks performed
|
||||
- Issues identified and resolved
|
||||
- GDD coverage verified
|
||||
- Pattern completeness confirmed
|
||||
- Document has no placeholders
|
||||
- A/P/C menu presented and handled correctly
|
||||
- Frontmatter updated with stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8]
|
||||
|
||||
### SYSTEM FAILURE:
|
||||
|
||||
- Skipping validation checks
|
||||
- Proceeding with unresolved issues
|
||||
- Incomplete document going to completion
|
||||
- Not presenting A/P/C menu after validation
|
||||
- Proceeding without user selecting 'C'
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
@@ -0,0 +1,357 @@
|
||||
---
|
||||
name: 'step-09-complete'
|
||||
description: 'Complete the architecture workflow with final review and handoff guidance'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/_bmad/bmgd/workflows/3-technical/game-architecture'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-09-complete.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/game-architecture.md'
|
||||
|
||||
# Handoff References
|
||||
epicWorkflow: '{project-root}/_bmad/bmgd/workflows/4-production/epic-workflow/workflow.yaml'
|
||||
projectContextWorkflow: '{project-root}/_bmad/bmgd/workflows/3-technical/generate-project-context/workflow.md'
|
||||
---
|
||||
|
||||
# Step 9: Completion
|
||||
|
||||
**Progress: Step 9 of 9** - Architecture Complete!
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Generate the executive summary, finalize the document, update workflow status, and provide clear handoff guidance for the next workflow phase.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- NEVER generate content without user input
|
||||
- CRITICAL: Read the complete step file before taking any action
|
||||
- YOU ARE A FACILITATOR, not a content generator
|
||||
- NEVER mention time estimates
|
||||
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- You are a veteran game architect facilitator
|
||||
- This is the final step - ensure completeness
|
||||
- Provide actionable next steps
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- Generate executive summary from all content
|
||||
- Ensure document is ready for AI agent consumption
|
||||
- Provide clear implementation guidance
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- Show your analysis before taking any action
|
||||
- Generate final sections
|
||||
- Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9]`
|
||||
- Present completion summary and next steps
|
||||
|
||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
||||
|
||||
### 1. Generate Executive Summary
|
||||
|
||||
**Create summary from all sections:**
|
||||
|
||||
Based on all documented content, synthesize an executive summary:
|
||||
|
||||
```markdown
|
||||
## Executive Summary
|
||||
|
||||
**{{game_name}}** architecture is designed for {{engine}} targeting {{platform}}.
|
||||
|
||||
**Key Architectural Decisions:**
|
||||
|
||||
- {{decision_1_summary}}
|
||||
- {{decision_2_summary}}
|
||||
- {{decision_3_summary}}
|
||||
|
||||
**Project Structure:** {{organization_pattern}} organization with {{system_count}} core systems.
|
||||
|
||||
**Implementation Patterns:** {{pattern_count}} patterns defined ensuring AI agent consistency.
|
||||
|
||||
**Ready for:** Epic implementation phase
|
||||
```
|
||||
|
||||
### 2. Generate Development Setup Section
|
||||
|
||||
"Let me generate the development environment setup section.
|
||||
|
||||
**Development Prerequisites:**
|
||||
|
||||
````markdown
|
||||
## Development Environment
|
||||
|
||||
### Prerequisites
|
||||
|
||||
{{prerequisites_list}}
|
||||
|
||||
### Setup Commands
|
||||
|
||||
```bash
|
||||
{{setup_commands}}
|
||||
```
|
||||
````
|
||||
|
||||
### First Steps
|
||||
|
||||
1. {{first_step}}
|
||||
2. {{second_step}}
|
||||
3. {{third_step}}
|
||||
|
||||
````
|
||||
|
||||
Does this capture the setup process correctly?"
|
||||
|
||||
### 3. Finalize Document
|
||||
|
||||
**Update the document with final content:**
|
||||
|
||||
- Add Executive Summary at the top (after frontmatter)
|
||||
- Add Development Environment section
|
||||
- Update document status to 'complete'
|
||||
- Update frontmatter with all steps completed
|
||||
|
||||
**Final frontmatter:**
|
||||
|
||||
```yaml
|
||||
---
|
||||
title: 'Game Architecture'
|
||||
project: '{{project_name}}'
|
||||
date: '{{date}}'
|
||||
author: '{{user_name}}'
|
||||
version: '1.0'
|
||||
stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9]
|
||||
status: 'complete'
|
||||
engine: '{{engine}}'
|
||||
platform: '{{platform}}'
|
||||
---
|
||||
````
|
||||
|
||||
### 4. Update Workflow Status
|
||||
|
||||
**If not in standalone mode:**
|
||||
|
||||
Load `{output_folder}/bmgd-workflow-status.yaml` and:
|
||||
|
||||
- Update `create-architecture` status to the output file path
|
||||
- Preserve all comments and structure
|
||||
- Determine next workflow in sequence
|
||||
|
||||
### 5. Present Completion Summary
|
||||
|
||||
"**Architecture Complete!**
|
||||
|
||||
{{user_name}}, the Game Architecture for **{{game_name}}** is now complete!
|
||||
|
||||
**Architecture Summary:**
|
||||
|
||||
- **Engine:** {{engine}} v{{version}}
|
||||
- **Platform:** {{platform}}
|
||||
- **Organization:** {{organization_pattern}}
|
||||
- **Decisions Made:** {{decision_count}}
|
||||
- **Patterns Defined:** {{pattern_count}}
|
||||
|
||||
**Sections Completed:**
|
||||
|
||||
1. Project Context
|
||||
2. Engine & Framework
|
||||
3. Architectural Decisions
|
||||
4. Cross-cutting Concerns
|
||||
5. Project Structure
|
||||
6. Implementation Patterns
|
||||
7. Validation
|
||||
8. Development Setup
|
||||
|
||||
**Document saved to:** `{outputFile}`
|
||||
|
||||
Do you want to review or adjust anything before we finalize?
|
||||
|
||||
**Optional Enhancement: Project Context File**
|
||||
|
||||
Would you like to create a `project-context.md` file? This is a concise, optimized guide for AI agents that captures:
|
||||
|
||||
- Critical engine-specific rules they might miss
|
||||
- Specific patterns and conventions for your game project
|
||||
- Performance and optimization requirements
|
||||
- Anti-patterns and edge cases to avoid
|
||||
|
||||
{if_existing_project_context}
|
||||
I noticed you already have a project context file. Would you like to update it with your new architectural decisions?
|
||||
{else}
|
||||
This file helps ensure AI agents implement game code consistently with your project's unique requirements and patterns.
|
||||
{/if_existing_project_context}
|
||||
|
||||
**Create/Update project context?** [Y/N]"
|
||||
|
||||
### 6. Handle Project Context Creation Choice
|
||||
|
||||
If user responds 'Y' or 'yes' to creating/updating project context:
|
||||
|
||||
"Excellent choice! Let me launch the Generate Project Context workflow to create a comprehensive guide for AI agents.
|
||||
|
||||
This will help ensure consistent implementation by capturing:
|
||||
|
||||
- Engine-specific patterns and rules
|
||||
- Performance and optimization conventions from your architecture
|
||||
- Testing and quality standards
|
||||
- Anti-patterns to avoid
|
||||
|
||||
The workflow will collaborate with you to create an optimized `project-context.md` file that AI agents will read before implementing any game code."
|
||||
|
||||
**Execute the Generate Project Context workflow:**
|
||||
|
||||
- Load and execute: `{projectContextWorkflow}`
|
||||
- The workflow will handle discovery, generation, and completion of the project context file
|
||||
- After completion, return here for final handoff
|
||||
|
||||
If user responds 'N' or 'no':
|
||||
"Understood! Your architecture is complete and ready for implementation. You can always create a project context file later using the Generate Project Context workflow if needed."
|
||||
|
||||
### 7. Handle Review Requests
|
||||
|
||||
**If user wants to review:**
|
||||
|
||||
"Which section would you like to review?
|
||||
|
||||
1. Executive Summary
|
||||
2. Engine & Framework
|
||||
3. Architectural Decisions
|
||||
4. Cross-cutting Concerns
|
||||
5. Project Structure
|
||||
6. Implementation Patterns
|
||||
7. Validation Summary
|
||||
8. Development Setup
|
||||
|
||||
Or type 'all' to see the complete document."
|
||||
|
||||
**Show requested section and allow edits.**
|
||||
|
||||
### 8. Present Next Steps Menu
|
||||
|
||||
**After user confirms completion:**
|
||||
|
||||
"**Recommended Next Steps for {{game_name}}:**
|
||||
|
||||
1. **Initialize Project** - Run the setup commands to create your project
|
||||
- Command: `{{setup_command}}`
|
||||
- This creates the base structure we designed
|
||||
|
||||
2. **Create Epics** - Break down GDD into implementation epics
|
||||
- Workflow: `create-epics`
|
||||
- Input: GDD + Architecture
|
||||
- Output: Implementation-ready epic stories
|
||||
|
||||
3. **Begin Implementation** - Start coding with AI agents
|
||||
- Each agent will read this architecture
|
||||
- Patterns ensure consistency across all code
|
||||
|
||||
**Which would you like to do next?**
|
||||
|
||||
1. Review the completed architecture
|
||||
2. Proceed to Epic creation workflow
|
||||
3. Exit workflow"
|
||||
|
||||
### 9. Handle User Selection
|
||||
|
||||
Based on user choice:
|
||||
|
||||
**If 1 (Review):**
|
||||
|
||||
- Present full document or requested section
|
||||
- Return to next steps menu
|
||||
|
||||
**If 2 (Epic Creation):**
|
||||
|
||||
- Confirm architecture is saved
|
||||
- Provide handoff guidance for epic workflow
|
||||
- Note that architecture document will be input
|
||||
|
||||
**If 3 (Exit):**
|
||||
|
||||
- Confirm document is saved and complete
|
||||
- Exit workflow gracefully
|
||||
|
||||
### 10. Provide Handoff Guidance
|
||||
|
||||
**For Epic Creation handoff:**
|
||||
|
||||
"**Handoff to Epic Creation**
|
||||
|
||||
Your architecture is ready to guide epic creation.
|
||||
|
||||
**What the Epic workflow will do:**
|
||||
|
||||
- Read your architecture document
|
||||
- Break GDD features into implementable stories
|
||||
- Ensure stories align with architectural patterns
|
||||
- Create acceptance criteria referencing architecture
|
||||
|
||||
**Architecture inputs that will be used:**
|
||||
|
||||
- Project structure for file placement
|
||||
- Implementation patterns for code style
|
||||
- Cross-cutting concerns for consistency
|
||||
- System mapping for story assignment
|
||||
|
||||
Ready to proceed to epic creation, or any questions about the architecture?"
|
||||
|
||||
---
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
This is the final step. Ensure:
|
||||
|
||||
- Executive summary is generated
|
||||
- All content is saved to architecture.md
|
||||
- Frontmatter shows all 9 steps completed
|
||||
- User has clear actionable next steps
|
||||
- Handoff to epic workflow is smooth
|
||||
|
||||
---
|
||||
|
||||
## SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### SUCCESS:
|
||||
|
||||
- Executive summary synthesizes all content
|
||||
- Development setup is complete
|
||||
- Document status updated to 'complete'
|
||||
- Frontmatter shows all steps completed
|
||||
- Workflow status updated (if tracking)
|
||||
- User has clear next steps
|
||||
- Document saved and ready for AI agent consumption
|
||||
|
||||
### SYSTEM FAILURE:
|
||||
|
||||
- Missing executive summary
|
||||
- Incomplete development setup
|
||||
- Frontmatter not updated
|
||||
- Status not updated when tracking
|
||||
- No clear next steps provided
|
||||
- User left without actionable guidance
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
|
||||
---
|
||||
|
||||
## Game Architecture Workflow Complete
|
||||
|
||||
The Game Architecture workflow transforms a GDD into a comprehensive architecture document through 9 collaborative steps:
|
||||
|
||||
1. **Initialize** - Validate readiness, discover input documents
|
||||
2. **Context** - Load and understand project requirements
|
||||
3. **Starter** - Select engine and starter templates
|
||||
4. **Decisions** - Make collaborative architectural decisions
|
||||
5. **Cross-cutting** - Define patterns for all systems
|
||||
6. **Structure** - Define project organization
|
||||
7. **Patterns** - Design implementation patterns
|
||||
8. **Validation** - Verify completeness and coherence
|
||||
9. **Complete** - Finalize and provide handoff
|
||||
|
||||
This step-file architecture ensures consistent, thorough architecture creation with user collaboration at every step.
|
||||
+103
@@ -0,0 +1,103 @@
|
||||
# Architecture
|
||||
|
||||
## Executive Summary
|
||||
|
||||
{{executive_summary}}
|
||||
|
||||
{{project_initialization_section}}
|
||||
|
||||
## Decision Summary
|
||||
|
||||
| Category | Decision | Version | Affects Epics | Rationale |
|
||||
| -------- | -------- | ------- | ------------- | --------- |
|
||||
|
||||
{{decision_table_rows}}
|
||||
|
||||
## Project Structure
|
||||
|
||||
```
|
||||
{{project_root}}/
|
||||
{{source_tree}}
|
||||
```
|
||||
|
||||
## Epic to Architecture Mapping
|
||||
|
||||
{{epic_mapping_table}}
|
||||
|
||||
## Technology Stack Details
|
||||
|
||||
### Core Technologies
|
||||
|
||||
{{core_stack_details}}
|
||||
|
||||
### Integration Points
|
||||
|
||||
{{integration_details}}
|
||||
|
||||
{{novel_pattern_designs_section}}
|
||||
|
||||
## Implementation Patterns
|
||||
|
||||
These patterns ensure consistent implementation across all AI agents:
|
||||
|
||||
{{implementation_patterns}}
|
||||
|
||||
## Consistency Rules
|
||||
|
||||
### Naming Conventions
|
||||
|
||||
{{naming_conventions}}
|
||||
|
||||
### Code Organization
|
||||
|
||||
{{code_organization_patterns}}
|
||||
|
||||
### Error Handling
|
||||
|
||||
{{error_handling_approach}}
|
||||
|
||||
### Logging Strategy
|
||||
|
||||
{{logging_approach}}
|
||||
|
||||
## Data Architecture
|
||||
|
||||
{{data_models_and_relationships}}
|
||||
|
||||
## API Contracts
|
||||
|
||||
{{api_specifications}}
|
||||
|
||||
## Security Architecture
|
||||
|
||||
{{security_approach}}
|
||||
|
||||
## Performance Considerations
|
||||
|
||||
{{performance_strategies}}
|
||||
|
||||
## Deployment Architecture
|
||||
|
||||
{{deployment_approach}}
|
||||
|
||||
## Development Environment
|
||||
|
||||
### Prerequisites
|
||||
|
||||
{{development_prerequisites}}
|
||||
|
||||
### Setup Commands
|
||||
|
||||
```bash
|
||||
{{setup_commands}}
|
||||
```
|
||||
|
||||
## Architecture Decision Records (ADRs)
|
||||
|
||||
{{key_architecture_decisions}}
|
||||
|
||||
---
|
||||
|
||||
_Generated by BMAD Decision Architecture Workflow v1.0_
|
||||
_Date: {{date}}_
|
||||
_For: {{user_name}}_
|
||||
Loaded 100 of 810 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user