bmad-method 6.0.0-alpha.17 → 6.0.0-alpha.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +117 -0
- package/package.json +1 -1
- package/src/modules/bmgd/_module-installer/installer.js +160 -0
- package/src/modules/bmgd/_module-installer/platform-specifics/claude-code.js +23 -0
- package/src/modules/bmgd/_module-installer/platform-specifics/windsurf.js +18 -0
- package/src/modules/bmgd/agents/game-architect.agent.yaml +23 -8
- package/src/modules/bmgd/agents/game-designer.agent.yaml +38 -18
- package/src/modules/bmgd/agents/game-dev.agent.yaml +30 -14
- package/src/modules/bmgd/agents/game-qa.agent.yaml +64 -0
- package/src/modules/bmgd/agents/game-scrum-master.agent.yaml +27 -39
- package/src/modules/bmgd/agents/game-solo-dev.agent.yaml +56 -0
- package/src/modules/bmgd/docs/README.md +180 -0
- package/src/modules/bmgd/docs/agents-guide.md +407 -0
- package/src/modules/bmgd/docs/game-types-guide.md +503 -0
- package/src/modules/bmgd/docs/glossary.md +294 -0
- package/src/modules/bmgd/docs/quick-flow-guide.md +288 -0
- package/src/modules/bmgd/docs/quick-start.md +250 -0
- package/src/modules/bmgd/docs/troubleshooting.md +259 -0
- package/src/modules/bmgd/docs/workflow-overview.jpg +0 -0
- package/src/modules/bmgd/docs/workflows-guide.md +463 -0
- package/src/modules/bmgd/gametest/knowledge/balance-testing.md +220 -0
- package/src/modules/bmgd/gametest/knowledge/certification-testing.md +319 -0
- package/src/modules/bmgd/gametest/knowledge/compatibility-testing.md +228 -0
- package/src/modules/bmgd/gametest/knowledge/godot-testing.md +376 -0
- package/src/modules/bmgd/gametest/knowledge/input-testing.md +315 -0
- package/src/modules/bmgd/gametest/knowledge/localization-testing.md +304 -0
- package/src/modules/bmgd/gametest/knowledge/multiplayer-testing.md +322 -0
- package/src/modules/bmgd/gametest/knowledge/performance-testing.md +204 -0
- package/src/modules/bmgd/gametest/knowledge/playtesting.md +384 -0
- package/src/modules/bmgd/gametest/knowledge/qa-automation.md +190 -0
- package/src/modules/bmgd/gametest/knowledge/regression-testing.md +280 -0
- package/src/modules/bmgd/gametest/knowledge/save-testing.md +280 -0
- package/src/modules/bmgd/gametest/knowledge/smoke-testing.md +404 -0
- package/src/modules/bmgd/gametest/knowledge/test-priorities.md +271 -0
- package/src/modules/bmgd/gametest/knowledge/unity-testing.md +383 -0
- package/src/modules/bmgd/gametest/knowledge/unreal-testing.md +388 -0
- package/src/modules/bmgd/gametest/qa-index.csv +17 -0
- package/src/modules/bmgd/module.yaml +25 -9
- package/src/modules/bmgd/teams/default-party.csv +2 -0
- package/src/modules/bmgd/teams/team-gamedev.yaml +12 -1
- package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/steps/step-01-init.md +164 -0
- package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/steps/step-02-context.md +210 -0
- package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/steps/step-03-ideation.md +289 -0
- package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/steps/step-04-complete.md +275 -0
- package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/workflow.md +49 -0
- package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/workflow.yaml +29 -8
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-01-init.md +223 -0
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-01b-continue.md +151 -0
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-02-vision.md +218 -0
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-03-market.md +218 -0
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-04-fundamentals.md +231 -0
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-05-scope.md +242 -0
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-06-references.md +224 -0
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-07-content.md +282 -0
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-08-complete.md +296 -0
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/workflow.md +62 -0
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/workflow.yaml +40 -9
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-01-init.md +248 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-01b-continue.md +173 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-02-context.md +332 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-03-platforms.md +245 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-04-vision.md +229 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-05-core-gameplay.md +258 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-06-mechanics.md +249 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-07-game-type.md +266 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-08-progression.md +272 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-09-levels.md +264 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-10-art-audio.md +255 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-11-technical.md +275 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-12-epics.md +284 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-13-metrics.md +250 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-14-complete.md +335 -0
- package/src/modules/bmgd/workflows/2-design/gdd/workflow.md +61 -0
- package/src/modules/bmgd/workflows/2-design/gdd/workflow.yaml +27 -7
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-01-init.md +228 -0
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-01b-continue.md +163 -0
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-02-foundation.md +262 -0
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-03-story.md +238 -0
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-04-characters.md +297 -0
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-05-world.md +262 -0
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-06-dialogue.md +250 -0
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-07-environmental.md +244 -0
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-08-delivery.md +264 -0
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-09-integration.md +254 -0
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-10-production.md +262 -0
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-11-complete.md +331 -0
- package/src/modules/bmgd/workflows/2-design/narrative/workflow.md +57 -0
- package/src/modules/bmgd/workflows/2-design/narrative/workflow.yaml +53 -8
- package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-01-init.md +223 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-01b-continue.md +153 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-02-context.md +262 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-03-starter.md +290 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-04-decisions.md +300 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-05-crosscutting.md +319 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-06-structure.md +304 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-07-patterns.md +349 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-08-validation.md +293 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-09-complete.md +302 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/workflow.md +55 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/workflow.yaml +50 -21
- package/src/modules/bmgd/workflows/4-production/code-review/checklist.md +23 -0
- package/src/modules/bmgd/workflows/4-production/code-review/instructions.xml +225 -0
- package/src/modules/bmgd/workflows/4-production/code-review/workflow.yaml +18 -15
- package/src/modules/bmgd/workflows/4-production/correct-course/checklist.md +1 -1
- package/src/modules/bmgd/workflows/4-production/correct-course/instructions.md +1 -1
- package/src/modules/bmgd/workflows/4-production/correct-course/workflow.yaml +11 -6
- package/src/modules/bmgd/workflows/4-production/create-story/checklist.md +332 -214
- package/src/modules/bmgd/workflows/4-production/create-story/instructions.xml +298 -0
- package/src/modules/bmgd/workflows/4-production/create-story/template.md +3 -5
- package/src/modules/bmgd/workflows/4-production/create-story/workflow.yaml +12 -7
- package/src/modules/bmgd/workflows/4-production/dev-story/checklist.md +65 -23
- package/src/modules/bmgd/workflows/4-production/dev-story/instructions.xml +409 -0
- package/src/modules/bmgd/workflows/4-production/dev-story/workflow.yaml +13 -3
- package/src/modules/bmgd/workflows/4-production/retrospective/instructions.md +4 -4
- package/src/modules/bmgd/workflows/4-production/retrospective/workflow.yaml +12 -7
- package/src/modules/bmgd/workflows/4-production/sprint-planning/instructions.md +32 -41
- package/src/modules/bmgd/workflows/4-production/sprint-planning/sprint-status-template.yaml +13 -13
- package/src/modules/bmgd/workflows/4-production/sprint-planning/workflow.yaml +6 -1
- package/src/modules/bmgd/workflows/4-production/sprint-status/instructions.md +229 -0
- package/src/modules/bmgd/workflows/4-production/sprint-status/workflow.yaml +35 -0
- package/src/modules/bmgd/workflows/bmgd-quick-flow/create-tech-spec/instructions.md +140 -0
- package/src/modules/bmgd/workflows/bmgd-quick-flow/create-tech-spec/workflow.yaml +27 -0
- package/src/modules/bmgd/workflows/bmgd-quick-flow/quick-dev/checklist.md +37 -0
- package/src/modules/bmgd/workflows/bmgd-quick-flow/quick-dev/instructions.md +220 -0
- package/src/modules/bmgd/workflows/bmgd-quick-flow/quick-dev/workflow.yaml +45 -0
- package/src/modules/bmgd/workflows/bmgd-quick-flow/quick-prototype/checklist.md +26 -0
- package/src/modules/bmgd/workflows/bmgd-quick-flow/quick-prototype/instructions.md +156 -0
- package/src/modules/bmgd/workflows/bmgd-quick-flow/quick-prototype/workflow.yaml +36 -0
- package/src/modules/bmgd/workflows/gametest/automate/checklist.md +93 -0
- package/src/modules/bmgd/workflows/gametest/automate/instructions.md +317 -0
- package/src/modules/bmgd/workflows/gametest/automate/workflow.yaml +50 -0
- package/src/modules/bmgd/workflows/gametest/performance/checklist.md +96 -0
- package/src/modules/bmgd/workflows/gametest/performance/instructions.md +323 -0
- package/src/modules/bmgd/workflows/gametest/performance/performance-template.md +256 -0
- package/src/modules/bmgd/workflows/gametest/performance/workflow.yaml +48 -0
- package/src/modules/bmgd/workflows/gametest/playtest-plan/checklist.md +93 -0
- package/src/modules/bmgd/workflows/gametest/playtest-plan/instructions.md +297 -0
- package/src/modules/bmgd/workflows/gametest/playtest-plan/playtest-template.md +208 -0
- package/src/modules/bmgd/workflows/gametest/playtest-plan/workflow.yaml +59 -0
- package/src/modules/bmgd/workflows/gametest/test-design/checklist.md +98 -0
- package/src/modules/bmgd/workflows/gametest/test-design/instructions.md +280 -0
- package/src/modules/bmgd/workflows/gametest/test-design/test-design-template.md +205 -0
- package/src/modules/bmgd/workflows/gametest/test-design/workflow.yaml +47 -0
- package/src/modules/bmgd/workflows/gametest/test-framework/checklist.md +103 -0
- package/src/modules/bmgd/workflows/gametest/test-framework/instructions.md +348 -0
- package/src/modules/bmgd/workflows/gametest/test-framework/workflow.yaml +48 -0
- package/src/modules/bmgd/workflows/gametest/test-review/checklist.md +87 -0
- package/src/modules/bmgd/workflows/gametest/test-review/instructions.md +272 -0
- package/src/modules/bmgd/workflows/gametest/test-review/test-review-template.md +203 -0
- package/src/modules/bmgd/workflows/gametest/test-review/workflow.yaml +48 -0
- package/src/modules/bmgd/workflows/workflow-status/init/instructions.md +299 -0
- package/src/modules/bmgd/workflows/workflow-status/init/workflow.yaml +29 -0
- package/src/modules/bmgd/workflows/workflow-status/instructions.md +395 -0
- package/src/modules/bmgd/workflows/workflow-status/paths/gamedev-brownfield.yaml +65 -0
- package/src/modules/bmgd/workflows/workflow-status/paths/gamedev-greenfield.yaml +71 -0
- package/src/modules/bmgd/workflows/workflow-status/paths/quickflow-brownfield.yaml +29 -0
- package/src/modules/bmgd/workflows/workflow-status/paths/quickflow-greenfield.yaml +39 -0
- package/src/modules/bmgd/workflows/workflow-status/project-levels.yaml +63 -0
- package/src/modules/bmgd/workflows/workflow-status/workflow-status-template.yaml +24 -0
- package/src/modules/bmgd/workflows/workflow-status/workflow.yaml +30 -0
- package/tools/cli/commands/install.js +9 -0
- package/tools/cli/installers/lib/core/installer.js +140 -592
- package/tools/cli/installers/lib/modules/manager.js +15 -3
- package/tools/cli/lib/agent/compiler.js +99 -0
- package/tools/cli/lib/ui.js +78 -27
- package/src/modules/bmgd/workflows/2-design/gdd/instructions-gdd.md +0 -502
- package/src/modules/bmgd/workflows/4-production/code-review/instructions.md +0 -398
- package/src/modules/bmgd/workflows/4-production/create-story/instructions.md +0 -256
- package/src/modules/bmgd/workflows/4-production/dev-story/instructions.md +0 -267
- package/src/modules/bmgd/workflows/4-production/epic-tech-context/checklist.md +0 -17
- package/src/modules/bmgd/workflows/4-production/epic-tech-context/instructions.md +0 -164
- package/src/modules/bmgd/workflows/4-production/epic-tech-context/template.md +0 -76
- package/src/modules/bmgd/workflows/4-production/epic-tech-context/workflow.yaml +0 -58
- package/src/modules/bmgd/workflows/4-production/story-context/checklist.md +0 -16
- package/src/modules/bmgd/workflows/4-production/story-context/context-template.xml +0 -34
- package/src/modules/bmgd/workflows/4-production/story-context/instructions.md +0 -209
- package/src/modules/bmgd/workflows/4-production/story-context/workflow.yaml +0 -63
- package/src/modules/bmgd/workflows/4-production/story-done/instructions.md +0 -111
- package/src/modules/bmgd/workflows/4-production/story-done/workflow.yaml +0 -28
- package/src/modules/bmgd/workflows/4-production/story-ready/instructions.md +0 -117
- package/src/modules/bmgd/workflows/4-production/story-ready/workflow.yaml +0 -25
- /package/src/modules/bmgd/workflows/1-preproduction/game-brief/{template.md → templates/game-brief-template.md} +0 -0
- /package/src/modules/bmgd/workflows/2-design/gdd/{gdd-template.md → templates/gdd-template.md} +0 -0
- /package/src/modules/bmgd/workflows/2-design/narrative/{narrative-template.md → templates/narrative-template.md} +0 -0
- /package/src/modules/bmgd/workflows/3-technical/game-architecture/{architecture-template.md → templates/architecture-template.md} +0 -0
|
@@ -0,0 +1,332 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 'step-02-context'
|
|
3
|
+
description: 'Load game context from brief and determine the game type'
|
|
4
|
+
|
|
5
|
+
# Path Definitions
|
|
6
|
+
workflow_path: '{project-root}/_bmad/bmgd/workflows/2-design/gdd'
|
|
7
|
+
|
|
8
|
+
# File References
|
|
9
|
+
thisStepFile: '{workflow_path}/steps/step-02-context.md'
|
|
10
|
+
nextStepFile: '{workflow_path}/steps/step-03-platforms.md'
|
|
11
|
+
workflowFile: '{workflow_path}/workflow.md'
|
|
12
|
+
outputFile: '{output_folder}/gdd.md'
|
|
13
|
+
|
|
14
|
+
# Data Files
|
|
15
|
+
gameTypesCSV: '{workflow_path}/game-types.csv'
|
|
16
|
+
gameTypesFolder: '{workflow_path}/game-types'
|
|
17
|
+
|
|
18
|
+
# Task References
|
|
19
|
+
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
|
|
20
|
+
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
# Step 2: Game Context & Type
|
|
24
|
+
|
|
25
|
+
**Progress: Step 2 of 14** - Next: Platforms & Audience
|
|
26
|
+
|
|
27
|
+
## STEP GOAL:
|
|
28
|
+
|
|
29
|
+
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.
|
|
30
|
+
|
|
31
|
+
## MANDATORY EXECUTION RULES (READ FIRST):
|
|
32
|
+
|
|
33
|
+
### Universal Rules:
|
|
34
|
+
|
|
35
|
+
- NEVER generate content without user input
|
|
36
|
+
- CRITICAL: Read the complete step file before taking any action
|
|
37
|
+
- CRITICAL: When loading next step with 'C', ensure entire file is read
|
|
38
|
+
- YOU ARE A FACILITATOR, not a content generator
|
|
39
|
+
|
|
40
|
+
### Role Reinforcement:
|
|
41
|
+
|
|
42
|
+
- You are a veteran game designer facilitator collaborating with a creative peer
|
|
43
|
+
- We engage in collaborative dialogue, not command-response
|
|
44
|
+
- You bring structured game design thinking and facilitation skills, while the user brings their game vision
|
|
45
|
+
|
|
46
|
+
### Step-Specific Rules:
|
|
47
|
+
|
|
48
|
+
- Focus on understanding the game concept and determining the correct game type
|
|
49
|
+
- CRITICAL: Load game-types.csv to understand available game types
|
|
50
|
+
- FORBIDDEN to generate detailed content without real user input
|
|
51
|
+
- Approach: Leverage existing documents while validating with user
|
|
52
|
+
|
|
53
|
+
## EXECUTION PROTOCOLS:
|
|
54
|
+
|
|
55
|
+
- Show your analysis before taking any action
|
|
56
|
+
- Present A/P/C menu after generating core concept content
|
|
57
|
+
- ONLY save when user chooses C (Continue)
|
|
58
|
+
- Update frontmatter `stepsCompleted: [1, 2]` before loading next step
|
|
59
|
+
- FORBIDDEN to load next step until C is selected
|
|
60
|
+
|
|
61
|
+
## COLLABORATION MENUS (A/P/C):
|
|
62
|
+
|
|
63
|
+
This step will generate content and present choices:
|
|
64
|
+
|
|
65
|
+
- **A (Advanced Elicitation)**: Use discovery protocols to develop deeper insights about the game concept
|
|
66
|
+
- **P (Party Mode)**: Bring multiple perspectives to discuss and improve the game concept
|
|
67
|
+
- **C (Continue)**: Save the content to the document and proceed to next step
|
|
68
|
+
|
|
69
|
+
## PROTOCOL INTEGRATION:
|
|
70
|
+
|
|
71
|
+
- When 'A' selected: Execute {advancedElicitationTask}
|
|
72
|
+
- When 'P' selected: Execute {partyModeWorkflow}
|
|
73
|
+
- PROTOCOLS always return to this step's A/P/C menu
|
|
74
|
+
- User accepts/rejects protocol changes before proceeding
|
|
75
|
+
|
|
76
|
+
## CONTEXT BOUNDARIES:
|
|
77
|
+
|
|
78
|
+
- Current document and frontmatter from step 1 are available
|
|
79
|
+
- Input documents already loaded are in memory (game briefs, research, brainstorming)
|
|
80
|
+
- **Document counts available in frontmatter `documentCounts`**
|
|
81
|
+
- Game types CSV data will be loaded in this step
|
|
82
|
+
- This will be the first content section appended to the document
|
|
83
|
+
|
|
84
|
+
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
|
85
|
+
|
|
86
|
+
### 1. Read Document State from Frontmatter
|
|
87
|
+
|
|
88
|
+
**CRITICAL FIRST ACTION:** Read the frontmatter from `{outputFile}` to get document counts.
|
|
89
|
+
|
|
90
|
+
```
|
|
91
|
+
Read documentCounts from gdd.md frontmatter:
|
|
92
|
+
- briefCount = documentCounts.briefs
|
|
93
|
+
- researchCount = documentCounts.research
|
|
94
|
+
- brainstormingCount = documentCounts.brainstorming
|
|
95
|
+
- projectDocsCount = documentCounts.projectDocs
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
**ANNOUNCE your understanding:**
|
|
99
|
+
|
|
100
|
+
"From step 1, I have loaded:
|
|
101
|
+
|
|
102
|
+
- Game briefs: {{briefCount}} files
|
|
103
|
+
- Research: {{researchCount}} files
|
|
104
|
+
- Brainstorming: {{brainstormingCount}} files
|
|
105
|
+
- Project docs: {{projectDocsCount}} files
|
|
106
|
+
|
|
107
|
+
{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}"
|
|
108
|
+
|
|
109
|
+
### 2. Load Game Types Data
|
|
110
|
+
|
|
111
|
+
Load and prepare CSV data for intelligent game type classification:
|
|
112
|
+
|
|
113
|
+
- Load `{gameTypesCSV}` completely
|
|
114
|
+
- Parse columns: id, name, description, key_mechanics, detection_signals
|
|
115
|
+
- Store in memory for classification matching
|
|
116
|
+
|
|
117
|
+
### 3. Begin Discovery Conversation
|
|
118
|
+
|
|
119
|
+
**SELECT EXACTLY ONE DISCOVERY PATH based on document state:**
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
#### PATH A: Has Game Brief (briefCount > 0)
|
|
124
|
+
|
|
125
|
+
**Use this path when:** `briefCount > 0`
|
|
126
|
+
|
|
127
|
+
"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.
|
|
128
|
+
|
|
129
|
+
**Based on your game brief:**
|
|
130
|
+
|
|
131
|
+
**Game Name:**
|
|
132
|
+
{{extracted_name_from_brief}}
|
|
133
|
+
|
|
134
|
+
**Core Concept:**
|
|
135
|
+
{{extracted_concept_from_brief}}
|
|
136
|
+
|
|
137
|
+
**Genre/Type:**
|
|
138
|
+
{{extracted_genre_from_brief}}
|
|
139
|
+
|
|
140
|
+
**Target Experience:**
|
|
141
|
+
{{extracted_experience_from_brief}}
|
|
142
|
+
|
|
143
|
+
{if projectDocsCount > 0}I also see you have existing project documentation. This GDD will define how new features integrate with your existing game.{/if}
|
|
144
|
+
|
|
145
|
+
**How does this align with your vision?** Should we refine any of these points or are there important aspects I'm missing?"
|
|
146
|
+
|
|
147
|
+
**AFTER this message, SKIP to Section 4.**
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
#### PATH B: No Brief but Has Brainstorming (briefCount == 0 AND brainstormingCount > 0)
|
|
152
|
+
|
|
153
|
+
**Use this path when:** `briefCount == 0 AND brainstormingCount > 0`
|
|
154
|
+
|
|
155
|
+
"As your game design peer, I've reviewed your brainstorming documents.
|
|
156
|
+
|
|
157
|
+
**Ideas I've extracted:**
|
|
158
|
+
{{summarize key concepts from brainstorming}}
|
|
159
|
+
|
|
160
|
+
Let's crystallize these ideas into a clear game concept:
|
|
161
|
+
|
|
162
|
+
- What's the core gameplay experience you want to create?
|
|
163
|
+
- What genre or type of game is this?
|
|
164
|
+
- What's the one thing that makes this game special?
|
|
165
|
+
|
|
166
|
+
I'll use this to identify the right game type framework for our GDD."
|
|
167
|
+
|
|
168
|
+
**AFTER this message, SKIP to Section 4.**
|
|
169
|
+
|
|
170
|
+
---
|
|
171
|
+
|
|
172
|
+
#### PATH C: No Documents - Greenfield (briefCount == 0 AND brainstormingCount == 0)
|
|
173
|
+
|
|
174
|
+
**Use this path when:** `briefCount == 0 AND brainstormingCount == 0`
|
|
175
|
+
|
|
176
|
+
"Let's start by understanding your game vision!
|
|
177
|
+
|
|
178
|
+
**Tell me about what you want to create:**
|
|
179
|
+
|
|
180
|
+
- What kind of game is it? (genre, style, references)
|
|
181
|
+
- What does the player do? (core actions, moment-to-moment gameplay)
|
|
182
|
+
- What makes it special or different?
|
|
183
|
+
- What experience or feeling do you want players to have?
|
|
184
|
+
|
|
185
|
+
I'll be listening for signals to help us identify the right game type framework."
|
|
186
|
+
|
|
187
|
+
**AFTER this message, SKIP to Section 4.**
|
|
188
|
+
|
|
189
|
+
---
|
|
190
|
+
|
|
191
|
+
### 4. Determine Game Type
|
|
192
|
+
|
|
193
|
+
As the user describes their game, match against `detection_signals` from `game-types.csv`:
|
|
194
|
+
|
|
195
|
+
#### Game Type Detection Logic
|
|
196
|
+
|
|
197
|
+
Compare user description against game-types.csv entries:
|
|
198
|
+
|
|
199
|
+
- Look for keyword matches from semicolon-separated detection_signals
|
|
200
|
+
- Examples: "platform;jump;run;2D;side-scroll" -> action-platformer
|
|
201
|
+
- Examples: "RPG;level;quest;stats;inventory" -> rpg
|
|
202
|
+
- Examples: "story;choices;narrative;dialogue" -> visual-novel
|
|
203
|
+
|
|
204
|
+
Store the best matching `game_type` id.
|
|
205
|
+
|
|
206
|
+
### 5. Present Classification for Validation
|
|
207
|
+
|
|
208
|
+
**Present to user:**
|
|
209
|
+
|
|
210
|
+
"Based on our conversation, I'm classifying this as:
|
|
211
|
+
|
|
212
|
+
**Game Type:** {matched_game_type_name} ({matched_game_type_id})
|
|
213
|
+
|
|
214
|
+
**Why this type:**
|
|
215
|
+
{explain the detection signals that matched}
|
|
216
|
+
|
|
217
|
+
**This game type includes these focus areas:**
|
|
218
|
+
{key_mechanics from game-types.csv}
|
|
219
|
+
|
|
220
|
+
Does this sound right? If not, tell me what type better fits your vision and I'll adjust."
|
|
221
|
+
|
|
222
|
+
### 6. Load Game Type Guide
|
|
223
|
+
|
|
224
|
+
**After user confirms game type:**
|
|
225
|
+
|
|
226
|
+
- Load the corresponding game type guide: `{gameTypesFolder}/{game_type}.md`
|
|
227
|
+
- Store the guide content for use in step-07 (game-type specific sections)
|
|
228
|
+
- Update frontmatter: `game_type: '{game_type}'`
|
|
229
|
+
|
|
230
|
+
### 7. Capture Game Name
|
|
231
|
+
|
|
232
|
+
"What would you like to call this game? (Working title is fine)"
|
|
233
|
+
|
|
234
|
+
- Store in frontmatter: `game_name: '{user_provided_name}'`
|
|
235
|
+
|
|
236
|
+
### 8. Generate Core Concept Content
|
|
237
|
+
|
|
238
|
+
Based on the conversation, prepare the content to append to the document:
|
|
239
|
+
|
|
240
|
+
#### Content Structure:
|
|
241
|
+
|
|
242
|
+
```markdown
|
|
243
|
+
## Executive Summary
|
|
244
|
+
|
|
245
|
+
### Game Name
|
|
246
|
+
|
|
247
|
+
{{game_name}}
|
|
248
|
+
|
|
249
|
+
### Core Concept
|
|
250
|
+
|
|
251
|
+
{{description - 2-3 paragraphs describing the game concept}}
|
|
252
|
+
|
|
253
|
+
### Game Type
|
|
254
|
+
|
|
255
|
+
**Type:** {{game_type_name}}
|
|
256
|
+
**Framework:** This GDD uses the {{game_type}} template with type-specific sections for {{key_mechanics}}
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
### 9. Present Content and Menu
|
|
260
|
+
|
|
261
|
+
Show the generated content to the user and present:
|
|
262
|
+
|
|
263
|
+
"I've drafted the Executive Summary based on our conversation. This will be the opening section of your GDD.
|
|
264
|
+
|
|
265
|
+
**Here's what I'll add to the document:**
|
|
266
|
+
|
|
267
|
+
[Show the complete markdown content from step 8]
|
|
268
|
+
|
|
269
|
+
**Select an Option:**
|
|
270
|
+
[A] Advanced Elicitation - Let's dive deeper and refine this content
|
|
271
|
+
[P] Party Mode - Bring in different perspectives to improve this
|
|
272
|
+
[C] Continue - Save this and move to Platforms & Audience (Step 3 of 14)"
|
|
273
|
+
|
|
274
|
+
### 10. Handle Menu Selection
|
|
275
|
+
|
|
276
|
+
#### IF A (Advanced Elicitation):
|
|
277
|
+
|
|
278
|
+
- Execute {advancedElicitationTask} with the current content
|
|
279
|
+
- Process the enhanced content that comes back
|
|
280
|
+
- Ask user: "Accept these changes to the Core Concept? (y/n)"
|
|
281
|
+
- If yes: Update the content with improvements, then return to A/P/C menu
|
|
282
|
+
- If no: Keep original content, then return to A/P/C menu
|
|
283
|
+
|
|
284
|
+
#### IF P (Party Mode):
|
|
285
|
+
|
|
286
|
+
- Execute {partyModeWorkflow} with the current content
|
|
287
|
+
- Process the collaborative improvements that come back
|
|
288
|
+
- Ask user: "Accept these changes to the Core Concept? (y/n)"
|
|
289
|
+
- If yes: Update the content with improvements, then return to A/P/C menu
|
|
290
|
+
- If no: Keep original content, then return to A/P/C menu
|
|
291
|
+
|
|
292
|
+
#### IF C (Continue):
|
|
293
|
+
|
|
294
|
+
- Append the final content to `{outputFile}`
|
|
295
|
+
- Update frontmatter: `stepsCompleted: [1, 2]`, `game_type: '{game_type}'`, `game_name: '{game_name}'`
|
|
296
|
+
- Load `{nextStepFile}`
|
|
297
|
+
|
|
298
|
+
## CRITICAL STEP COMPLETION NOTE
|
|
299
|
+
|
|
300
|
+
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.
|
|
301
|
+
|
|
302
|
+
---
|
|
303
|
+
|
|
304
|
+
## SYSTEM SUCCESS/FAILURE METRICS
|
|
305
|
+
|
|
306
|
+
### SUCCESS:
|
|
307
|
+
|
|
308
|
+
- Document counts read from frontmatter and announced
|
|
309
|
+
- Game types CSV loaded and used effectively
|
|
310
|
+
- **Correct discovery path selected based on document counts**
|
|
311
|
+
- Input documents analyzed and leveraged for head start
|
|
312
|
+
- Game type identified and validated with user
|
|
313
|
+
- Game type guide loaded and stored for later use
|
|
314
|
+
- Game name captured and stored in frontmatter
|
|
315
|
+
- Core concept content generated collaboratively
|
|
316
|
+
- A/P/C menu presented and handled correctly
|
|
317
|
+
- Content properly appended to document when C selected
|
|
318
|
+
- Frontmatter updated with stepsCompleted: [1, 2], game_type, game_name
|
|
319
|
+
|
|
320
|
+
### SYSTEM FAILURE:
|
|
321
|
+
|
|
322
|
+
- **Not reading documentCounts from frontmatter first**
|
|
323
|
+
- **Executing multiple discovery paths instead of exactly one**
|
|
324
|
+
- Not loading game-types.csv for classification
|
|
325
|
+
- Not validating game type with user before proceeding
|
|
326
|
+
- Generating detailed content without real user input
|
|
327
|
+
- Not loading the game type guide file
|
|
328
|
+
- Not capturing game name
|
|
329
|
+
- Not presenting A/P/C menu after content generation
|
|
330
|
+
- Appending content without user selecting 'C'
|
|
331
|
+
|
|
332
|
+
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 'step-03-platforms'
|
|
3
|
+
description: 'Define target platforms and target audience for the game'
|
|
4
|
+
|
|
5
|
+
# Path Definitions
|
|
6
|
+
workflow_path: '{project-root}/_bmad/bmgd/workflows/2-design/gdd'
|
|
7
|
+
|
|
8
|
+
# File References
|
|
9
|
+
thisStepFile: '{workflow_path}/steps/step-03-platforms.md'
|
|
10
|
+
nextStepFile: '{workflow_path}/steps/step-04-vision.md'
|
|
11
|
+
workflowFile: '{workflow_path}/workflow.md'
|
|
12
|
+
outputFile: '{output_folder}/gdd.md'
|
|
13
|
+
|
|
14
|
+
# Task References
|
|
15
|
+
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
|
|
16
|
+
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# Step 3: Platforms & Audience
|
|
20
|
+
|
|
21
|
+
**Progress: Step 3 of 14** - Next: Goals & Vision
|
|
22
|
+
|
|
23
|
+
## STEP GOAL:
|
|
24
|
+
|
|
25
|
+
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.
|
|
26
|
+
|
|
27
|
+
## MANDATORY EXECUTION RULES (READ FIRST):
|
|
28
|
+
|
|
29
|
+
### Universal Rules:
|
|
30
|
+
|
|
31
|
+
- NEVER generate content without user input
|
|
32
|
+
- CRITICAL: Read the complete step file before taking any action
|
|
33
|
+
- CRITICAL: When loading next step with 'C', ensure entire file is read
|
|
34
|
+
- YOU ARE A FACILITATOR, not a content generator
|
|
35
|
+
|
|
36
|
+
### Role Reinforcement:
|
|
37
|
+
|
|
38
|
+
- You are a veteran game designer facilitator collaborating with a creative peer
|
|
39
|
+
- We engage in collaborative dialogue, not command-response
|
|
40
|
+
- Platform and audience decisions drive many downstream choices - take this seriously
|
|
41
|
+
|
|
42
|
+
### Step-Specific Rules:
|
|
43
|
+
|
|
44
|
+
- Focus on platform capabilities and audience characteristics
|
|
45
|
+
- FORBIDDEN to generate detailed content without real user input
|
|
46
|
+
- Consider platform-specific constraints (controls, performance, monetization)
|
|
47
|
+
- Approach: Guide user through considerations they may not have thought about
|
|
48
|
+
|
|
49
|
+
## EXECUTION PROTOCOLS:
|
|
50
|
+
|
|
51
|
+
- Show your analysis before taking any action
|
|
52
|
+
- Present A/P/C menu after generating content for each section
|
|
53
|
+
- ONLY save when user chooses C (Continue)
|
|
54
|
+
- Update frontmatter `stepsCompleted: [1, 2, 3]` before loading next step
|
|
55
|
+
- FORBIDDEN to load next step until C is selected
|
|
56
|
+
|
|
57
|
+
## COLLABORATION MENUS (A/P/C):
|
|
58
|
+
|
|
59
|
+
- **A (Advanced Elicitation)**: Explore platform constraints and audience nuances deeper
|
|
60
|
+
- **P (Party Mode)**: Get multiple perspectives on platform/audience decisions
|
|
61
|
+
- **C (Continue)**: Save the content to the document and proceed to next step
|
|
62
|
+
|
|
63
|
+
## CONTEXT BOUNDARIES:
|
|
64
|
+
|
|
65
|
+
- Game type and core concept from step 2 are available
|
|
66
|
+
- Platform choice affects many downstream decisions
|
|
67
|
+
- Audience definition affects tone, complexity, and accessibility
|
|
68
|
+
|
|
69
|
+
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
|
70
|
+
|
|
71
|
+
### 1. Platform Discovery
|
|
72
|
+
|
|
73
|
+
**Guide user through platform selection:**
|
|
74
|
+
|
|
75
|
+
"Now let's talk about where players will experience {{game_name}}.
|
|
76
|
+
|
|
77
|
+
**Platform Options to Consider:**
|
|
78
|
+
|
|
79
|
+
| Platform | Considerations |
|
|
80
|
+
| ---------------------------- | ------------------------------------------------------------------------ |
|
|
81
|
+
| **PC (Steam/Epic)** | Full keyboard/mouse, highest specs, Steam achievements, workshop support |
|
|
82
|
+
| **Web Browser** | Instant access, limited performance, broad reach, touch/mouse hybrid |
|
|
83
|
+
| **Mobile (iOS/Android)** | Touch controls, short sessions, IAP monetization, battery/thermal limits |
|
|
84
|
+
| **Console (Switch/PS/Xbox)** | Controller-first, certification requirements, couch multiplayer |
|
|
85
|
+
| **VR (Quest/PCVR)** | Motion controls, comfort considerations, presence |
|
|
86
|
+
|
|
87
|
+
**For {{game_type}} games, common platform choices include:** {platform_suggestions_from_game_type}
|
|
88
|
+
|
|
89
|
+
**Questions to consider:**
|
|
90
|
+
|
|
91
|
+
1. Where do your target players primarily game?
|
|
92
|
+
2. Does your core gameplay work well with {platform} input methods?
|
|
93
|
+
3. Are you targeting a primary platform with potential ports later?
|
|
94
|
+
|
|
95
|
+
What platform(s) are you targeting?"
|
|
96
|
+
|
|
97
|
+
### 2. Capture Platform Details
|
|
98
|
+
|
|
99
|
+
**After user responds:**
|
|
100
|
+
|
|
101
|
+
Document:
|
|
102
|
+
|
|
103
|
+
- Primary platform (if multiple)
|
|
104
|
+
- Platform-specific control schemes
|
|
105
|
+
- Performance considerations (60fps target, resolution, etc.)
|
|
106
|
+
- Platform-specific features to leverage (achievements, cloud saves, etc.)
|
|
107
|
+
|
|
108
|
+
### 3. Audience Discovery
|
|
109
|
+
|
|
110
|
+
**Guide user through audience definition:**
|
|
111
|
+
|
|
112
|
+
"Now let's define who {{game_name}} is for.
|
|
113
|
+
|
|
114
|
+
**Demographics to Consider:**
|
|
115
|
+
|
|
116
|
+
- **Age Range:** What ages are you designing for? (affects content, complexity, monetization)
|
|
117
|
+
- **Gaming Experience:** Casual, core, or hardcore gamers?
|
|
118
|
+
- **Genre Familiarity:** Do they know {{game_type}} conventions, or are they new to the genre?
|
|
119
|
+
- **Session Length:** Quick mobile sessions (5-15 min) or deep PC sessions (1+ hour)?
|
|
120
|
+
|
|
121
|
+
**For {{game_type}} games, typical audiences include:**
|
|
122
|
+
{audience_suggestions_from_game_type}
|
|
123
|
+
|
|
124
|
+
Tell me about your ideal player. Who is this game for?"
|
|
125
|
+
|
|
126
|
+
### 4. Capture Audience Details
|
|
127
|
+
|
|
128
|
+
**After user responds:**
|
|
129
|
+
|
|
130
|
+
Document:
|
|
131
|
+
|
|
132
|
+
- Primary demographic
|
|
133
|
+
- Gaming experience level
|
|
134
|
+
- Genre familiarity expectations
|
|
135
|
+
- Preferred session lengths
|
|
136
|
+
- Secondary audiences (if any)
|
|
137
|
+
|
|
138
|
+
### 5. Generate Platforms & Audience Content
|
|
139
|
+
|
|
140
|
+
Based on the conversation, prepare the content:
|
|
141
|
+
|
|
142
|
+
```markdown
|
|
143
|
+
## Target Platform(s)
|
|
144
|
+
|
|
145
|
+
### Primary Platform
|
|
146
|
+
|
|
147
|
+
{{primary_platform}}
|
|
148
|
+
|
|
149
|
+
### Platform Considerations
|
|
150
|
+
|
|
151
|
+
{{platform_specific_details}}
|
|
152
|
+
|
|
153
|
+
### Control Scheme
|
|
154
|
+
|
|
155
|
+
{{control_scheme_for_platform}}
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## Target Audience
|
|
160
|
+
|
|
161
|
+
### Demographics
|
|
162
|
+
|
|
163
|
+
{{target_demographics}}
|
|
164
|
+
|
|
165
|
+
### Gaming Experience
|
|
166
|
+
|
|
167
|
+
{{experience_level}} - {{experience_description}}
|
|
168
|
+
|
|
169
|
+
### Genre Familiarity
|
|
170
|
+
|
|
171
|
+
{{genre_familiarity_description}}
|
|
172
|
+
|
|
173
|
+
### Session Length
|
|
174
|
+
|
|
175
|
+
{{typical_session_length}} - {{session_description}}
|
|
176
|
+
|
|
177
|
+
### Player Motivations
|
|
178
|
+
|
|
179
|
+
{{what_draws_this_audience_to_this_game}}
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
### 6. Present Content and Menu
|
|
183
|
+
|
|
184
|
+
Show the generated content to the user and present:
|
|
185
|
+
|
|
186
|
+
"I've drafted the Platforms & Audience sections based on our conversation.
|
|
187
|
+
|
|
188
|
+
**Here's what I'll add to the document:**
|
|
189
|
+
|
|
190
|
+
[Show the complete markdown content from step 5]
|
|
191
|
+
|
|
192
|
+
**Select an Option:**
|
|
193
|
+
[A] Advanced Elicitation - Explore platform/audience deeper
|
|
194
|
+
[P] Party Mode - Get other perspectives on these decisions
|
|
195
|
+
[C] Continue - Save this and move to Goals & Vision (Step 4 of 14)"
|
|
196
|
+
|
|
197
|
+
### 7. Handle Menu Selection
|
|
198
|
+
|
|
199
|
+
#### IF A (Advanced Elicitation):
|
|
200
|
+
|
|
201
|
+
- Execute {advancedElicitationTask} with the current content
|
|
202
|
+
- Ask user: "Accept these changes? (y/n)"
|
|
203
|
+
- If yes: Update content, return to A/P/C menu
|
|
204
|
+
- If no: Keep original, return to A/P/C menu
|
|
205
|
+
|
|
206
|
+
#### IF P (Party Mode):
|
|
207
|
+
|
|
208
|
+
- Execute {partyModeWorkflow} with the current content
|
|
209
|
+
- Ask user: "Accept these changes? (y/n)"
|
|
210
|
+
- If yes: Update content, return to A/P/C menu
|
|
211
|
+
- If no: Keep original, return to A/P/C menu
|
|
212
|
+
|
|
213
|
+
#### IF C (Continue):
|
|
214
|
+
|
|
215
|
+
- Append the final content to `{outputFile}`
|
|
216
|
+
- Update frontmatter: `stepsCompleted: [1, 2, 3]`
|
|
217
|
+
- Load `{nextStepFile}`
|
|
218
|
+
|
|
219
|
+
## CRITICAL STEP COMPLETION NOTE
|
|
220
|
+
|
|
221
|
+
ONLY WHEN [C continue option] is selected and [platforms and audience content saved with frontmatter updated], will you then load and read fully `{nextStepFile}`.
|
|
222
|
+
|
|
223
|
+
---
|
|
224
|
+
|
|
225
|
+
## SYSTEM SUCCESS/FAILURE METRICS
|
|
226
|
+
|
|
227
|
+
### SUCCESS:
|
|
228
|
+
|
|
229
|
+
- Platform(s) clearly identified with rationale
|
|
230
|
+
- Platform-specific considerations documented
|
|
231
|
+
- Target audience demographics defined
|
|
232
|
+
- Gaming experience level captured
|
|
233
|
+
- Session length expectations established
|
|
234
|
+
- A/P/C menu presented and handled correctly
|
|
235
|
+
- Frontmatter updated with stepsCompleted: [1, 2, 3]
|
|
236
|
+
|
|
237
|
+
### SYSTEM FAILURE:
|
|
238
|
+
|
|
239
|
+
- Assuming platform without user confirmation
|
|
240
|
+
- Generating audience profile without user input
|
|
241
|
+
- Not considering platform-specific constraints
|
|
242
|
+
- Not presenting A/P/C menu after content generation
|
|
243
|
+
- Proceeding without user selecting 'C'
|
|
244
|
+
|
|
245
|
+
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|