bmad-method 4.30.4 → 4.32.0

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 (82) hide show
  1. package/.vscode/settings.json +1 -7
  2. package/CHANGELOG.md +117 -170
  3. package/README.md +46 -7
  4. package/bmad-core/agents/analyst.md +1 -1
  5. package/bmad-core/agents/architect.md +2 -3
  6. package/bmad-core/agents/bmad-master.md +0 -1
  7. package/bmad-core/agents/bmad-orchestrator.md +9 -10
  8. package/bmad-core/agents/dev.md +1 -2
  9. package/bmad-core/agents/pm.md +3 -1
  10. package/bmad-core/agents/po.md +1 -1
  11. package/bmad-core/agents/qa.md +1 -1
  12. package/bmad-core/agents/sm.md +1 -1
  13. package/bmad-core/agents/ux-expert.md +1 -1
  14. package/bmad-core/bmad-core/user-guide.md +0 -0
  15. package/bmad-core/data/bmad-kb.md +12 -2
  16. package/bmad-core/data/elicitation-methods.md +20 -0
  17. package/bmad-core/enhanced-ide-development-workflow.md +43 -0
  18. package/bmad-core/tasks/advanced-elicitation.md +2 -0
  19. package/bmad-core/tasks/create-brownfield-story.md +20 -3
  20. package/bmad-core/tasks/document-project.md +19 -13
  21. package/bmad-core/tasks/facilitate-brainstorming-session.md +1 -1
  22. package/bmad-core/tasks/index-docs.md +0 -1
  23. package/bmad-core/tasks/kb-mode-interaction.md +3 -3
  24. package/bmad-core/tasks/review-story.md +18 -1
  25. package/bmad-core/user-guide.md +251 -0
  26. package/{docs → bmad-core}/working-in-the-brownfield.md +39 -36
  27. package/dist/agents/analyst.txt +6 -6
  28. package/dist/agents/architect.txt +8 -3
  29. package/dist/agents/bmad-master.txt +2 -1
  30. package/dist/agents/pm.txt +9 -2
  31. package/dist/agents/po.txt +2 -318
  32. package/dist/agents/qa.txt +0 -1
  33. package/dist/agents/sm.txt +3 -3
  34. package/dist/agents/ux-expert.txt +2 -297
  35. package/dist/expansion-packs/bmad-2d-phaser-game-dev/teams/phaser-2d-nodejs-game-team.txt +6 -6
  36. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-architect.txt +4047 -0
  37. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-designer.txt +1520 -185
  38. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-developer.txt +214 -1229
  39. package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-sm.txt +537 -373
  40. package/dist/expansion-packs/bmad-2d-unity-game-dev/teams/unity-2d-game-team.txt +6917 -2140
  41. package/dist/teams/team-all.txt +30 -25
  42. package/dist/teams/team-fullstack.txt +27 -21
  43. package/dist/teams/team-ide-minimal.txt +5 -322
  44. package/dist/teams/team-no-ui.txt +25 -16
  45. package/expansion-packs/bmad-2d-phaser-game-dev/data/development-guidelines.md +3 -1
  46. package/expansion-packs/bmad-2d-unity-game-dev/agent-teams/unity-2d-game-team.yaml +1 -0
  47. package/expansion-packs/bmad-2d-unity-game-dev/agents/game-architect.md +80 -0
  48. package/expansion-packs/bmad-2d-unity-game-dev/agents/game-designer.md +21 -16
  49. package/expansion-packs/bmad-2d-unity-game-dev/agents/game-developer.md +25 -25
  50. package/expansion-packs/bmad-2d-unity-game-dev/agents/game-sm.md +15 -14
  51. package/expansion-packs/bmad-2d-unity-game-dev/checklists/game-architect-checklist.md +396 -0
  52. package/expansion-packs/bmad-2d-unity-game-dev/checklists/game-change-checklist.md +203 -0
  53. package/expansion-packs/bmad-2d-unity-game-dev/checklists/game-design-checklist.md +1 -1
  54. package/expansion-packs/bmad-2d-unity-game-dev/checklists/game-story-dod-checklist.md +93 -121
  55. package/expansion-packs/bmad-2d-unity-game-dev/config.yaml +1 -1
  56. package/expansion-packs/bmad-2d-unity-game-dev/data/bmad-kb.md +593 -68
  57. package/expansion-packs/bmad-2d-unity-game-dev/tasks/correct-course-game.md +151 -0
  58. package/expansion-packs/bmad-2d-unity-game-dev/tasks/create-game-story.md +165 -198
  59. package/expansion-packs/bmad-2d-unity-game-dev/tasks/validate-game-story.md +200 -0
  60. package/expansion-packs/bmad-2d-unity-game-dev/templates/game-architecture-tmpl.yaml +938 -453
  61. package/expansion-packs/bmad-2d-unity-game-dev/templates/game-brief-tmpl.yaml +3 -3
  62. package/expansion-packs/bmad-2d-unity-game-dev/templates/game-design-doc-tmpl.yaml +517 -155
  63. package/expansion-packs/bmad-2d-unity-game-dev/templates/game-story-tmpl.yaml +12 -12
  64. package/expansion-packs/bmad-2d-unity-game-dev/templates/level-design-doc-tmpl.yaml +11 -11
  65. package/package.json +79 -76
  66. package/tools/cli.js +9 -0
  67. package/tools/flattener/main.js +559 -0
  68. package/tools/installer/lib/installer.js +4 -0
  69. package/tools/installer/package.json +1 -1
  70. package/.husky/pre-commit +0 -2
  71. package/.prettierignore +0 -21
  72. package/.prettierrc +0 -23
  73. package/docs/agentic-tools/claude-code-guide.md +0 -19
  74. package/docs/agentic-tools/cline-guide.md +0 -16
  75. package/docs/agentic-tools/cursor-guide.md +0 -14
  76. package/docs/agentic-tools/gemini-cli-guide.md +0 -31
  77. package/docs/agentic-tools/github-copilot-guide.md +0 -42
  78. package/docs/agentic-tools/roo-code-guide.md +0 -15
  79. package/docs/agentic-tools/trae-guide.md +0 -14
  80. package/docs/agentic-tools/windsurf-guide.md +0 -14
  81. package/docs/bmad-workflow-guide.md +0 -166
  82. package/docs/user-guide.md +0 -1142
@@ -1,86 +1,128 @@
1
1
  template:
2
- id: game-design-doc-template-v2
2
+ id: game-design-doc-template-v3
3
3
  name: Game Design Document (GDD)
4
- version: 2.0
4
+ version: 4.0
5
5
  output:
6
6
  format: markdown
7
- filename: "docs/{{game_name}}-game-design-document.md"
7
+ filename: docs/game-design-document.md
8
8
  title: "{{game_title}} Game Design Document (GDD)"
9
9
 
10
10
  workflow:
11
11
  mode: interactive
12
+ elicitation: advanced-elicitation
12
13
 
13
14
  sections:
14
- - id: initial-setup
15
+ - id: goals-context
16
+ title: Goals and Background Context
15
17
  instruction: |
16
- This template creates a comprehensive Game Design Document that will serve as the foundation for all game development work. The GDD should be detailed enough that developers can create user stories and epics from it. Focus on gameplay systems, mechanics, and technical requirements that can be broken down into implementable features.
17
-
18
- If available, review any provided documents or ask if any are optionally available: Project Brief, Market Research, Competitive Analysis
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
19
37
 
20
38
  - id: executive-summary
21
39
  title: Executive Summary
22
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
23
42
  sections:
24
43
  - id: core-concept
25
44
  title: Core Concept
26
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.
27
49
  - id: target-audience
28
50
  title: Target Audience
29
51
  instruction: Define the primary and secondary audience with demographics and gaming preferences
30
52
  template: |
31
53
  **Primary:** {{age_range}}, {{player_type}}, {{platform_preference}}
32
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"
33
58
  - id: platform-technical
34
59
  title: Platform & Technical Requirements
35
- instruction: Based on the technical preferences or user input, define the target platforms
60
+ instruction: Based on the technical preferences or user input, define the target platforms and Unity-specific requirements
36
61
  template: |
37
62
  **Primary Platform:** {{platform}}
38
- **Engine:** Unity & C#
39
- **Performance Target:** Stable FPS on {{minimum_device}}
63
+ **Engine:** Unity {{unity_version}} & C#
64
+ **Performance Target:** Stable {{fps_target}} FPS on {{minimum_device}}
40
65
  **Screen Support:** {{resolution_range}}
66
+ **Build Targets:** {{build_targets}}
67
+ examples:
68
+ - "Primary Platform: Mobile (iOS/Android), Engine: Unity 2022.3 LTS & C#, Performance: 60 FPS on iPhone 8/Galaxy S8"
41
69
  - id: unique-selling-points
42
70
  title: Unique Selling Points
43
71
  instruction: List 3-5 key features that differentiate this game from competitors
44
72
  type: numbered-list
45
- template: "{{usp}}"
73
+ examples:
74
+ - Innovative gravity manipulation mechanic that affects both player and environment
75
+ - Seamless integration of educational content without compromising fun gameplay
76
+ - Adaptive difficulty system that learns from player behavior
46
77
 
47
78
  - id: core-gameplay
48
79
  title: Core Gameplay
49
- instruction: This section defines the fundamental game mechanics. After presenting each subsection, apply `tasks#advanced-elicitation` protocol to ensure completeness.
80
+ instruction: This section defines the fundamental game mechanics. After presenting each subsection, apply advanced elicitation to ensure completeness and gather additional details.
81
+ elicit: true
50
82
  sections:
51
83
  - id: game-pillars
52
84
  title: Game Pillars
53
- instruction: Define 3-5 core pillars that guide all design decisions. These should be specific and actionable.
85
+ instruction: Define 3-5 core pillars that guide all design decisions. These should be specific and actionable for Unity development.
54
86
  type: numbered-list
55
87
  template: |
56
88
  **{{pillar_name}}** - {{description}}
89
+ examples:
90
+ - Intuitive Controls - All interactions must be learnable within 30 seconds using touch or keyboard
91
+ - Immediate Feedback - Every player action provides visual and audio response within 0.1 seconds
92
+ - Progressive Challenge - Difficulty increases through mechanic complexity, not unfair timing
57
93
  - id: core-gameplay-loop
58
94
  title: Core Gameplay Loop
59
- instruction: Define the 30-60 second loop that players will repeat. Be specific about timing and player actions.
95
+ instruction: Define the 30-60 second loop that players will repeat. Be specific about timing and player actions for Unity implementation.
60
96
  template: |
61
97
  **Primary Loop ({{duration}} seconds):**
62
98
 
63
- 1. {{action_1}} ({{time_1}}s)
64
- 2. {{action_2}} ({{time_2}}s)
65
- 3. {{action_3}} ({{time_3}}s)
66
- 4. {{reward_feedback}} ({{time_4}}s)
99
+ 1. {{action_1}} ({{time_1}}s) - {{unity_component}}
100
+ 2. {{action_2}} ({{time_2}}s) - {{unity_component}}
101
+ 3. {{action_3}} ({{time_3}}s) - {{unity_component}}
102
+ 4. {{reward_feedback}} ({{time_4}}s) - {{unity_component}}
103
+ examples:
104
+ - Observe environment (2s) - Camera Controller, Identify puzzle elements (3s) - Highlight System
67
105
  - id: win-loss-conditions
68
106
  title: Win/Loss Conditions
69
- instruction: Clearly define success and failure states
107
+ instruction: Clearly define success and failure states with Unity-specific implementation notes
70
108
  template: |
71
109
  **Victory Conditions:**
72
110
 
73
- - {{win_condition_1}}
74
- - {{win_condition_2}}
111
+ - {{win_condition_1}} - Unity Event: {{unity_event}}
112
+ - {{win_condition_2}} - Unity Event: {{unity_event}}
75
113
 
76
114
  **Failure States:**
77
115
 
78
- - {{loss_condition_1}}
79
- - {{loss_condition_2}}
116
+ - {{loss_condition_1}} - Trigger: {{unity_trigger}}
117
+ - {{loss_condition_2}} - Trigger: {{unity_trigger}}
118
+ examples:
119
+ - "Victory: Player reaches exit portal - Unity Event: OnTriggerEnter2D with Portal tag"
120
+ - "Failure: Health reaches zero - Trigger: Health component value <= 0"
80
121
 
81
122
  - id: game-mechanics
82
123
  title: Game Mechanics
83
- instruction: Detail each major mechanic that will need to be implemented. Each mechanic should be specific enough for developers to create implementation stories.
124
+ instruction: Detail each major mechanic that will need Unity implementation. Each mechanic should be specific enough for developers to create C# scripts and prefabs.
125
+ elicit: true
84
126
  sections:
85
127
  - id: primary-mechanics
86
128
  title: Primary Mechanics
@@ -91,29 +133,41 @@ sections:
91
133
  template: |
92
134
  **Description:** {{detailed_description}}
93
135
 
94
- **Player Input:** {{input_method}}
136
+ **Player Input:** {{input_method}} - Unity Input System: {{input_action}}
95
137
 
96
138
  **System Response:** {{game_response}}
97
139
 
98
- **Implementation Notes:**
140
+ **Unity Implementation Notes:**
99
141
 
100
- - {{tech_requirement_1}}
101
- - {{tech_requirement_2}}
102
- - {{performance_consideration}}
142
+ - **Components Needed:** {{component_list}}
143
+ - **Physics Requirements:** {{physics_2d_setup}}
144
+ - **Animation States:** {{animator_states}}
145
+ - **Performance Considerations:** {{optimization_notes}}
103
146
 
104
147
  **Dependencies:** {{other_mechanics_needed}}
148
+
149
+ **Script Architecture:**
150
+
151
+ - {{script_name}}.cs - {{responsibility}}
152
+ - {{manager_script}}.cs - {{management_role}}
153
+ examples:
154
+ - "Components Needed: Rigidbody2D, BoxCollider2D, PlayerMovement script"
155
+ - "Physics Requirements: 2D Physics material for ground friction, Gravity scale 3"
105
156
  - id: controls
106
157
  title: Controls
107
- instruction: Define all input methods for different platforms
158
+ instruction: Define all input methods for different platforms using Unity's Input System
108
159
  type: table
109
160
  template: |
110
- | Action | Desktop | Mobile | Gamepad |
111
- | ------ | ------- | ------ | ------- |
112
- | {{action}} | {{key}} | {{gesture}} | {{button}} |
161
+ | Action | Desktop | Mobile | Gamepad | Unity Input Action |
162
+ | ------ | ------- | ------ | ------- | ------------------ |
163
+ | {{action}} | {{key}} | {{gesture}} | {{button}} | {{input_action}} |
164
+ examples:
165
+ - Move Left, A/Left Arrow, Swipe Left, Left Stick, <Move>/x
113
166
 
114
167
  - id: progression-balance
115
168
  title: Progression & Balance
116
- instruction: Define how players advance and how difficulty scales. This section should provide clear parameters for implementation.
169
+ instruction: Define how players advance and how difficulty scales. This section should provide clear parameters for Unity implementation and scriptable objects.
170
+ elicit: true
117
171
  sections:
118
172
  - id: player-progression
119
173
  title: Player Progression
@@ -122,30 +176,54 @@ sections:
122
176
 
123
177
  **Key Milestones:**
124
178
 
125
- 1. **{{milestone_1}}** - {{unlock_description}}
126
- 2. **{{milestone_2}}** - {{unlock_description}}
127
- 3. **{{milestone_3}}** - {{unlock_description}}
179
+ 1. **{{milestone_1}}** - {{unlock_description}} - Unity: {{scriptable_object_update}}
180
+ 2. **{{milestone_2}}** - {{unlock_description}} - Unity: {{scriptable_object_update}}
181
+ 3. **{{milestone_3}}** - {{unlock_description}} - Unity: {{scriptable_object_update}}
182
+
183
+ **Save Data Structure:**
184
+
185
+ ```csharp
186
+ [System.Serializable]
187
+ public class PlayerProgress
188
+ {
189
+ {{progress_fields}}
190
+ }
191
+ ```
192
+ examples:
193
+ - public int currentLevel, public bool[] unlockedAbilities, public float totalPlayTime
128
194
  - id: difficulty-curve
129
195
  title: Difficulty Curve
130
- instruction: Provide specific parameters for balancing
196
+ instruction: Provide specific parameters for balancing that can be implemented as Unity ScriptableObjects
131
197
  template: |
132
198
  **Tutorial Phase:** {{duration}} - {{difficulty_description}}
199
+ - Unity Config: {{scriptable_object_values}}
200
+
133
201
  **Early Game:** {{duration}} - {{difficulty_description}}
202
+ - Unity Config: {{scriptable_object_values}}
203
+
134
204
  **Mid Game:** {{duration}} - {{difficulty_description}}
205
+ - Unity Config: {{scriptable_object_values}}
206
+
135
207
  **Late Game:** {{duration}} - {{difficulty_description}}
208
+ - Unity Config: {{scriptable_object_values}}
209
+ examples:
210
+ - "enemy speed: 2.0f, jump height: 4.5f, obstacle density: 0.3f"
136
211
  - id: economy-resources
137
212
  title: Economy & Resources
138
213
  condition: has_economy
139
- instruction: Define any in-game currencies, resources, or collectibles
214
+ instruction: Define any in-game currencies, resources, or collectibles with Unity implementation details
140
215
  type: table
141
216
  template: |
142
- | Resource | Earn Rate | Spend Rate | Purpose | Cap |
143
- | -------- | --------- | ---------- | ------- | --- |
144
- | {{resource}} | {{rate}} | {{rate}} | {{use}} | {{max}} |
217
+ | Resource | Earn Rate | Spend Rate | Purpose | Cap | Unity ScriptableObject |
218
+ | -------- | --------- | ---------- | ------- | --- | --------------------- |
219
+ | {{resource}} | {{rate}} | {{rate}} | {{use}} | {{max}} | {{so_name}} |
220
+ examples:
221
+ - Coins, 1-3 per enemy, 10-50 per upgrade, Buy abilities, 9999, CurrencyData
145
222
 
146
223
  - id: level-design-framework
147
224
  title: Level Design Framework
148
- instruction: Provide guidelines for level creation that developers can use to create level implementation stories
225
+ instruction: Provide guidelines for level creation that developers can use to create Unity scenes and prefabs. Focus on modular design and reusable components.
226
+ elicit: true
149
227
  sections:
150
228
  - id: level-types
151
229
  title: Level Types
@@ -155,189 +233,473 @@ sections:
155
233
  title: "{{level_type_name}}"
156
234
  template: |
157
235
  **Purpose:** {{gameplay_purpose}}
158
- **Duration:** {{target_time}}
236
+ **Target Duration:** {{target_time}}
159
237
  **Key Elements:** {{required_mechanics}}
160
- **Difficulty:** {{relative_difficulty}}
238
+ **Difficulty Rating:** {{relative_difficulty}}
239
+
240
+ **Unity Scene Structure:**
241
+
242
+ - **Environment:** {{tilemap_setup}}
243
+ - **Gameplay Objects:** {{prefab_list}}
244
+ - **Lighting:** {{lighting_setup}}
245
+ - **Audio:** {{audio_sources}}
246
+
247
+ **Level Flow Template:**
161
248
 
162
- **Structure Template:**
249
+ - **Introduction:** {{intro_description}} - Area: {{unity_area_bounds}}
250
+ - **Challenge:** {{main_challenge}} - Mechanics: {{active_components}}
251
+ - **Resolution:** {{completion_requirement}} - Trigger: {{completion_trigger}}
163
252
 
164
- - Introduction: {{intro_description}}
165
- - Challenge: {{main_challenge}}
166
- - Resolution: {{completion_requirement}}
253
+ **Reusable Prefabs:**
254
+
255
+ - {{prefab_name}} - {{prefab_purpose}}
256
+ examples:
257
+ - "Environment: TilemapRenderer with Platform tileset, Lighting: 2D Global Light + Point Lights"
167
258
  - id: level-progression
168
259
  title: Level Progression
169
260
  template: |
170
261
  **World Structure:** {{linear|hub|open}}
171
262
  **Total Levels:** {{number}}
172
263
  **Unlock Pattern:** {{progression_method}}
264
+ **Scene Management:** {{unity_scene_loading}}
265
+
266
+ **Unity Scene Organization:**
267
+
268
+ - Scene Naming: {{naming_convention}}
269
+ - Addressable Assets: {{addressable_groups}}
270
+ - Loading Screens: {{loading_implementation}}
271
+ examples:
272
+ - "Scene Naming: World{X}_Level{Y}_Name, Addressable Groups: Levels_World1, World_Environments"
173
273
 
174
274
  - id: technical-specifications
175
275
  title: Technical Specifications
176
- instruction: Define technical requirements that will guide architecture and implementation decisions. Review any existing technical preferences.
276
+ instruction: Define Unity-specific technical requirements that will guide architecture and implementation decisions. Reference Unity documentation and best practices.
277
+ elicit: true
278
+ choices:
279
+ render_pipeline: [Built-in, URP, HDRP]
280
+ input_system: [Legacy, New Input System, Both]
281
+ physics: [2D Only, 3D Only, Hybrid]
177
282
  sections:
283
+ - id: unity-configuration
284
+ title: Unity Project Configuration
285
+ template: |
286
+ **Unity Version:** {{unity_version}} (LTS recommended)
287
+ **Render Pipeline:** {{Built-in|URP|HDRP}}
288
+ **Input System:** {{Legacy|New Input System|Both}}
289
+ **Physics:** {{2D Only|3D Only|Hybrid}}
290
+ **Scripting Backend:** {{Mono|IL2CPP}}
291
+ **API Compatibility:** {{.NET Standard 2.1|.NET Framework}}
292
+
293
+ **Required Packages:**
294
+
295
+ - {{package_name}} {{version}} - {{purpose}}
296
+
297
+ **Project Settings:**
298
+
299
+ - Color Space: {{Linear|Gamma}}
300
+ - Quality Settings: {{quality_levels}}
301
+ - Physics Settings: {{physics_config}}
302
+ examples:
303
+ - com.unity.addressables 1.20.5 - Asset loading and memory management
304
+ - "Color Space: Linear, Quality: Mobile/Desktop presets, Gravity: -20"
178
305
  - id: performance-requirements
179
306
  title: Performance Requirements
180
307
  template: |
181
- **Frame Rate:** Stable FPS (minimum 30 FPS on low-end devices)
182
- **Memory Usage:** <{{memory_limit}}MB
308
+ **Frame Rate:** {{fps_target}} FPS (minimum {{min_fps}} on low-end devices)
309
+ **Memory Usage:** <{{memory_limit}}MB heap, <{{texture_memory}}MB textures
183
310
  **Load Times:** <{{load_time}}s initial, <{{level_load}}s between levels
184
- **Battery Usage:** Optimized for mobile devices
311
+ **Battery Usage:** Optimized for mobile devices - {{battery_target}} hours gameplay
312
+
313
+ **Unity Profiler Targets:**
314
+
315
+ - CPU Frame Time: <{{cpu_time}}ms
316
+ - GPU Frame Time: <{{gpu_time}}ms
317
+ - GC Allocs: <{{gc_limit}}KB per frame
318
+ - Draw Calls: <{{draw_calls}} per frame
319
+ examples:
320
+ - "60 FPS (minimum 30), CPU: <16.67ms, GPU: <16.67ms, GC: <4KB, Draws: <50"
185
321
  - id: platform-specific
186
- title: Platform Specific
322
+ title: Platform Specific Requirements
187
323
  template: |
188
324
  **Desktop:**
189
325
 
190
326
  - Resolution: {{min_resolution}} - {{max_resolution}}
191
- - Input: Keyboard, Mouse, Gamepad
192
- - Browser: Chrome 80+, Firefox 75+, Safari 13+
327
+ - Input: Keyboard, Mouse, Gamepad ({{gamepad_support}})
328
+ - Build Target: {{desktop_targets}}
193
329
 
194
330
  **Mobile:**
195
331
 
196
332
  - Resolution: {{mobile_min}} - {{mobile_max}}
197
- - Input: Touch, Tilt (optional)
198
- - OS: iOS 13+, Android 8+
333
+ - Input: Touch, Accelerometer ({{sensor_support}})
334
+ - OS: iOS {{ios_min}}+, Android {{android_min}}+ (API {{api_level}})
335
+ - Device Requirements: {{device_specs}}
336
+
337
+ **Web (if applicable):**
338
+
339
+ - WebGL Version: {{webgl_version}}
340
+ - Browser Support: {{browser_list}}
341
+ - Compression: {{compression_format}}
342
+ examples:
343
+ - "Resolution: 1280x720 - 4K, Gamepad: Xbox/PlayStation controllers via Input System"
199
344
  - id: asset-requirements
200
345
  title: Asset Requirements
201
- instruction: Define asset specifications for the art and audio teams
346
+ instruction: Define asset specifications for Unity pipeline optimization
202
347
  template: |
203
- **Visual Assets:**
348
+ **2D Art Assets:**
204
349
 
205
- - Art Style: {{style_description}}
206
- - Color Palette: {{color_specification}}
207
- - Animation: {{animation_requirements}}
208
- - UI Resolution: {{ui_specs}}
350
+ - Sprites: {{sprite_resolution}} at {{ppu}} PPU
351
+ - Texture Format: {{texture_compression}}
352
+ - Atlas Strategy: {{sprite_atlas_setup}}
353
+ - Animation: {{animation_type}} at {{framerate}} FPS
209
354
 
210
355
  **Audio Assets:**
211
356
 
212
- - Music Style: {{music_genre}}
213
- - Sound Effects: {{sfx_requirements}}
214
- - Voice Acting: {{voice_needs}}
357
+ - Music: {{audio_format}} at {{sample_rate}} Hz
358
+ - SFX: {{sfx_format}} at {{sfx_sample_rate}} Hz
359
+ - Compression: {{audio_compression}}
360
+ - 3D Audio: {{spatial_audio}}
361
+
362
+ **UI Assets:**
363
+
364
+ - Canvas Resolution: {{ui_resolution}}
365
+ - UI Scale Mode: {{scale_mode}}
366
+ - Font: {{font_requirements}}
367
+ - Icon Sizes: {{icon_specifications}}
368
+ examples:
369
+ - "Sprites: 32x32 to 256x256 at 16 PPU, Format: RGBA32 for quality/RGBA16 for performance"
215
370
 
216
371
  - id: technical-architecture-requirements
217
372
  title: Technical Architecture Requirements
218
- instruction: Define high-level technical requirements that the game architecture must support
373
+ instruction: Define high-level Unity architecture patterns and systems that the game must support. Focus on scalability and maintainability.
374
+ elicit: true
375
+ choices:
376
+ architecture_pattern: [MVC, MVVM, ECS, Component-Based]
377
+ save_system: [PlayerPrefs, JSON, Binary, Cloud]
378
+ audio_system: [Unity Audio, FMOD, Wwise]
219
379
  sections:
220
- - id: engine-configuration
221
- title: Engine Configuration
222
- template: |
223
- **Unity Setup:**
224
-
225
- - C#: Latest stable version
226
- - Physics: 2D Physics
227
- - Renderer: 2D Renderer (URP)
228
- - Input System: New Input System
229
380
  - id: code-architecture
230
- title: Code Architecture
381
+ title: Code Architecture Pattern
382
+ template: |
383
+ **Architecture Pattern:** {{MVC|MVVM|ECS|Component-Based|Custom}}
384
+
385
+ **Core Systems Required:**
386
+
387
+ - **Scene Management:** {{scene_manager_approach}}
388
+ - **State Management:** {{state_pattern_implementation}}
389
+ - **Event System:** {{event_system_choice}}
390
+ - **Object Pooling:** {{pooling_strategy}}
391
+ - **Save/Load System:** {{save_system_approach}}
392
+
393
+ **Folder Structure:**
394
+
395
+ ```
396
+ Assets/
397
+ ├── _Project/
398
+ │ ├── Scripts/
399
+ │ │ ├── {{folder_structure}}
400
+ │ ├── Prefabs/
401
+ │ ├── Scenes/
402
+ │ └── {{additional_folders}}
403
+ ```
404
+
405
+ **Naming Conventions:**
406
+
407
+ - Scripts: {{script_naming}}
408
+ - Prefabs: {{prefab_naming}}
409
+ - Scenes: {{scene_naming}}
410
+ examples:
411
+ - "Architecture: Component-Based with ScriptableObject data containers"
412
+ - "Scripts: PascalCase (PlayerController), Prefabs: Player_Prefab, Scenes: Level_01_Forest"
413
+ - id: unity-systems-integration
414
+ title: Unity Systems Integration
231
415
  template: |
232
- **Required Systems:**
233
-
234
- - Scene Management
235
- - State Management
236
- - Asset Loading
237
- - Save/Load System
238
- - Input Management
239
- - Audio System
240
- - Performance Monitoring
416
+ **Required Unity Systems:**
417
+
418
+ - **Input System:** {{input_implementation}}
419
+ - **Animation System:** {{animation_approach}}
420
+ - **Physics Integration:** {{physics_usage}}
421
+ - **Rendering Features:** {{rendering_requirements}}
422
+ - **Asset Streaming:** {{asset_loading_strategy}}
423
+
424
+ **Third-Party Integrations:**
425
+
426
+ - {{integration_name}}: {{integration_purpose}}
427
+
428
+ **Performance Systems:**
429
+
430
+ - **Profiling Integration:** {{profiling_setup}}
431
+ - **Memory Management:** {{memory_strategy}}
432
+ - **Build Pipeline:** {{build_automation}}
433
+ examples:
434
+ - "Input System: Action Maps for Menu/Gameplay contexts with device switching"
435
+ - "DOTween: Smooth UI transitions and gameplay animations"
241
436
  - id: data-management
242
437
  title: Data Management
243
438
  template: |
244
- **Save Data:**
439
+ **Save Data Architecture:**
440
+
441
+ - **Format:** {{PlayerPrefs|JSON|Binary|Cloud}}
442
+ - **Structure:** {{save_data_organization}}
443
+ - **Encryption:** {{security_approach}}
444
+ - **Cloud Sync:** {{cloud_integration}}
445
+
446
+ **Configuration Data:**
447
+
448
+ - **ScriptableObjects:** {{scriptable_object_usage}}
449
+ - **Settings Management:** {{settings_system}}
450
+ - **Localization:** {{localization_approach}}
451
+
452
+ **Runtime Data:**
245
453
 
246
- - Progress tracking
247
- - Settings persistence
248
- - Statistics collection
249
- - {{additional_data}}
454
+ - **Caching Strategy:** {{cache_implementation}}
455
+ - **Memory Pools:** {{pooling_objects}}
456
+ - **Asset References:** {{asset_reference_system}}
457
+ examples:
458
+ - "Save Data: JSON format with AES encryption, stored in persistent data path"
459
+ - "ScriptableObjects: Game settings, level configurations, character data"
250
460
 
251
461
  - id: development-phases
252
- title: Development Phases
253
- instruction: Break down the development into phases that can be converted to epics
462
+ title: Development Phases & Epic Planning
463
+ instruction: Break down the Unity development into phases that can be converted to agile epics. Each phase should deliver deployable functionality following Unity best practices.
464
+ elicit: true
254
465
  sections:
255
- - id: phase-1-core-systems
256
- title: "Phase 1: Core Systems ({{duration}})"
466
+ - id: phases-overview
467
+ title: Phases Overview
468
+ instruction: Present a high-level list of all phases for user approval. Each phase's design should deliver significant Unity functionality.
469
+ type: numbered-list
470
+ examples:
471
+ - "Phase 1: Unity Foundation & Core Systems: Project setup, input handling, basic scene management"
472
+ - "Phase 2: Core Game Mechanics: Player controller, physics systems, basic gameplay loop"
473
+ - "Phase 3: Level Systems & Content Pipeline: Scene loading, prefab systems, level progression"
474
+ - "Phase 4: Polish & Platform Optimization: Performance tuning, platform-specific features, deployment"
475
+ - id: phase-1-foundation
476
+ title: "Phase 1: Unity Foundation & Core Systems ({{duration}})"
257
477
  sections:
258
- - id: foundation-epic
259
- title: "Epic: Foundation"
478
+ - id: foundation-design
479
+ title: "Design: Unity Project Foundation"
260
480
  type: bullet-list
261
481
  template: |
262
- - Engine setup and configuration
263
- - Basic scene management
264
- - Core input handling
265
- - Asset loading pipeline
266
- - id: core-mechanics-epic
267
- title: "Epic: Core Mechanics"
482
+ - Unity project setup with proper folder structure and naming conventions
483
+ - Core architecture implementation ({{architecture_pattern}})
484
+ - Input System configuration with action maps for all platforms
485
+ - Basic scene management and state handling
486
+ - Development tools setup (debugging, profiling integration)
487
+ - Initial build pipeline and platform configuration
488
+ examples:
489
+ - "Input System: Configure PlayerInput component with Action Maps for movement and UI"
490
+ - id: core-systems-design
491
+ title: "Design: Essential Game Systems"
268
492
  type: bullet-list
269
493
  template: |
270
- - {{primary_mechanic}} implementation
271
- - Basic physics and collision
272
- - Player controller
273
- - id: phase-2-gameplay-features
274
- title: "Phase 2: Gameplay Features ({{duration}})"
494
+ - Save/Load system implementation with {{save_format}} format
495
+ - Audio system setup with {{audio_system}} integration
496
+ - Event system for decoupled component communication
497
+ - Object pooling system for performance optimization
498
+ - Basic UI framework and canvas configuration
499
+ - Settings and configuration management with ScriptableObjects
500
+ - id: phase-2-gameplay
501
+ title: "Phase 2: Core Gameplay Implementation ({{duration}})"
275
502
  sections:
276
- - id: game-systems-epic
277
- title: "Epic: Game Systems"
503
+ - id: gameplay-mechanics-design
504
+ title: "Design: Primary Game Mechanics"
278
505
  type: bullet-list
279
506
  template: |
280
- - {{mechanic_2}} implementation
281
- - {{mechanic_3}} implementation
282
- - Game state management
283
- - id: content-creation-epic
284
- title: "Epic: Content Creation"
507
+ - Player controller with {{movement_type}} movement system
508
+ - {{primary_mechanic}} implementation with Unity physics
509
+ - {{secondary_mechanic}} system with visual feedback
510
+ - Game state management (playing, paused, game over)
511
+ - Basic collision detection and response systems
512
+ - Animation system integration with Animator controllers
513
+ - id: level-systems-design
514
+ title: "Design: Level & Content Systems"
285
515
  type: bullet-list
286
516
  template: |
287
- - Level loading system
288
- - First playable levels
289
- - Basic UI implementation
290
- - id: phase-3-polish-optimization
517
+ - Scene loading and transition system
518
+ - Level progression and unlock system
519
+ - Prefab-based level construction tools
520
+ - {{level_generation}} level creation workflow
521
+ - Collectibles and pickup systems
522
+ - Victory/defeat condition implementation
523
+ - id: phase-3-polish
291
524
  title: "Phase 3: Polish & Optimization ({{duration}})"
292
525
  sections:
293
- - id: performance-epic
294
- title: "Epic: Performance"
526
+ - id: performance-design
527
+ title: "Design: Performance & Platform Optimization"
295
528
  type: bullet-list
296
529
  template: |
297
- - Optimization and profiling
298
- - Mobile platform testing
299
- - Memory management
300
- - id: user-experience-epic
301
- title: "Epic: User Experience"
530
+ - Unity Profiler analysis and optimization passes
531
+ - Memory management and garbage collection optimization
532
+ - Asset optimization (texture compression, audio compression)
533
+ - Platform-specific performance tuning
534
+ - Build size optimization and asset bundling
535
+ - Quality settings configuration for different device tiers
536
+ - id: user-experience-design
537
+ title: "Design: User Experience & Polish"
302
538
  type: bullet-list
303
539
  template: |
304
- - Audio implementation
305
- - Visual effects and polish
306
- - Final UI/UX refinement
540
+ - Complete UI/UX implementation with responsive design
541
+ - Audio implementation with dynamic mixing
542
+ - Visual effects and particle systems
543
+ - Accessibility features implementation
544
+ - Tutorial and onboarding flow
545
+ - Final testing and bug fixing across all platforms
546
+
547
+ - id: epic-list
548
+ title: Epic List
549
+ instruction: |
550
+ 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.
551
+
552
+ CRITICAL: Epics MUST be logically sequential following agile best practices:
553
+
554
+ - 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
555
+ - Epic 1 must establish Phase 1: Unity Foundation & Core Systems (Project setup, input handling, basic scene management) unless we are adding new functionality to an existing app, while also delivering an initial piece of functionality, remember this when we produce the stories for the first epic!
556
+ - Each subsequent epic builds upon previous epics' functionality delivering major blocks of functionality that provide tangible value to users or business when deployed
557
+ - Not every project needs multiple epics, an epic needs to deliver value. For example, an API, component, or scriptableobject completed can deliver value even if a scene, or gameobject is not complete and planned for a separate epic.
558
+ - 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.
559
+ - 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.
560
+ elicit: true
561
+ examples:
562
+ - "Epic 1: Unity Foundation & Core Systems: Project setup, input handling, basic scene management"
563
+ - "Epic 2: Core Game Mechanics: Player controller, physics systems, basic gameplay loop"
564
+ - "Epic 3: Level Systems & Content Pipeline: Scene loading, prefab systems, level progression"
565
+ - "Epic 4: Polish & Platform Optimization: Performance tuning, platform-specific features, deployment"
566
+
567
+ - id: epic-details
568
+ title: Epic {{epic_number}} {{epic_title}}
569
+ repeatable: true
570
+ instruction: |
571
+ After the epic list is approved, present each epic with all its stories and acceptance criteria as a complete review unit.
572
+
573
+ For each epic provide expanded goal (2-3 sentences describing the objective and value all the stories will achieve).
574
+
575
+ CRITICAL STORY SEQUENCING REQUIREMENTS:
576
+
577
+ - Stories within each epic MUST be logically sequential
578
+ - Each story should be a "vertical slice" delivering complete functionality aside from early enabler stories for project foundation
579
+ - No story should depend on work from a later story or epic
580
+ - Identify and note any direct prerequisite stories
581
+ - 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.
582
+ - Ensure each story delivers clear user or business value, try to avoid enablers and build them into stories that deliver value.
583
+ - Size stories for AI agent execution: Each story must be completable by a single AI agent in one focused session without context overflow
584
+ - Think "junior developer working for 2-4 hours" - stories must be small, focused, and self-contained
585
+ - If a story seems complex, break it down further as long as it can deliver a vertical slice
586
+ elicit: true
587
+ template: "{{epic_goal}}"
588
+ sections:
589
+ - id: story
590
+ title: Story {{epic_number}}.{{story_number}} {{story_title}}
591
+ repeatable: true
592
+ 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.
593
+ template: "{{clear_description_of_what_needs_to_be_implemented}}"
594
+ sections:
595
+ - id: acceptance-criteria
596
+ title: Acceptance Criteria
597
+ 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.
598
+ sections:
599
+ - id: functional-requirements
600
+ title: Functional Requirements
601
+ type: checklist
602
+ items:
603
+ - "{{specific_functional_requirement}}"
604
+ - id: technical-requirements
605
+ title: Technical Requirements
606
+ type: checklist
607
+ items:
608
+ - Code follows C# best practices
609
+ - Maintains stable frame rate on target devices
610
+ - No memory leaks or performance degradation
611
+ - "{{specific_technical_requirement}}"
612
+ - id: game-design-requirements
613
+ title: Game Design Requirements
614
+ type: checklist
615
+ items:
616
+ - "{{gameplay_requirement_from_gdd}}"
617
+ - "{{balance_requirement_if_applicable}}"
618
+ - "{{player_experience_requirement}}"
307
619
 
308
620
  - id: success-metrics
309
- title: Success Metrics
310
- instruction: Define measurable goals for the game
621
+ title: Success Metrics & Quality Assurance
622
+ instruction: Define measurable goals for the Unity game development project with specific targets that can be validated through Unity Analytics and profiling tools.
623
+ elicit: true
311
624
  sections:
312
625
  - id: technical-metrics
313
- title: Technical Metrics
626
+ title: Technical Performance Metrics
314
627
  type: bullet-list
315
628
  template: |
316
- - Frame rate: {{fps_target}}
317
- - Load time: {{load_target}}
318
- - Crash rate: <{{crash_threshold}}%
319
- - Memory usage: <{{memory_target}}MB
629
+ - **Frame Rate:** Consistent {{fps_target}} FPS with <5% drops below {{min_fps}}
630
+ - **Load Times:** Initial load <{{initial_load}}s, level transitions <{{level_load}}s
631
+ - **Memory Usage:** Heap memory <{{heap_limit}}MB, texture memory <{{texture_limit}}MB
632
+ - **Crash Rate:** <{{crash_threshold}}% across all supported platforms
633
+ - **Build Size:** Final build <{{size_limit}}MB for mobile, <{{desktop_limit}}MB for desktop
634
+ - **Battery Life:** Mobile gameplay sessions >{{battery_target}} hours on average device
635
+ examples:
636
+ - "Frame Rate: Consistent 60 FPS with <5% drops below 45 FPS on target hardware"
637
+ - "Crash Rate: <0.5% across iOS/Android, <0.1% on desktop platforms"
320
638
  - id: gameplay-metrics
321
- title: Gameplay Metrics
639
+ title: Gameplay & User Engagement Metrics
322
640
  type: bullet-list
323
641
  template: |
324
- - Tutorial completion: {{completion_rate}}%
325
- - Average session: {{session_length}} minutes
326
- - Level completion: {{level_completion}}%
327
- - Player retention: D1 {{d1}}%, D7 {{d7}}%
328
-
329
- - id: appendices
330
- title: Appendices
331
- sections:
332
- - id: change-log
333
- title: Change Log
334
- instruction: Track document versions and changes
642
+ - **Tutorial Completion:** {{tutorial_rate}}% of players complete basic tutorial
643
+ - **Level Progression:** {{progression_rate}}% reach level {{target_level}} within first session
644
+ - **Session Duration:** Average session length {{session_target}} minutes
645
+ - **Player Retention:** Day 1: {{d1_retention}}%, Day 7: {{d7_retention}}%, Day 30: {{d30_retention}}%
646
+ - **Gameplay Completion:** {{completion_rate}}% complete main game content
647
+ - **Control Responsiveness:** Input lag <{{input_lag}}ms on all platforms
648
+ examples:
649
+ - "Tutorial Completion: 85% of players complete movement and basic mechanics tutorial"
650
+ - "Session Duration: Average 15-20 minutes per session for mobile, 30-45 minutes for desktop"
651
+ - id: platform-specific-metrics
652
+ title: Platform-Specific Quality Metrics
335
653
  type: table
336
654
  template: |
337
- | Date | Version | Description | Author |
338
- | :--- | :------ | :---------- | :----- |
339
- - id: references
340
- title: References
341
- instruction: List any competitive analysis, inspiration, or research sources
655
+ | Platform | Frame Rate | Load Time | Memory | Build Size | Battery |
656
+ | -------- | ---------- | --------- | ------ | ---------- | ------- |
657
+ | {{platform}} | {{fps}} | {{load}} | {{memory}} | {{size}} | {{battery}} |
658
+ examples:
659
+ - iOS, 60 FPS, <3s, <150MB, <80MB, 3+ hours
660
+ - Android, 60 FPS, <5s, <200MB, <100MB, 2.5+ hours
661
+
662
+ - id: next-steps-integration
663
+ title: Next Steps & BMad Integration
664
+ instruction: Define how this GDD integrates with BMad's agent workflow and what follow-up documents or processes are needed.
665
+ sections:
666
+ - id: architecture-handoff
667
+ title: Unity Architecture Requirements
668
+ instruction: Summary of key architectural decisions that need to be implemented in Unity project setup
342
669
  type: bullet-list
343
- template: "{{reference}}"
670
+ template: |
671
+ - Unity {{unity_version}} project with {{render_pipeline}} pipeline
672
+ - {{architecture_pattern}} code architecture with {{folder_structure}}
673
+ - Required packages: {{essential_packages}}
674
+ - Performance targets: {{key_performance_metrics}}
675
+ - Platform builds: {{deployment_targets}}
676
+ - id: story-creation-guidance
677
+ title: Story Creation Guidance for SM Agent
678
+ instruction: Provide guidance for the Story Manager (SM) agent on how to break down this GDD into implementable user stories
679
+ template: |
680
+ **Epic Prioritization:** {{epic_order_rationale}}
681
+
682
+ **Story Sizing Guidelines:**
683
+
684
+ - Foundation stories: {{foundation_story_scope}}
685
+ - Feature stories: {{feature_story_scope}}
686
+ - Polish stories: {{polish_story_scope}}
687
+
688
+ **Unity-Specific Story Considerations:**
689
+
690
+ - Each story should result in testable Unity scenes or prefabs
691
+ - Include specific Unity components and systems in acceptance criteria
692
+ - Consider cross-platform testing requirements
693
+ - Account for Unity build and deployment steps
694
+ examples:
695
+ - "Foundation stories: Individual Unity systems (Input, Audio, Scene Management) - 1-2 days each"
696
+ - "Feature stories: Complete gameplay mechanics with UI and feedback - 2-4 days each"
697
+ - id: recommended-agents
698
+ title: Recommended BMad Agent Sequence
699
+ type: numbered-list
700
+ template: |
701
+ 1. **{{agent_name}}**: {{agent_responsibility}}
702
+ examples:
703
+ - "Unity Architect: Create detailed technical architecture document with specific Unity implementation patterns"
704
+ - "Unity Developer: Implement core systems and gameplay mechanics according to architecture"
705
+ - "QA Tester: Validate performance metrics and cross-platform functionality"