bmad-method 4.42.1 → 4.43.1

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.
Files changed (105) hide show
  1. package/CONTRIBUTING.md +2 -9
  2. package/README.md +0 -98
  3. package/bmad-core/agents/bmad-master.md +6 -6
  4. package/bmad-core/data/bmad-kb.md +1 -0
  5. package/bmad-core/tasks/validate-next-story.md +1 -1
  6. package/bmad-core/templates/brownfield-architecture-tmpl.yaml +5 -5
  7. package/dist/agents/analyst.txt +1 -0
  8. package/dist/agents/architect.txt +5 -5
  9. package/dist/agents/bmad-master.txt +12 -11
  10. package/dist/agents/bmad-orchestrator.txt +1 -0
  11. package/dist/agents/dev.txt +1 -1
  12. package/dist/agents/po.txt +1 -1
  13. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-developer.txt +1 -1
  14. package/dist/expansion-packs/bmad-2d-unity-game-dev/teams/unity-2d-game-team.txt +1 -1
  15. package/dist/expansion-packs/bmad-godot-game-dev/agents/bmad-orchestrator.txt +1513 -0
  16. package/dist/expansion-packs/bmad-godot-game-dev/agents/game-analyst.txt +3190 -0
  17. package/dist/expansion-packs/bmad-godot-game-dev/agents/game-architect.txt +4499 -0
  18. package/dist/expansion-packs/bmad-godot-game-dev/agents/game-designer.txt +3925 -0
  19. package/dist/expansion-packs/bmad-godot-game-dev/agents/game-developer.txt +666 -0
  20. package/dist/expansion-packs/bmad-godot-game-dev/agents/game-pm.txt +2381 -0
  21. package/dist/expansion-packs/bmad-godot-game-dev/agents/game-po.txt +1612 -0
  22. package/dist/expansion-packs/bmad-godot-game-dev/agents/game-qa.txt +1745 -0
  23. package/dist/expansion-packs/bmad-godot-game-dev/agents/game-sm.txt +1208 -0
  24. package/dist/expansion-packs/bmad-godot-game-dev/agents/game-ux-expert.txt +958 -0
  25. package/dist/expansion-packs/bmad-godot-game-dev/teams/godot-game-team.txt +27721 -0
  26. package/dist/teams/team-all.txt +7 -6
  27. package/dist/teams/team-fullstack.txt +7 -6
  28. package/dist/teams/team-ide-minimal.txt +2 -1
  29. package/dist/teams/team-no-ui.txt +7 -6
  30. package/docs/GUIDING-PRINCIPLES.md +3 -3
  31. package/docs/expansion-packs.md +3 -83
  32. package/docs/flattener.md +91 -0
  33. package/docs/versions.md +1 -1
  34. package/docs/working-in-the-brownfield.md +15 -6
  35. package/expansion-packs/bmad-godot-game-dev/README.md +244 -0
  36. package/expansion-packs/bmad-godot-game-dev/agent-teams/godot-game-team.yaml +18 -0
  37. package/expansion-packs/bmad-godot-game-dev/agents/bmad-orchestrator.md +147 -0
  38. package/expansion-packs/bmad-godot-game-dev/agents/game-analyst.md +84 -0
  39. package/expansion-packs/bmad-godot-game-dev/agents/game-architect.md +146 -0
  40. package/expansion-packs/bmad-godot-game-dev/agents/game-designer.md +78 -0
  41. package/expansion-packs/bmad-godot-game-dev/agents/game-developer.md +124 -0
  42. package/expansion-packs/bmad-godot-game-dev/agents/game-pm.md +82 -0
  43. package/expansion-packs/bmad-godot-game-dev/agents/game-po.md +115 -0
  44. package/expansion-packs/bmad-godot-game-dev/agents/game-qa.md +160 -0
  45. package/expansion-packs/bmad-godot-game-dev/agents/game-sm.md +66 -0
  46. package/expansion-packs/bmad-godot-game-dev/agents/game-ux-expert.md +75 -0
  47. package/expansion-packs/bmad-godot-game-dev/checklists/game-architect-checklist.md +377 -0
  48. package/expansion-packs/bmad-godot-game-dev/checklists/game-change-checklist.md +250 -0
  49. package/expansion-packs/bmad-godot-game-dev/checklists/game-design-checklist.md +225 -0
  50. package/expansion-packs/bmad-godot-game-dev/checklists/game-po-checklist.md +448 -0
  51. package/expansion-packs/bmad-godot-game-dev/checklists/game-story-dod-checklist.md +202 -0
  52. package/expansion-packs/bmad-godot-game-dev/config.yaml +30 -0
  53. package/expansion-packs/bmad-godot-game-dev/data/bmad-kb.md +811 -0
  54. package/expansion-packs/bmad-godot-game-dev/data/brainstorming-techniques.md +36 -0
  55. package/expansion-packs/bmad-godot-game-dev/data/development-guidelines.md +893 -0
  56. package/expansion-packs/bmad-godot-game-dev/data/elicitation-methods.md +156 -0
  57. package/expansion-packs/bmad-godot-game-dev/data/technical-preferences.md +3 -0
  58. package/expansion-packs/bmad-godot-game-dev/tasks/advanced-elicitation.md +110 -0
  59. package/expansion-packs/bmad-godot-game-dev/tasks/apply-qa-fixes.md +224 -0
  60. package/expansion-packs/bmad-godot-game-dev/tasks/brownfield-create-epic.md +162 -0
  61. package/expansion-packs/bmad-godot-game-dev/tasks/brownfield-create-story.md +149 -0
  62. package/expansion-packs/bmad-godot-game-dev/tasks/correct-course-game.md +159 -0
  63. package/expansion-packs/bmad-godot-game-dev/tasks/create-deep-research-prompt.md +278 -0
  64. package/expansion-packs/bmad-godot-game-dev/tasks/create-doc.md +103 -0
  65. package/expansion-packs/bmad-godot-game-dev/tasks/create-game-story.md +202 -0
  66. package/expansion-packs/bmad-godot-game-dev/tasks/document-project.md +343 -0
  67. package/expansion-packs/bmad-godot-game-dev/tasks/execute-checklist.md +88 -0
  68. package/expansion-packs/bmad-godot-game-dev/tasks/facilitate-brainstorming-session.md +136 -0
  69. package/expansion-packs/bmad-godot-game-dev/tasks/game-brownfield-create-epic.md +160 -0
  70. package/expansion-packs/bmad-godot-game-dev/tasks/game-brownfield-create-story.md +147 -0
  71. package/expansion-packs/bmad-godot-game-dev/tasks/game-design-brainstorming.md +290 -0
  72. package/expansion-packs/bmad-godot-game-dev/tasks/game-risk-profile.md +368 -0
  73. package/expansion-packs/bmad-godot-game-dev/tasks/game-test-design.md +219 -0
  74. package/expansion-packs/bmad-godot-game-dev/tasks/generate-ai-frontend-prompt.md +51 -0
  75. package/expansion-packs/bmad-godot-game-dev/tasks/kb-mode-interaction.md +77 -0
  76. package/expansion-packs/bmad-godot-game-dev/tasks/review-game-story.md +364 -0
  77. package/expansion-packs/bmad-godot-game-dev/tasks/shard-doc.md +187 -0
  78. package/expansion-packs/bmad-godot-game-dev/tasks/validate-game-story.md +208 -0
  79. package/expansion-packs/bmad-godot-game-dev/templates/brainstorming-output-tmpl.yaml +156 -0
  80. package/expansion-packs/bmad-godot-game-dev/templates/brownfield-prd-tmpl.yaml +281 -0
  81. package/expansion-packs/bmad-godot-game-dev/templates/competitor-analysis-tmpl.yaml +306 -0
  82. package/expansion-packs/bmad-godot-game-dev/templates/game-architecture-tmpl.yaml +1111 -0
  83. package/expansion-packs/bmad-godot-game-dev/templates/game-brief-tmpl.yaml +356 -0
  84. package/expansion-packs/bmad-godot-game-dev/templates/game-design-doc-tmpl.yaml +724 -0
  85. package/expansion-packs/bmad-godot-game-dev/templates/game-prd-tmpl.yaml +209 -0
  86. package/expansion-packs/bmad-godot-game-dev/templates/game-qa-gate-tmpl.yaml +186 -0
  87. package/expansion-packs/bmad-godot-game-dev/templates/game-story-tmpl.yaml +406 -0
  88. package/expansion-packs/bmad-godot-game-dev/templates/game-ui-spec-tmpl.yaml +601 -0
  89. package/expansion-packs/bmad-godot-game-dev/templates/level-design-doc-tmpl.yaml +620 -0
  90. package/expansion-packs/bmad-godot-game-dev/templates/market-research-tmpl.yaml +418 -0
  91. package/expansion-packs/bmad-godot-game-dev/utils/bmad-doc-template.md +327 -0
  92. package/expansion-packs/bmad-godot-game-dev/utils/workflow-management.md +71 -0
  93. package/expansion-packs/bmad-godot-game-dev/workflows/game-dev-greenfield.yaml +245 -0
  94. package/expansion-packs/bmad-godot-game-dev/workflows/game-prototype.yaml +213 -0
  95. package/package.json +1 -1
  96. package/release_notes.md +19 -2
  97. package/tools/flattener/ignoreRules.js +2 -0
  98. package/tools/installer/bin/bmad.js +37 -1
  99. package/tools/installer/config/install.config.yaml +35 -7
  100. package/tools/installer/lib/ide-setup.js +285 -80
  101. package/tools/installer/lib/installer.js +6 -1
  102. package/tools/installer/package.json +1 -1
  103. package/tools/upgraders/v3-to-v4-upgrader.js +1 -0
  104. package/test.md +0 -1
  105. /package/{implement-fork-friendly-ci.sh → tools/implement-fork-friendly-ci.sh} +0 -0
@@ -0,0 +1,724 @@
1
+ template:
2
+ id: game-design-doc-template-v3
3
+ name: Game Design Document (GDD)
4
+ version: 4.0
5
+ output:
6
+ format: markdown
7
+ filename: docs/game-design-document.md
8
+ title: "{{game_title}} Game Design Document (GDD)"
9
+
10
+ workflow:
11
+ mode: interactive
12
+ elicitation: advanced-elicitation
13
+
14
+ sections:
15
+ - id: goals-context
16
+ title: Goals and Background Context
17
+ instruction: |
18
+ Ask if Project Brief document is available. If NO Project Brief exists, STRONGLY recommend creating one first using project-brief-tmpl (it provides essential foundation: problem statement, target users, success metrics, MVP scope, constraints). If user insists on GDD without brief, gather this information during Goals section. If Project Brief exists, review and use it to populate Goals (bullet list of desired game development outcomes) and Background Context (1-2 paragraphs on what game concept this will deliver and why) so we can determine what is and is not in scope for the GDD. Include Change Log table for version tracking.
19
+ sections:
20
+ - id: goals
21
+ title: Goals
22
+ type: bullet-list
23
+ instruction: Bullet list of 1 line desired outcomes the GDD will deliver if successful - game development and player experience goals
24
+ examples:
25
+ - Create an engaging 2D platformer that teaches players basic programming concepts
26
+ - Deliver a polished mobile game that runs smoothly on low-end Android devices
27
+ - Build a foundation for future expansion packs and content updates
28
+ - id: background
29
+ title: Background Context
30
+ type: paragraphs
31
+ instruction: 1-2 short paragraphs summarizing the game concept background, target audience needs, market opportunity, and what problem this game solves
32
+ - id: changelog
33
+ title: Change Log
34
+ type: table
35
+ columns: [Date, Version, Description, Author]
36
+ instruction: Track document versions and changes
37
+
38
+ - id: executive-summary
39
+ title: Executive Summary
40
+ instruction: Create a compelling overview that captures the essence of the game. Present this section first and get user feedback before proceeding.
41
+ elicit: true
42
+ sections:
43
+ - id: core-concept
44
+ title: Core Concept
45
+ instruction: 2-3 sentences that clearly describe what the game is and why players will love it
46
+ examples:
47
+ - A fast-paced 2D platformer where players manipulate gravity to solve puzzles and defeat enemies in a hand-drawn world.
48
+ - An educational puzzle game that teaches coding concepts through visual programming blocks in a fantasy adventure setting.
49
+ - id: target-audience
50
+ title: Target Audience
51
+ instruction: Define the primary and secondary audience with demographics and gaming preferences
52
+ template: |
53
+ **Primary:** {{age_range}}, {{player_type}}, {{platform_preference}}
54
+ **Secondary:** {{secondary_audience}}
55
+ examples:
56
+ - "Primary: Ages 8-16, casual mobile gamers, prefer short play sessions"
57
+ - "Secondary: Adult puzzle enthusiasts, educators looking for teaching tools"
58
+ - id: platform-technical
59
+ title: Platform & Technical Requirements
60
+ instruction: Based on the technical preferences or user input, define the target platforms and Godot-specific requirements
61
+ template: |
62
+ **Primary Platform:** {{platform}}
63
+ **Engine:** Godot {{godot_version}} with GDScript & C#
64
+ **Language Strategy:** {{gdscript_for}} (GDScript), {{csharp_for}} (C#)
65
+ **Performance Target:** 60+ FPS minimum on {{minimum_device}}
66
+ **Screen Support:** {{resolution_range}}
67
+ **Export Templates:** {{export_targets}}
68
+ **TDD Approach:** GUT for GDScript, GoDotTest for C#
69
+ examples:
70
+ - "Primary Platform: Mobile (iOS/Android), Engine: Godot 4.3, Performance: 60+ FPS on iPhone 8/Galaxy S8"
71
+ - "Language Strategy: Game logic/UI (GDScript), Physics/AI systems (C#)"
72
+ - id: unique-selling-points
73
+ title: Unique Selling Points
74
+ instruction: List 3-5 key features that differentiate this game from competitors
75
+ type: numbered-list
76
+ examples:
77
+ - Innovative gravity manipulation mechanic that affects both player and environment
78
+ - Seamless integration of educational content without compromising fun gameplay
79
+ - Adaptive difficulty system that learns from player behavior
80
+
81
+ - id: core-gameplay
82
+ title: Core Gameplay
83
+ instruction: This section defines the fundamental game mechanics. After presenting each subsection, apply advanced elicitation to ensure completeness and gather additional details.
84
+ elicit: true
85
+ sections:
86
+ - id: game-pillars
87
+ title: Game Pillars
88
+ instruction: Define 3-5 core pillars that guide all design decisions. These should be specific and actionable for Godot development.
89
+ type: numbered-list
90
+ template: |
91
+ **{{pillar_name}}** - {{description}}
92
+ examples:
93
+ - Performance First - Maintain 60+ FPS across all target platforms
94
+ - Intuitive Controls - All interactions learnable within 30 seconds using InputMap
95
+ - Immediate Feedback - Every player action provides signal response within 50ms
96
+ - Progressive Challenge - Difficulty increases through mechanic complexity, not unfair timing
97
+ - id: core-gameplay-loop
98
+ title: Core Gameplay Loop
99
+ instruction: Define the 30-60 second loop that players will repeat. Be specific about timing and player actions for Godot implementation.
100
+ template: |
101
+ **Primary Loop ({{duration}} seconds):**
102
+
103
+ 1. {{action_1}} ({{time_1}}s) - {{godot_node}}
104
+ 2. {{action_2}} ({{time_2}}s) - {{godot_node}}
105
+ 3. {{action_3}} ({{time_3}}s) - {{godot_node}}
106
+ 4. {{reward_feedback}} ({{time_4}}s) - {{godot_node}}
107
+
108
+ **Performance Target:** Loop maintains 60+ FPS
109
+ examples:
110
+ - Observe environment (2s) - Camera2D node, Identify puzzle elements (3s) - Area2D detection
111
+ - id: win-loss-conditions
112
+ title: Win/Loss Conditions
113
+ instruction: Clearly define success and failure states with Godot-specific implementation notes
114
+ template: |
115
+ **Victory Conditions:**
116
+
117
+ - {{win_condition_1}} - Godot Signal: {{signal_name}}
118
+ - {{win_condition_2}} - Godot Signal: {{signal_name}}
119
+
120
+ **Failure States:**
121
+
122
+ - {{loss_condition_1}} - Trigger: {{godot_trigger}}
123
+ - {{loss_condition_2}} - Trigger: {{godot_trigger}}
124
+ examples:
125
+ - "Victory: Player reaches exit portal - Signal: area_entered from Area2D"
126
+ - "Failure: Health reaches zero - Trigger: health_depleted signal"
127
+
128
+ - id: game-mechanics
129
+ title: Game Mechanics
130
+ instruction: Detail each major mechanic that will need Godot implementation. Each mechanic should be specific enough for developers to create nodes, scripts (GDScript/C#), and scenes with TDD approach.
131
+ elicit: true
132
+ sections:
133
+ - id: primary-mechanics
134
+ title: Primary Mechanics
135
+ repeatable: true
136
+ sections:
137
+ - id: mechanic
138
+ title: "{{mechanic_name}}"
139
+ template: |
140
+ **Description:** {{detailed_description}}
141
+
142
+ **Player Input:** {{input_method}} - InputMap Action: {{input_action}}
143
+
144
+ **System Response:** {{game_response}}
145
+
146
+ **Godot Implementation Notes:**
147
+
148
+ - **Nodes Needed:** {{node_list}}
149
+ - **Language Choice:** {{gdscript_or_csharp}} - {{language_rationale}}
150
+ - **Physics Requirements:** {{physics_2d_3d_setup}}
151
+ - **Animation:** {{animation_player_states}}
152
+ - **Performance:** Must maintain 60+ FPS
153
+ - **Object Pooling:** {{pooling_requirements}}
154
+
155
+ **Dependencies:** {{other_mechanics_needed}}
156
+
157
+ **Script Architecture:**
158
+
159
+ - {{script_name}}.gd/.cs - {{responsibility}}
160
+ - {{autoload_script}}.gd/.cs - {{singleton_role}}
161
+
162
+ **TDD Requirements:**
163
+ - GUT tests for GDScript components
164
+ - GoDotTest for C# components
165
+ examples:
166
+ - "Nodes Needed: RigidBody2D, CollisionShape2D, PlayerController node"
167
+ - "Language: GDScript for game logic, C# for physics calculations"
168
+ - "Physics Requirements: Physics material for friction, gravity scale 3"
169
+ - id: controls
170
+ title: Controls
171
+ instruction: Define all input methods for different platforms using Godot's InputMap
172
+ type: table
173
+ template: |
174
+ | Action | Desktop | Mobile | Gamepad | InputMap Action |
175
+ | ------ | ------- | ------ | ------- | --------------- |
176
+ | {{action}} | {{key}} | {{gesture}} | {{button}} | {{action_name}} |
177
+ examples:
178
+ - Move Left, A/Left Arrow, Touch Left, Left Stick, move_left
179
+
180
+ - id: progression-balance
181
+ title: Progression & Balance
182
+ instruction: Define how players advance and how difficulty scales. This section should provide clear parameters for Godot implementation with Resources and language strategy.
183
+ elicit: true
184
+ sections:
185
+ - id: player-progression
186
+ title: Player Progression
187
+ template: |
188
+ **Progression Type:** {{linear|branching|metroidvania}}
189
+
190
+ **Key Milestones:**
191
+
192
+ 1. **{{milestone_1}}** - {{unlock_description}} - Godot: {{resource_update}}
193
+ 2. **{{milestone_2}}** - {{unlock_description}} - Godot: {{resource_update}}
194
+ 3. **{{milestone_3}}** - {{unlock_description}} - Godot: {{resource_update}}
195
+
196
+ **Save Data Structure:**
197
+
198
+ ```csharp
199
+ [System.Serializable]
200
+ public class PlayerProgress
201
+ {
202
+ {{progress_fields}}
203
+ }
204
+ ```
205
+ examples:
206
+ - public int currentLevel, public bool[] unlockedAbilities, public float totalPlayTime
207
+ - id: difficulty-curve
208
+ title: Difficulty Curve
209
+ instruction: Provide specific parameters for balancing that can be implemented as Godot Resources with performance focus
210
+ template: |
211
+ **Tutorial Phase:** {{duration}} - {{difficulty_description}}
212
+ - Godot Config: {{resource_values}} - Language: {{gdscript_or_csharp}}
213
+
214
+ **Early Game:** {{duration}} - {{difficulty_description}}
215
+ - Godot Config: {{resource_values}} - Must maintain 60+ FPS
216
+
217
+ **Mid Game:** {{duration}} - {{difficulty_description}}
218
+ - Godot Config: {{resource_values}} - Object pooling required
219
+
220
+ **Late Game:** {{duration}} - {{difficulty_description}}
221
+ - Godot Config: {{resource_values}} - C# optimization for performance
222
+ examples:
223
+ - "enemy speed: 2.0f, jump height: 4.5f, obstacle density: 0.3f"
224
+ - id: economy-resources
225
+ title: Economy & Resources
226
+ condition: has_economy
227
+ instruction: Define any in-game currencies, resources, or collectibles with Godot implementation details
228
+ type: table
229
+ template: |
230
+ | Resource | Earn Rate | Spend Rate | Purpose | Cap | Godot Resource |
231
+ | -------- | --------- | ---------- | ------- | --- | --------------- |
232
+ | {{resource}} | {{rate}} | {{rate}} | {{use}} | {{max}} | {{resource_name}} |
233
+ examples:
234
+ - Coins, 1-3 per enemy, 10-50 per upgrade, Buy abilities, 9999, CurrencyData
235
+
236
+ - id: level-design-framework
237
+ title: Level Design Framework
238
+ instruction: Provide guidelines for level creation that developers can use to create Godot scenes and nodes. Focus on modular design, scene inheritance, and performance optimization.
239
+ elicit: true
240
+ sections:
241
+ - id: level-types
242
+ title: Level Types
243
+ repeatable: true
244
+ sections:
245
+ - id: level-type
246
+ title: "{{level_type_name}}"
247
+ template: |
248
+ **Purpose:** {{gameplay_purpose}}
249
+ **Target Duration:** {{target_time}}
250
+ **Key Elements:** {{required_mechanics}}
251
+ **Difficulty Rating:** {{relative_difficulty}}
252
+
253
+ **Godot Scene Structure:**
254
+
255
+ - **Environment:** {{tilemap_setup}}
256
+ - **Gameplay Objects:** {{node_list}}
257
+ - **Lighting:** {{lighting_setup}}
258
+ - **Audio:** {{audio_sources}}
259
+
260
+ **Level Flow Template:**
261
+
262
+ - **Introduction:** {{intro_description}} - Area: {{godot_area_bounds}}
263
+ - **Challenge:** {{main_challenge}} - Mechanics: {{active_components}}
264
+ - **Resolution:** {{completion_requirement}} - Trigger: {{completion_trigger}}
265
+
266
+ **Reusable Scenes:**
267
+
268
+ - {{scene_name}}.tscn - {{scene_purpose}}
269
+ examples:
270
+ - "Environment: TileMap node with Platform tileset, Lighting: DirectionalLight2D + PointLight2D nodes"
271
+ - id: level-progression
272
+ title: Level Progression
273
+ template: |
274
+ **World Structure:** {{linear|hub|open}}
275
+ **Total Levels:** {{number}}
276
+ **Unlock Pattern:** {{progression_method}}
277
+ **Scene Management:** {{godot_scene_loading}}
278
+
279
+ **Godot Scene Organization:**
280
+
281
+ - Scene Naming: {{naming_convention}}
282
+ - Resource Preloading: {{preload_groups}}
283
+ - Loading Screens: {{loading_implementation}}
284
+ examples:
285
+ - "Scene Naming: world_{x}_level_{y}_name.tscn, Preload Groups: levels_world1.tres, world_environments.tres"
286
+
287
+ - id: technical-specifications
288
+ title: Technical Specifications
289
+ instruction: Define Godot-specific technical requirements that will guide architecture and implementation decisions. Reference Godot documentation and best practices.
290
+ elicit: true
291
+ choices:
292
+ renderer: [Forward+, Mobile, Compatibility]
293
+ language_primary: [GDScript, C#, Both]
294
+ physics: [2D Only, 3D Only, Hybrid]
295
+ sections:
296
+ - id: godot-configuration
297
+ title: Godot Project Configuration
298
+ template: |
299
+ **Godot Version:** {{godot_version}} (4.3+ recommended)
300
+ **Renderer:** {{Forward+|Mobile|Compatibility}}
301
+ **Primary Language:** {{GDScript|C#|Both}}
302
+ **Physics:** {{2D Only|3D Only|Hybrid}}
303
+ **Export Templates:** {{platforms}}
304
+ **.NET Version:** {{.NET 6.0|.NET 7.0}} (if using C#)
305
+
306
+ **Language Strategy:**
307
+ - GDScript: {{gdscript_usage}} (with static typing mandatory)
308
+ - C#: {{csharp_usage}} (for performance-critical systems)
309
+
310
+ **Project Settings:**
311
+
312
+ - Rendering Method: {{rendering_method}}
313
+ - MSAA: {{msaa_setting}}
314
+ - Physics Settings: {{physics_config}}
315
+ - Object Pooling: Required for spawned entities
316
+ examples:
317
+ - GDScript for game logic and UI (10-20% performance gain with static typing)
318
+ - C# for physics simulation and procedural generation (no LINQ in hot paths)
319
+ - "Color Space: Linear, Quality: Mobile/Desktop presets, Gravity: -20"
320
+ - id: performance-requirements
321
+ title: Performance Requirements
322
+ template: |
323
+ **Frame Rate:** {{fps_target}} FPS (minimum {{min_fps}} on low-end devices)
324
+ **Memory Usage:** <{{memory_limit}}MB heap, <{{texture_memory}}MB textures
325
+ **Load Times:** <{{load_time}}s initial, <{{level_load}}s between levels
326
+ **Battery Usage:** Optimized for mobile devices - {{battery_target}} hours gameplay
327
+
328
+ **Godot Profiler Targets:**
329
+
330
+ - Frame Time: <16.67ms (60+ FPS mandatory)
331
+ - CPU Time: <{{cpu_time}}ms
332
+ - GPU Time: <{{gpu_time}}ms
333
+ - Physics Frame: <{{physics_time}}ms
334
+ - Draw Calls: <{{draw_calls}} per frame
335
+ - Object Pools: Active for all spawned entities
336
+ examples:
337
+ - "60 FPS (minimum 30), CPU: <16.67ms, GPU: <16.67ms, GC: <4KB, Draws: <50"
338
+ - id: platform-specific
339
+ title: Platform Specific Requirements
340
+ template: |
341
+ **Desktop:**
342
+
343
+ - Resolution: {{min_resolution}} - {{max_resolution}}
344
+ - Input: Keyboard, Mouse, Gamepad ({{gamepad_support}})
345
+ - Build Target: {{desktop_targets}}
346
+
347
+ **Mobile:**
348
+
349
+ - Resolution: {{mobile_min}} - {{mobile_max}}
350
+ - Input: Touch, Accelerometer ({{sensor_support}})
351
+ - OS: iOS {{ios_min}}+, Android {{android_min}}+ (API {{api_level}})
352
+ - Device Requirements: {{device_specs}}
353
+
354
+ **Web (if applicable):**
355
+
356
+ - WebGL Version: {{webgl_version}}
357
+ - Browser Support: {{browser_list}}
358
+ - Compression: {{compression_format}}
359
+ examples:
360
+ - "Resolution: 1280x720 - 4K, Gamepad: Xbox/PlayStation controllers via Input System"
361
+ - id: asset-requirements
362
+ title: Asset Requirements
363
+ instruction: Define asset specifications for Godot pipeline optimization with performance focus
364
+ template: |
365
+ **2D Art Assets:**
366
+
367
+ - Sprites: {{sprite_resolution}} at {{ppu}} PPU
368
+ - Texture Format: {{texture_compression}}
369
+ - Atlas Strategy: {{sprite_atlas_setup}}
370
+ - Animation: {{animation_type}} at {{framerate}} FPS
371
+
372
+ **Audio Assets:**
373
+
374
+ - Music: {{audio_format}} at {{sample_rate}} Hz
375
+ - SFX: {{sfx_format}} at {{sfx_sample_rate}} Hz
376
+ - Compression: {{audio_compression}}
377
+ - 3D Audio: {{spatial_audio}}
378
+
379
+ **UI Assets:**
380
+
381
+ - Canvas Resolution: {{ui_resolution}}
382
+ - UI Scale Mode: {{scale_mode}}
383
+ - Font: {{font_requirements}}
384
+ - Icon Sizes: {{icon_specifications}}
385
+ examples:
386
+ - "Sprites: 32x32 to 256x256 at 16 PPU, Format: RGBA32 for quality/RGBA16 for performance"
387
+
388
+ - id: technical-architecture-requirements
389
+ title: Technical Architecture Requirements
390
+ instruction: Define high-level Godot architecture patterns and systems that the game must support. Focus on scalability, TDD, and 60+ FPS performance.
391
+ elicit: true
392
+ choices:
393
+ architecture_pattern: [Node-Based, MVC, Component-Based, Signal-Driven]
394
+ save_system: [ConfigFile, JSON, Binary, Cloud]
395
+ audio_system: [Godot Audio, FMOD]
396
+ sections:
397
+ - id: code-architecture
398
+ title: Code Architecture Pattern
399
+ template: |
400
+ **Architecture Pattern:** {{MVC|MVVM|ECS|Component-Based|Custom}}
401
+
402
+ **Core Systems Required:**
403
+
404
+ - **Scene Management:** {{scene_manager_approach}}
405
+ - **State Management:** {{state_pattern_implementation}}
406
+ - **Event System:** {{event_system_choice}}
407
+ - **Object Pooling:** {{pooling_strategy}}
408
+ - **Save/Load System:** {{save_system_approach}}
409
+
410
+ **Folder Structure:**
411
+
412
+ ```
413
+ Assets/
414
+ ├── _Project/
415
+ │ ├── Scripts/
416
+ │ │ ├── {{folder_structure}}
417
+ │ ├── Scenes/
418
+ │ ├── Scenes/
419
+ │ └── {{additional_folders}}
420
+ ```
421
+
422
+ **Naming Conventions:**
423
+
424
+ - Scripts: {{script_naming}}
425
+ - Scenes: {{scene_naming}}
426
+ - Scenes: {{scene_naming}}
427
+ examples:
428
+ - "Architecture: Node-Based with Resource (.tres) data containers"
429
+ - "Scripts: PascalCase (PlayerController.gd), snake_case (player_controller.gd), Scenes: player.tscn, level_01_forest.tscn"
430
+ - id: godot-systems-integration
431
+ title: Godot Systems Integration
432
+ template: |
433
+ **Required Godot Systems:**
434
+
435
+ - **Input System:** {{input_implementation}}
436
+ - **Animation System:** {{animation_approach}}
437
+ - **Physics Integration:** {{physics_usage}}
438
+ - **Rendering Features:** {{rendering_requirements}}
439
+ - **Asset Streaming:** {{asset_loading_strategy}}
440
+
441
+ **Third-Party Integrations:**
442
+
443
+ - {{integration_name}}: {{integration_purpose}}
444
+
445
+ **Performance Systems:**
446
+
447
+ - **Profiling Integration:** {{profiling_setup}}
448
+ - **Memory Management:** {{memory_strategy}}
449
+ - **Build Pipeline:** {{build_automation}}
450
+ examples:
451
+ - "Input System: Action Maps for Menu/Gameplay contexts with device switching"
452
+ - "DOTween: Smooth UI transitions and gameplay animations"
453
+ - id: data-management
454
+ title: Data Management
455
+ template: |
456
+ **Save Data Architecture:**
457
+
458
+ - **Format:** {{PlayerPrefs|JSON|Binary|Cloud}}
459
+ - **Structure:** {{save_data_organization}}
460
+ - **Encryption:** {{security_approach}}
461
+ - **Cloud Sync:** {{cloud_integration}}
462
+
463
+ **Configuration Data:**
464
+
465
+ - **Resources:** {{resource_usage}}
466
+ - **Settings Management:** {{settings_system}}
467
+ - **Localization:** {{localization_approach}}
468
+
469
+ **Runtime Data:**
470
+
471
+ - **Caching Strategy:** {{cache_implementation}}
472
+ - **Memory Pools:** {{pooling_objects}}
473
+ - **Asset References:** {{asset_reference_system}}
474
+ examples:
475
+ - "Save Data: JSON format with AES encryption, stored in persistent data path"
476
+ - "Resources: Game settings (.tres), level configurations, character data with static typing"
477
+
478
+ - id: development-phases
479
+ title: Development Phases & Epic Planning
480
+ instruction: Break down the Godot development into phases that can be converted to agile epics. Each phase should deliver deployable functionality following TDD practices with 60+ FPS performance.
481
+ elicit: true
482
+ sections:
483
+ - id: phases-overview
484
+ title: Phases Overview
485
+ instruction: Present a high-level list of all phases for user approval. Each phase's design should deliver significant Godot functionality with TDD and performance validation.
486
+ type: numbered-list
487
+ examples:
488
+ - "Phase 1: Godot Foundation & Core Systems: Project setup with TDD (GUT/GoDotTest), node architecture, InputMap configuration"
489
+ - "Phase 2: Core Game Mechanics: Player controller (GDScript), physics systems (C# for performance), 60+ FPS validation"
490
+ - "Phase 3: Level Systems & Content Pipeline: Scene loading, inheritance patterns, object pooling implementation"
491
+ - "Phase 4: Polish & Platform Optimization: Performance profiling to 60+ FPS, export templates, platform deployment"
492
+ - id: phase-1-foundation
493
+ title: "Phase 1: Godot Foundation & Core Systems ({{duration}})"
494
+ sections:
495
+ - id: foundation-design
496
+ title: "Design: Godot Project Foundation"
497
+ type: bullet-list
498
+ template: |
499
+ - Godot project setup with node hierarchy and resource organization
500
+ - Core architecture implementation ({{architecture_pattern}}) with TDD setup
501
+ - InputMap configuration for cross-platform input handling
502
+ - Node-based scene management with signal system
503
+ - GUT (GDScript) and GoDotTest (C#) test framework setup
504
+ - Profiler integration for 60+ FPS validation
505
+ - Export template configuration for target platforms
506
+ examples:
507
+ - "Input System: Configure PlayerInput component with Action Maps for movement and UI"
508
+ - id: core-systems-design
509
+ title: "Design: Essential Game Systems"
510
+ type: bullet-list
511
+ template: |
512
+ - Save/Load system using user:// path with {{save_format}} format
513
+ - Audio bus system setup with {{audio_system}} integration
514
+ - Signal system for decoupled node communication
515
+ - Object pooling system for spawned entities (mandatory)
516
+ - Control node UI framework with anchoring and themes
517
+ - Settings and configuration management with Resources (.tres)
518
+ - id: phase-2-gameplay
519
+ title: "Phase 2: Core Gameplay Implementation ({{duration}})"
520
+ sections:
521
+ - id: gameplay-mechanics-design
522
+ title: "Design: Primary Game Mechanics"
523
+ type: bullet-list
524
+ template: |
525
+ - Player controller with {{movement_type}} using GDScript (static typing)
526
+ - {{primary_mechanic}} implementation with Godot physics (C# if performance-critical)
527
+ - {{secondary_mechanic}} system with 60+ FPS maintained
528
+ - Game state management (playing, paused, game over)
529
+ - Collision detection with Area2D/3D and physics bodies
530
+ - AnimationPlayer and AnimationTree integration with blend spaces
531
+ - id: level-systems-design
532
+ title: "Design: Level & Content Systems"
533
+ type: bullet-list
534
+ template: |
535
+ - Scene loading with transitions <3 seconds
536
+ - Level progression with Resource-based unlock system
537
+ - Scene inheritance and composition patterns
538
+ - {{level_generation}} level creation with TDD tests
539
+ - Collectibles with object pooling for performance
540
+ - Victory/defeat conditions with signal emissions
541
+ - id: phase-3-polish
542
+ title: "Phase 3: Polish & Optimization ({{duration}})"
543
+ sections:
544
+ - id: performance-design
545
+ title: "Design: Performance & Platform Optimization"
546
+ type: bullet-list
547
+ template: |
548
+ - Godot Profiler analysis to ensure 60+ FPS
549
+ - Memory management and garbage collection optimization
550
+ - Asset optimization (import settings, compression)
551
+ - Platform-specific performance tuning for 60+ FPS
552
+ - Export size optimization with stripping
553
+ - Renderer settings for different device tiers
554
+ - id: user-experience-design
555
+ title: "Design: User Experience & Polish"
556
+ type: bullet-list
557
+ template: |
558
+ - Control node UI with responsive anchoring
559
+ - Audio bus system with dynamic mixing
560
+ - GPUParticles2D/3D with object pooling
561
+ - Accessibility features with InputMap remapping
562
+ - Tutorial flow with GUT test coverage
563
+ - Cross-platform testing for 60+ FPS on all targets
564
+
565
+ - id: epic-list
566
+ title: Epic List
567
+ instruction: |
568
+ Present a high-level list of all epics for user approval. Each epic should have a title and a short (1 sentence) goal statement. This allows the user to review the overall structure before diving into details.
569
+
570
+ CRITICAL: Epics MUST be logically sequential following agile best practices:
571
+
572
+ - Each epic should be focused on a single phase and it's design from the development-phases section and deliver a significant, end-to-end, fully deployable increment of testable functionality
573
+ - Epic 1 must establish Phase 1: Godot Foundation & Core Systems (Project setup with TDD, node architecture, InputMap) unless we are adding new functionality to an existing app, while also delivering an initial piece of functionality with 60+ FPS performance!
574
+ - Each subsequent epic builds upon previous epics' functionality delivering major blocks of functionality that provide tangible value to users or business when deployed
575
+ - Not every project needs multiple epics, an epic needs to deliver value. For example, an API, component, or Resource completed can deliver value even if a scene or node is not complete and planned for a separate epic.
576
+ - Err on the side of less epics, but let the user know your rationale and offer options for splitting them if it seems some are too large or focused on disparate things.
577
+ - Cross Cutting Concerns should flow through epics and stories and not be final stories. For example, adding a logging framework as a last story of an epic, or at the end of a project as a final epic or story would be terrible as we would not have logging from the beginning.
578
+ elicit: true
579
+ examples:
580
+ - "Epic 1: Godot Foundation & Core Systems: TDD setup (GUT/GoDotTest), node architecture, InputMap configuration"
581
+ - "Epic 2: Core Game Mechanics: Player controller (GDScript), physics (C# if needed), 60+ FPS validation"
582
+ - "Epic 3: Level Systems & Content Pipeline: Scene inheritance, resource preloading, object pooling"
583
+ - "Epic 4: Polish & Platform Optimization: Performance profiling to 60+ FPS, export templates, deployment"
584
+
585
+ - id: epic-details
586
+ title: Epic {{epic_number}} {{epic_title}}
587
+ repeatable: true
588
+ instruction: |
589
+ After the epic list is approved, present each epic with all its stories and acceptance criteria as a complete review unit.
590
+
591
+ For each epic provide expanded goal (2-3 sentences describing the objective and value all the stories will achieve).
592
+
593
+ CRITICAL STORY SEQUENCING REQUIREMENTS:
594
+
595
+ - Stories within each epic MUST be logically sequential
596
+ - Each story should be a "vertical slice" delivering complete functionality aside from early enabler stories for project foundation
597
+ - No story should depend on work from a later story or epic
598
+ - Identify and note any direct prerequisite stories
599
+ - Focus on "what" and "why" not "how" (leave technical implementation to Architect) yet be precise enough to support a logical sequential order of operations from story to story.
600
+ - Ensure each story delivers clear user or business value, try to avoid enablers and build them into stories that deliver value.
601
+ - Size stories for AI agent execution: Each story must be completable by a single AI agent in one focused session without context overflow
602
+ - Think "junior developer working for 2-4 hours" - stories must be small, focused, and self-contained
603
+ - If a story seems complex, break it down further as long as it can deliver a vertical slice
604
+ elicit: true
605
+ template: "{{epic_goal}}"
606
+ sections:
607
+ - id: story
608
+ title: Story {{epic_number}}.{{story_number}} {{story_title}}
609
+ repeatable: true
610
+ instruction: Provide a clear, concise description of what this story implements. Focus on the specific game feature or system being built. Reference the GDD section that defines this feature and reference the gamearchitecture section for additional implementation and integration specifics.
611
+ template: "{{clear_description_of_what_needs_to_be_implemented}}"
612
+ sections:
613
+ - id: acceptance-criteria
614
+ title: Acceptance Criteria
615
+ instruction: Define specific, testable conditions that must be met for the story to be considered complete. Each criterion should be verifiable and directly related to gameplay functionality.
616
+ sections:
617
+ - id: functional-requirements
618
+ title: Functional Requirements
619
+ type: checklist
620
+ items:
621
+ - "{{specific_functional_requirement}}"
622
+ - id: technical-requirements
623
+ title: Technical Requirements
624
+ type: checklist
625
+ items:
626
+ - Code follows GDScript/C# best practices with static typing
627
+ - Maintains 60+ FPS on all target devices
628
+ - No memory leaks, proper signal cleanup, object pooling active
629
+ - "{{specific_technical_requirement}}"
630
+ - id: game-design-requirements
631
+ title: Game Design Requirements
632
+ type: checklist
633
+ items:
634
+ - "{{gameplay_requirement_from_gdd}}"
635
+ - "{{balance_requirement_if_applicable}}"
636
+ - "{{player_experience_requirement}}"
637
+
638
+ - id: success-metrics
639
+ title: Success Metrics & Quality Assurance
640
+ instruction: Define measurable goals for the Godot game development project with specific targets that can be validated through Godot profiler and performance monitoring.
641
+ elicit: true
642
+ sections:
643
+ - id: technical-metrics
644
+ title: Technical Performance Metrics
645
+ type: bullet-list
646
+ template: |
647
+ - **Frame Rate:** Consistent {{fps_target}} FPS with <5% drops below {{min_fps}}
648
+ - **Load Times:** Initial load <{{initial_load}}s, level transitions <{{level_load}}s
649
+ - **Memory Usage:** Heap memory <{{heap_limit}}MB, texture memory <{{texture_limit}}MB
650
+ - **Crash Rate:** <{{crash_threshold}}% across all supported platforms
651
+ - **Build Size:** Final build <{{size_limit}}MB for mobile, <{{desktop_limit}}MB for desktop
652
+ - **Battery Life:** Mobile gameplay sessions >{{battery_target}} hours on average device
653
+ examples:
654
+ - "Frame Rate: Consistent 60 FPS with <5% drops below 45 FPS on target hardware"
655
+ - "Crash Rate: <0.5% across iOS/Android, <0.1% on desktop platforms"
656
+ - id: gameplay-metrics
657
+ title: Gameplay & User Engagement Metrics
658
+ type: bullet-list
659
+ template: |
660
+ - **Tutorial Completion:** {{tutorial_rate}}% of players complete basic tutorial
661
+ - **Level Progression:** {{progression_rate}}% reach level {{target_level}} within first session
662
+ - **Session Duration:** Average session length {{session_target}} minutes
663
+ - **Player Retention:** Day 1: {{d1_retention}}%, Day 7: {{d7_retention}}%, Day 30: {{d30_retention}}%
664
+ - **Gameplay Completion:** {{completion_rate}}% complete main game content
665
+ - **Control Responsiveness:** Input lag <{{input_lag}}ms on all platforms
666
+ examples:
667
+ - "Tutorial Completion: 85% of players complete movement and basic mechanics tutorial"
668
+ - "Session Duration: Average 15-20 minutes per session for mobile, 30-45 minutes for desktop"
669
+ - id: platform-specific-metrics
670
+ title: Platform-Specific Quality Metrics
671
+ type: table
672
+ template: |
673
+ | Platform | Frame Rate | Load Time | Memory | Build Size | Battery |
674
+ | -------- | ---------- | --------- | ------ | ---------- | ------- |
675
+ | {{platform}} | {{fps}} | {{load}} | {{memory}} | {{size}} | {{battery}} |
676
+ examples:
677
+ - iOS, 60 FPS, <3s, <150MB, <80MB, 3+ hours
678
+ - Android, 60 FPS, <5s, <200MB, <100MB, 2.5+ hours
679
+
680
+ - id: next-steps-integration
681
+ title: Next Steps & BMad Integration
682
+ instruction: Define how this GDD integrates with BMad's agent workflow and what follow-up documents or processes are needed.
683
+ sections:
684
+ - id: architecture-handoff
685
+ title: Godot Architecture Requirements
686
+ instruction: Summary of key architectural decisions that need to be implemented in Godot project setup with TDD and performance focus
687
+ type: bullet-list
688
+ template: |
689
+ - Godot {{godot_version}} project with {{renderer}} renderer
690
+ - {{architecture_pattern}} node architecture with {{folder_structure}}
691
+ - Language strategy: GDScript for {{gdscript_use}}, C# for {{csharp_use}}
692
+ - Performance targets: 60+ FPS mandatory, {{key_performance_metrics}}
693
+ - Platform exports: {{deployment_targets}} with export templates
694
+ - id: story-creation-guidance
695
+ title: Story Creation Guidance for SM Agent
696
+ instruction: Provide guidance for the Story Manager (SM) agent on how to break down this GDD into implementable user stories
697
+ template: |
698
+ **Epic Prioritization:** {{epic_order_rationale}}
699
+
700
+ **Story Sizing Guidelines:**
701
+
702
+ - Foundation stories: {{foundation_story_scope}}
703
+ - Feature stories: {{feature_story_scope}}
704
+ - Polish stories: {{polish_story_scope}}
705
+
706
+ **Godot-Specific Story Considerations:**
707
+
708
+ - Each story should result in testable Godot scenes with GUT/GoDotTest coverage
709
+ - Include specific node hierarchies and signal flows in acceptance criteria
710
+ - Enforce 60+ FPS performance validation in each story
711
+ - Account for export template configuration and deployment
712
+ - Specify language choice (GDScript vs C#) for each component
713
+ examples:
714
+ - "Foundation stories: Individual Godot systems with TDD (InputMap, Audio Bus, Scene Tree) - 1-2 days each"
715
+ - "Feature stories: Complete gameplay mechanics with 60+ FPS validation - 2-4 days each"
716
+ - id: recommended-agents
717
+ title: Recommended BMad Agent Sequence
718
+ type: numbered-list
719
+ template: |
720
+ 1. **{{agent_name}}**: {{agent_responsibility}}
721
+ examples:
722
+ - "Godot Architect: Create detailed technical architecture with node patterns and language strategy"
723
+ - "Godot Developer: Implement systems with TDD (GUT/GoDotTest) maintaining 60+ FPS"
724
+ - "QA Tester: Validate performance targets, signal cleanup, and platform exports"