bmad-method 4.26.0 → 4.27.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.
- package/.vscode/settings.json +2 -0
- package/CHANGELOG.md +22 -0
- package/README.md +29 -282
- package/bmad-core/agent-teams/team-all.yaml +6 -6
- package/bmad-core/agent-teams/team-fullstack.yaml +6 -6
- package/bmad-core/agent-teams/team-no-ui.yaml +2 -2
- package/bmad-core/agents/analyst.md +17 -18
- package/bmad-core/agents/architect.md +15 -18
- package/bmad-core/agents/bmad-master.md +56 -53
- package/bmad-core/agents/bmad-orchestrator.md +24 -23
- package/bmad-core/agents/dev.md +10 -10
- package/bmad-core/agents/pm.md +17 -20
- package/bmad-core/agents/po.md +12 -15
- package/bmad-core/agents/qa.md +7 -8
- package/bmad-core/agents/sm.md +8 -13
- package/bmad-core/agents/ux-expert.md +7 -11
- package/bmad-core/core-config.yaml +1 -1
- package/bmad-core/data/bmad-kb.md +74 -15
- package/bmad-core/data/brainstorming-techniques.md +36 -0
- package/bmad-core/data/elicitation-methods.md +134 -0
- package/bmad-core/tasks/advanced-elicitation.md +82 -57
- package/bmad-core/tasks/facilitate-brainstorming-session.md +136 -0
- package/bmad-core/templates/architecture-tmpl.yaml +658 -0
- package/bmad-core/templates/brainstorming-output-tmpl.yaml +156 -0
- package/bmad-core/templates/brownfield-architecture-tmpl.yaml +476 -0
- package/bmad-core/templates/brownfield-prd-tmpl.yaml +280 -0
- package/bmad-core/templates/competitor-analysis-tmpl.yaml +293 -0
- package/bmad-core/templates/front-end-architecture-tmpl.yaml +206 -0
- package/bmad-core/templates/front-end-spec-tmpl.yaml +349 -0
- package/bmad-core/templates/fullstack-architecture-tmpl.yaml +805 -0
- package/bmad-core/templates/market-research-tmpl.yaml +252 -0
- package/bmad-core/templates/prd-tmpl.yaml +202 -0
- package/bmad-core/templates/project-brief-tmpl.yaml +221 -0
- package/bmad-core/templates/story-tmpl.yaml +137 -0
- package/bmad-core/utils/plan-management.md +9 -13
- package/bmad-core/workflows/greenfield-service.yaml +1 -1
- package/common/tasks/create-doc.md +55 -67
- package/common/utils/bmad-doc-template.md +325 -0
- package/dist/agents/analyst.txt +1312 -1193
- package/dist/agents/architect.txt +2484 -2895
- package/dist/agents/bmad-master.txt +4680 -4897
- package/dist/agents/bmad-orchestrator.txt +400 -195
- package/dist/agents/dev.txt +21 -24
- package/dist/agents/pm.txt +590 -619
- package/dist/agents/po.txt +178 -130
- package/dist/agents/qa.txt +159 -48
- package/dist/agents/sm.txt +166 -120
- package/dist/agents/ux-expert.txt +436 -544
- package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.txt +1283 -1260
- package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.txt +642 -591
- package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.txt +284 -268
- package/dist/expansion-packs/bmad-2d-phaser-game-dev/teams/phaser-2d-nodejs-game-team.txt +9258 -4977
- package/dist/expansion-packs/bmad-creator-tools/agents/bmad-the-creator.txt +388 -325
- package/dist/expansion-packs/bmad-infrastructure-devops/agents/infra-devops-platform.txt +1144 -1165
- package/dist/teams/team-all.txt +4885 -4967
- package/dist/teams/team-fullstack.txt +5621 -5693
- package/dist/teams/team-ide-minimal.txt +604 -333
- package/dist/teams/team-no-ui.txt +5209 -5213
- package/docs/agentic-tools/github-copilot-guide.md +29 -9
- package/docs/bmad-workflow-guide.md +2 -2
- package/expansion-packs/bmad-2d-phaser-game-dev/agent-teams/phaser-2d-nodejs-game-team.yaml +2 -2
- package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.md +17 -15
- package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.md +13 -11
- package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.md +13 -11
- package/expansion-packs/bmad-2d-phaser-game-dev/config.yaml +1 -1
- package/expansion-packs/bmad-2d-phaser-game-dev/tasks/create-game-story.md +2 -2
- package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-architecture-tmpl.yaml +613 -0
- package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-brief-tmpl.yaml +356 -0
- package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-design-doc-tmpl.yaml +343 -0
- package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-story-tmpl.yaml +253 -0
- package/expansion-packs/bmad-2d-phaser-game-dev/templates/level-design-doc-tmpl.yaml +484 -0
- package/expansion-packs/bmad-creator-tools/agents/bmad-the-creator.md +14 -12
- package/expansion-packs/bmad-creator-tools/config.yaml +1 -1
- package/expansion-packs/bmad-creator-tools/templates/agent-teams-tmpl.yaml +178 -0
- package/expansion-packs/bmad-creator-tools/templates/agent-tmpl.yaml +154 -0
- package/expansion-packs/bmad-creator-tools/templates/expansion-pack-plan-tmpl.yaml +120 -0
- package/expansion-packs/bmad-infrastructure-devops/agents/infra-devops-platform.md +14 -14
- package/expansion-packs/bmad-infrastructure-devops/config.yaml +1 -1
- package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-architecture-tmpl.yaml +424 -0
- package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-platform-from-arch-tmpl.yaml +629 -0
- package/package.json +1 -1
- package/tools/builders/web-builder.js +170 -95
- package/tools/installer/config/install.config.yaml +2 -2
- package/tools/installer/lib/ide-setup.js +2 -2
- package/tools/installer/package.json +1 -1
- package/tools/lib/dependency-resolver.js +11 -22
- package/tools/md-assets/web-agent-startup-instructions.md +10 -10
- package/bmad-core/tasks/brainstorming-techniques.md +0 -238
- package/bmad-core/templates/architecture-tmpl.md +0 -776
- package/bmad-core/templates/brownfield-architecture-tmpl.md +0 -544
- package/bmad-core/templates/brownfield-prd-tmpl.md +0 -266
- package/bmad-core/templates/competitor-analysis-tmpl.md +0 -291
- package/bmad-core/templates/front-end-architecture-tmpl.md +0 -175
- package/bmad-core/templates/front-end-spec-tmpl.md +0 -413
- package/bmad-core/templates/fullstack-architecture-tmpl.md +0 -1018
- package/bmad-core/templates/market-research-tmpl.md +0 -263
- package/bmad-core/templates/prd-tmpl.md +0 -202
- package/bmad-core/templates/project-brief-tmpl.md +0 -232
- package/bmad-core/templates/story-tmpl.md +0 -58
- package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-architecture-tmpl.md +0 -560
- package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-brief-tmpl.md +0 -345
- package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-design-doc-tmpl.md +0 -331
- package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-story-tmpl.md +0 -235
- package/expansion-packs/bmad-2d-phaser-game-dev/templates/level-design-doc-tmpl.md +0 -470
- package/expansion-packs/bmad-creator-tools/templates/agent-teams-tmpl.md +0 -154
- package/expansion-packs/bmad-creator-tools/templates/agent-tmpl.md +0 -143
- package/expansion-packs/bmad-creator-tools/templates/expansion-pack-plan-tmpl.md +0 -91
- package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-architecture-tmpl.md +0 -415
- package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-platform-from-arch-tmpl.md +0 -0
|
@@ -8,14 +8,14 @@ You are now operating as a specialized AI agent from the BMad-Method framework.
|
|
|
8
8
|
|
|
9
9
|
2. **Resource Navigation**: This bundle contains all resources you need. Resources are marked with tags like:
|
|
10
10
|
|
|
11
|
-
- `==================== START: folder
|
|
12
|
-
- `==================== END: folder
|
|
11
|
+
- `==================== START: .bmad-2d-phaser-game-dev/folder/filename.md ====================`
|
|
12
|
+
- `==================== END: .bmad-2d-phaser-game-dev/folder/filename.md ====================`
|
|
13
13
|
|
|
14
14
|
When you need to reference a resource mentioned in your instructions:
|
|
15
15
|
|
|
16
16
|
- Look for the corresponding START/END tags
|
|
17
|
-
- The format is always
|
|
18
|
-
- If a section is specified (e.g., `tasks
|
|
17
|
+
- The format is always the full path with dot prefix (e.g., `.bmad-2d-phaser-game-dev/personas/analyst.md`, `.bmad-2d-phaser-game-dev/tasks/create-story.md`)
|
|
18
|
+
- If a section is specified (e.g., `{root}/tasks/create-story.md#section-name`), navigate to that section within the file
|
|
19
19
|
|
|
20
20
|
**Understanding YAML References**: In the agent configuration, resources are referenced in the dependencies section. For example:
|
|
21
21
|
|
|
@@ -29,8 +29,8 @@ dependencies:
|
|
|
29
29
|
|
|
30
30
|
These references map directly to bundle sections:
|
|
31
31
|
|
|
32
|
-
- `utils: template-format` → Look for `==================== START: utils
|
|
33
|
-
- `tasks: create-story` → Look for `==================== START: tasks
|
|
32
|
+
- `utils: template-format` → Look for `==================== START: .bmad-2d-phaser-game-dev/utils/template-format.md ====================`
|
|
33
|
+
- `tasks: create-story` → Look for `==================== START: .bmad-2d-phaser-game-dev/tasks/create-story.md ====================`
|
|
34
34
|
|
|
35
35
|
3. **Execution Context**: You are operating in a web environment. All your capabilities and knowledge are contained within this bundle. Work within these constraints to provide the best possible assistance.
|
|
36
36
|
|
|
@@ -38,7 +38,8 @@ These references map directly to bundle sections:
|
|
|
38
38
|
|
|
39
39
|
---
|
|
40
40
|
|
|
41
|
-
|
|
41
|
+
|
|
42
|
+
==================== START: .bmad-2d-phaser-game-dev/agents/game-developer.md ====================
|
|
42
43
|
# game-developer
|
|
43
44
|
|
|
44
45
|
CRITICAL: Read the full YAML, start activation to alter your state of being, follow startup section instructions, stay in this being until told to exit this mode:
|
|
@@ -49,6 +50,10 @@ activation-instructions:
|
|
|
49
50
|
- Only read the files/tasks listed here when user selects them for execution to minimize context usage
|
|
50
51
|
- The customization field ALWAYS takes precedence over any conflicting instructions
|
|
51
52
|
- When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
|
|
53
|
+
- Greet the user with your name and role, and inform of the *help command
|
|
54
|
+
- Load development guidelines to ensure consistent coding standards
|
|
55
|
+
- Wait for user to specify story or ask for story selection
|
|
56
|
+
- Only load specific story files when user requests implementation
|
|
52
57
|
agent:
|
|
53
58
|
name: Maya
|
|
54
59
|
id: game-developer
|
|
@@ -69,13 +74,6 @@ core_principles:
|
|
|
69
74
|
- Cross-Platform Optimization - Works seamlessly on desktop and mobile
|
|
70
75
|
- Test-Driven Quality - Comprehensive testing of game logic and systems
|
|
71
76
|
- Numbered Options Protocol - Always use numbered lists for user selections
|
|
72
|
-
startup:
|
|
73
|
-
- Greet the user with your name and role, and inform of the *help command
|
|
74
|
-
- Load development guidelines to ensure consistent coding standards
|
|
75
|
-
- CRITICAL: Do NOT scan docs/stories/ directory automatically during startup
|
|
76
|
-
- CRITICAL: Do NOT begin any implementation tasks automatically
|
|
77
|
-
- Wait for user to specify story or ask for story selection
|
|
78
|
-
- Only load specific story files when user requests implementation
|
|
79
77
|
commands:
|
|
80
78
|
- '*help" - Show numbered list of available commands for selection'
|
|
81
79
|
- '*chat-mode" - Conversational mode for technical advice'
|
|
@@ -97,24 +95,24 @@ task-execution:
|
|
|
97
95
|
done: Game feature works + Tests pass + 60 FPS + No lint errors + Follows Phaser 3 best practices
|
|
98
96
|
dependencies:
|
|
99
97
|
tasks:
|
|
100
|
-
- execute-checklist
|
|
98
|
+
- execute-checklist.md
|
|
101
99
|
templates:
|
|
102
|
-
- game-architecture-tmpl
|
|
100
|
+
- game-architecture-tmpl.yaml
|
|
103
101
|
checklists:
|
|
104
|
-
- game-story-dod-checklist
|
|
102
|
+
- game-story-dod-checklist.md
|
|
105
103
|
data:
|
|
106
|
-
- development-guidelines
|
|
104
|
+
- development-guidelines.md
|
|
107
105
|
```
|
|
108
|
-
==================== END: agents
|
|
106
|
+
==================== END: .bmad-2d-phaser-game-dev/agents/game-developer.md ====================
|
|
109
107
|
|
|
110
|
-
==================== START: tasks
|
|
108
|
+
==================== START: .bmad-2d-phaser-game-dev/tasks/execute-checklist.md ====================
|
|
111
109
|
# Checklist Validation Task
|
|
112
110
|
|
|
113
111
|
This task provides instructions for validating documentation against checklists. The agent MUST follow these instructions to ensure thorough and systematic validation of documents.
|
|
114
112
|
|
|
115
113
|
## Available Checklists
|
|
116
114
|
|
|
117
|
-
If the user asks or does not specify a specific checklist, list the checklists available to the agent persona. If the task is being run not with a specific agent, tell the user to check the
|
|
115
|
+
If the user asks or does not specify a specific checklist, list the checklists available to the agent persona. If the task is being run not with a specific agent, tell the user to check the .bmad-2d-phaser-game-dev/checklists folder to select the appropriate one to run.
|
|
118
116
|
|
|
119
117
|
## Instructions
|
|
120
118
|
|
|
@@ -123,7 +121,7 @@ If the user asks or does not specify a specific checklist, list the checklists a
|
|
|
123
121
|
- If user or the task being run provides a checklist name:
|
|
124
122
|
- Try fuzzy matching (e.g. "architecture checklist" -> "architect-checklist")
|
|
125
123
|
- If multiple matches found, ask user to clarify
|
|
126
|
-
- Load the appropriate checklist from
|
|
124
|
+
- Load the appropriate checklist from .bmad-2d-phaser-game-dev/checklists/
|
|
127
125
|
- If no checklist specified:
|
|
128
126
|
- Ask the user which checklist they want to use
|
|
129
127
|
- Present the available options from the files in the checklists folder
|
|
@@ -201,572 +199,625 @@ The LLM will:
|
|
|
201
199
|
- Execute the complete checklist validation
|
|
202
200
|
- Present a final report with pass/fail rates and key findings
|
|
203
201
|
- Offer to provide detailed analysis of any section, especially those with warnings or failures
|
|
204
|
-
==================== END: tasks
|
|
205
|
-
|
|
206
|
-
==================== START: templates
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
{{
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
├──
|
|
286
|
-
│ ├──
|
|
287
|
-
│
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
-
|
|
325
|
-
|
|
326
|
-
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
-
|
|
350
|
-
-
|
|
351
|
-
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
-
|
|
357
|
-
-
|
|
358
|
-
-
|
|
359
|
-
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
-
|
|
375
|
-
-
|
|
376
|
-
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
-
|
|
382
|
-
-
|
|
383
|
-
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
-
|
|
399
|
-
-
|
|
400
|
-
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
-
|
|
406
|
-
-
|
|
407
|
-
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
-
|
|
457
|
-
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
-
|
|
472
|
-
-
|
|
473
|
-
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
-
|
|
479
|
-
-
|
|
480
|
-
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
-
|
|
493
|
-
-
|
|
494
|
-
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
-
|
|
500
|
-
-
|
|
501
|
-
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
-
|
|
507
|
-
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
**
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
-
|
|
539
|
-
|
|
540
|
-
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
-
|
|
546
|
-
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
}
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
- Use
|
|
630
|
-
-
|
|
631
|
-
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
-
|
|
638
|
-
-
|
|
639
|
-
-
|
|
640
|
-
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
-
|
|
645
|
-
|
|
646
|
-
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
-
|
|
652
|
-
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
-
|
|
664
|
-
|
|
665
|
-
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
-
|
|
671
|
-
-
|
|
672
|
-
|
|
673
|
-
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
-
|
|
680
|
-
|
|
681
|
-
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
-
|
|
700
|
-
-
|
|
701
|
-
-
|
|
702
|
-
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
-
|
|
707
|
-
-
|
|
708
|
-
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
-
|
|
716
|
-
|
|
717
|
-
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
-
|
|
722
|
-
|
|
723
|
-
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
-
|
|
758
|
-
|
|
759
|
-
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
-
|
|
764
|
-
|
|
765
|
-
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
202
|
+
==================== END: .bmad-2d-phaser-game-dev/tasks/execute-checklist.md ====================
|
|
203
|
+
|
|
204
|
+
==================== START: .bmad-2d-phaser-game-dev/templates/game-architecture-tmpl.yaml ====================
|
|
205
|
+
template:
|
|
206
|
+
id: game-architecture-template-v2
|
|
207
|
+
name: Game Architecture Document
|
|
208
|
+
version: 2.0
|
|
209
|
+
output:
|
|
210
|
+
format: markdown
|
|
211
|
+
filename: "docs/{{game_name}}-game-architecture.md"
|
|
212
|
+
title: "{{game_title}} Game Architecture Document"
|
|
213
|
+
|
|
214
|
+
workflow:
|
|
215
|
+
mode: interactive
|
|
216
|
+
|
|
217
|
+
sections:
|
|
218
|
+
- id: initial-setup
|
|
219
|
+
instruction: |
|
|
220
|
+
This template creates a comprehensive game architecture document specifically for Phaser 3 + TypeScript projects. This should provide the technical foundation for all game development stories and epics.
|
|
221
|
+
|
|
222
|
+
If available, review any provided documents: Game Design Document (GDD), Technical Preferences. This architecture should support all game mechanics defined in the GDD.
|
|
223
|
+
|
|
224
|
+
- id: introduction
|
|
225
|
+
title: Introduction
|
|
226
|
+
instruction: Establish the document's purpose and scope for game development
|
|
227
|
+
content: |
|
|
228
|
+
This document outlines the complete technical architecture for {{game_title}}, a 2D game built with Phaser 3 and TypeScript. It serves as the technical foundation for AI-driven game development, ensuring consistency and scalability across all game systems.
|
|
229
|
+
|
|
230
|
+
This architecture is designed to support the gameplay mechanics defined in the Game Design Document while maintaining 60 FPS performance and cross-platform compatibility.
|
|
231
|
+
sections:
|
|
232
|
+
- id: change-log
|
|
233
|
+
title: Change Log
|
|
234
|
+
instruction: Track document versions and changes
|
|
235
|
+
type: table
|
|
236
|
+
template: |
|
|
237
|
+
| Date | Version | Description | Author |
|
|
238
|
+
| :--- | :------ | :---------- | :----- |
|
|
239
|
+
|
|
240
|
+
- id: technical-overview
|
|
241
|
+
title: Technical Overview
|
|
242
|
+
instruction: Present all subsections together, then apply `tasks#advanced-elicitation` protocol to the complete section.
|
|
243
|
+
sections:
|
|
244
|
+
- id: architecture-summary
|
|
245
|
+
title: Architecture Summary
|
|
246
|
+
instruction: |
|
|
247
|
+
Provide a comprehensive overview covering:
|
|
248
|
+
|
|
249
|
+
- Game engine choice and configuration
|
|
250
|
+
- Project structure and organization
|
|
251
|
+
- Key systems and their interactions
|
|
252
|
+
- Performance and optimization strategy
|
|
253
|
+
- How this architecture achieves GDD requirements
|
|
254
|
+
- id: platform-targets
|
|
255
|
+
title: Platform Targets
|
|
256
|
+
instruction: Based on GDD requirements, confirm platform support
|
|
257
|
+
template: |
|
|
258
|
+
**Primary Platform:** {{primary_platform}}
|
|
259
|
+
**Secondary Platforms:** {{secondary_platforms}}
|
|
260
|
+
**Minimum Requirements:** {{min_specs}}
|
|
261
|
+
**Target Performance:** 60 FPS on {{target_device}}
|
|
262
|
+
- id: technology-stack
|
|
263
|
+
title: Technology Stack
|
|
264
|
+
template: |
|
|
265
|
+
**Core Engine:** Phaser 3.70+
|
|
266
|
+
**Language:** TypeScript 5.0+ (Strict Mode)
|
|
267
|
+
**Build Tool:** {{build_tool}} (Webpack/Vite/Parcel)
|
|
268
|
+
**Package Manager:** {{package_manager}}
|
|
269
|
+
**Testing:** {{test_framework}}
|
|
270
|
+
**Deployment:** {{deployment_platform}}
|
|
271
|
+
|
|
272
|
+
- id: project-structure
|
|
273
|
+
title: Project Structure
|
|
274
|
+
instruction: Define the complete project organization that developers will follow
|
|
275
|
+
sections:
|
|
276
|
+
- id: repository-organization
|
|
277
|
+
title: Repository Organization
|
|
278
|
+
instruction: Design a clear folder structure for game development
|
|
279
|
+
type: code
|
|
280
|
+
language: text
|
|
281
|
+
template: |
|
|
282
|
+
{{game_name}}/
|
|
283
|
+
├── src/
|
|
284
|
+
│ ├── scenes/ # Game scenes
|
|
285
|
+
│ ├── gameObjects/ # Custom game objects
|
|
286
|
+
│ ├── systems/ # Core game systems
|
|
287
|
+
│ ├── utils/ # Utility functions
|
|
288
|
+
│ ├── types/ # TypeScript type definitions
|
|
289
|
+
│ ├── config/ # Game configuration
|
|
290
|
+
│ └── main.ts # Entry point
|
|
291
|
+
├── assets/
|
|
292
|
+
│ ├── images/ # Sprite assets
|
|
293
|
+
│ ├── audio/ # Sound files
|
|
294
|
+
│ ├── data/ # JSON data files
|
|
295
|
+
│ └── fonts/ # Font files
|
|
296
|
+
├── public/ # Static web assets
|
|
297
|
+
├── tests/ # Test files
|
|
298
|
+
├── docs/ # Documentation
|
|
299
|
+
│ ├── stories/ # Development stories
|
|
300
|
+
│ └── architecture/ # Technical docs
|
|
301
|
+
└── dist/ # Built game files
|
|
302
|
+
- id: module-organization
|
|
303
|
+
title: Module Organization
|
|
304
|
+
instruction: Define how TypeScript modules should be organized
|
|
305
|
+
sections:
|
|
306
|
+
- id: scene-structure
|
|
307
|
+
title: Scene Structure
|
|
308
|
+
type: bullet-list
|
|
309
|
+
template: |
|
|
310
|
+
- Each scene in separate file
|
|
311
|
+
- Scene-specific logic contained
|
|
312
|
+
- Clear data passing between scenes
|
|
313
|
+
- id: game-object-pattern
|
|
314
|
+
title: Game Object Pattern
|
|
315
|
+
type: bullet-list
|
|
316
|
+
template: |
|
|
317
|
+
- Component-based architecture
|
|
318
|
+
- Reusable game object classes
|
|
319
|
+
- Type-safe property definitions
|
|
320
|
+
- id: system-architecture
|
|
321
|
+
title: System Architecture
|
|
322
|
+
type: bullet-list
|
|
323
|
+
template: |
|
|
324
|
+
- Singleton managers for global systems
|
|
325
|
+
- Event-driven communication
|
|
326
|
+
- Clear separation of concerns
|
|
327
|
+
|
|
328
|
+
- id: core-game-systems
|
|
329
|
+
title: Core Game Systems
|
|
330
|
+
instruction: Detail each major system that needs to be implemented. Each system should be specific enough for developers to create implementation stories.
|
|
331
|
+
sections:
|
|
332
|
+
- id: scene-management
|
|
333
|
+
title: Scene Management System
|
|
334
|
+
template: |
|
|
335
|
+
**Purpose:** Handle game flow and scene transitions
|
|
336
|
+
|
|
337
|
+
**Key Components:**
|
|
338
|
+
|
|
339
|
+
- Scene loading and unloading
|
|
340
|
+
- Data passing between scenes
|
|
341
|
+
- Transition effects
|
|
342
|
+
- Memory management
|
|
343
|
+
|
|
344
|
+
**Implementation Requirements:**
|
|
345
|
+
|
|
346
|
+
- Preload scene for asset loading
|
|
347
|
+
- Menu system with navigation
|
|
348
|
+
- Gameplay scenes with state management
|
|
349
|
+
- Pause/resume functionality
|
|
350
|
+
|
|
351
|
+
**Files to Create:**
|
|
352
|
+
|
|
353
|
+
- `src/scenes/BootScene.ts`
|
|
354
|
+
- `src/scenes/PreloadScene.ts`
|
|
355
|
+
- `src/scenes/MenuScene.ts`
|
|
356
|
+
- `src/scenes/GameScene.ts`
|
|
357
|
+
- `src/systems/SceneManager.ts`
|
|
358
|
+
- id: game-state-management
|
|
359
|
+
title: Game State Management
|
|
360
|
+
template: |
|
|
361
|
+
**Purpose:** Track player progress and game status
|
|
362
|
+
|
|
363
|
+
**State Categories:**
|
|
364
|
+
|
|
365
|
+
- Player progress (levels, unlocks)
|
|
366
|
+
- Game settings (audio, controls)
|
|
367
|
+
- Session data (current level, score)
|
|
368
|
+
- Persistent data (achievements, statistics)
|
|
369
|
+
|
|
370
|
+
**Implementation Requirements:**
|
|
371
|
+
|
|
372
|
+
- Save/load system with localStorage
|
|
373
|
+
- State validation and error recovery
|
|
374
|
+
- Cross-session data persistence
|
|
375
|
+
- Settings management
|
|
376
|
+
|
|
377
|
+
**Files to Create:**
|
|
378
|
+
|
|
379
|
+
- `src/systems/GameState.ts`
|
|
380
|
+
- `src/systems/SaveManager.ts`
|
|
381
|
+
- `src/types/GameData.ts`
|
|
382
|
+
- id: asset-management
|
|
383
|
+
title: Asset Management System
|
|
384
|
+
template: |
|
|
385
|
+
**Purpose:** Efficient loading and management of game assets
|
|
386
|
+
|
|
387
|
+
**Asset Categories:**
|
|
388
|
+
|
|
389
|
+
- Sprite sheets and animations
|
|
390
|
+
- Audio files and music
|
|
391
|
+
- Level data and configurations
|
|
392
|
+
- UI assets and fonts
|
|
393
|
+
|
|
394
|
+
**Implementation Requirements:**
|
|
395
|
+
|
|
396
|
+
- Progressive loading strategy
|
|
397
|
+
- Asset caching and optimization
|
|
398
|
+
- Error handling for failed loads
|
|
399
|
+
- Memory management for large assets
|
|
400
|
+
|
|
401
|
+
**Files to Create:**
|
|
402
|
+
|
|
403
|
+
- `src/systems/AssetManager.ts`
|
|
404
|
+
- `src/config/AssetConfig.ts`
|
|
405
|
+
- `src/utils/AssetLoader.ts`
|
|
406
|
+
- id: input-management
|
|
407
|
+
title: Input Management System
|
|
408
|
+
template: |
|
|
409
|
+
**Purpose:** Handle all player input across platforms
|
|
410
|
+
|
|
411
|
+
**Input Types:**
|
|
412
|
+
|
|
413
|
+
- Keyboard controls
|
|
414
|
+
- Mouse/pointer interaction
|
|
415
|
+
- Touch gestures (mobile)
|
|
416
|
+
- Gamepad support (optional)
|
|
417
|
+
|
|
418
|
+
**Implementation Requirements:**
|
|
419
|
+
|
|
420
|
+
- Input mapping and configuration
|
|
421
|
+
- Touch-friendly mobile controls
|
|
422
|
+
- Input buffering for responsive gameplay
|
|
423
|
+
- Customizable control schemes
|
|
424
|
+
|
|
425
|
+
**Files to Create:**
|
|
426
|
+
|
|
427
|
+
- `src/systems/InputManager.ts`
|
|
428
|
+
- `src/utils/TouchControls.ts`
|
|
429
|
+
- `src/types/InputTypes.ts`
|
|
430
|
+
- id: game-mechanics-systems
|
|
431
|
+
title: Game Mechanics Systems
|
|
432
|
+
instruction: For each major mechanic defined in the GDD, create a system specification
|
|
433
|
+
repeatable: true
|
|
434
|
+
sections:
|
|
435
|
+
- id: mechanic-system
|
|
436
|
+
title: "{{mechanic_name}} System"
|
|
437
|
+
template: |
|
|
438
|
+
**Purpose:** {{system_purpose}}
|
|
439
|
+
|
|
440
|
+
**Core Functionality:**
|
|
441
|
+
|
|
442
|
+
- {{feature_1}}
|
|
443
|
+
- {{feature_2}}
|
|
444
|
+
- {{feature_3}}
|
|
445
|
+
|
|
446
|
+
**Dependencies:** {{required_systems}}
|
|
447
|
+
|
|
448
|
+
**Performance Considerations:** {{optimization_notes}}
|
|
449
|
+
|
|
450
|
+
**Files to Create:**
|
|
451
|
+
|
|
452
|
+
- `src/systems/{{system_name}}.ts`
|
|
453
|
+
- `src/gameObjects/{{related_object}}.ts`
|
|
454
|
+
- `src/types/{{system_types}}.ts`
|
|
455
|
+
- id: physics-collision
|
|
456
|
+
title: Physics & Collision System
|
|
457
|
+
template: |
|
|
458
|
+
**Physics Engine:** {{physics_choice}} (Arcade Physics/Matter.js)
|
|
459
|
+
|
|
460
|
+
**Collision Categories:**
|
|
461
|
+
|
|
462
|
+
- Player collision
|
|
463
|
+
- Enemy interactions
|
|
464
|
+
- Environmental objects
|
|
465
|
+
- Collectibles and items
|
|
466
|
+
|
|
467
|
+
**Implementation Requirements:**
|
|
468
|
+
|
|
469
|
+
- Optimized collision detection
|
|
470
|
+
- Physics body management
|
|
471
|
+
- Collision callbacks and events
|
|
472
|
+
- Performance monitoring
|
|
473
|
+
|
|
474
|
+
**Files to Create:**
|
|
475
|
+
|
|
476
|
+
- `src/systems/PhysicsManager.ts`
|
|
477
|
+
- `src/utils/CollisionGroups.ts`
|
|
478
|
+
- id: audio-system
|
|
479
|
+
title: Audio System
|
|
480
|
+
template: |
|
|
481
|
+
**Audio Requirements:**
|
|
482
|
+
|
|
483
|
+
- Background music with looping
|
|
484
|
+
- Sound effects for actions
|
|
485
|
+
- Audio settings and volume control
|
|
486
|
+
- Mobile audio optimization
|
|
487
|
+
|
|
488
|
+
**Implementation Features:**
|
|
489
|
+
|
|
490
|
+
- Audio sprite management
|
|
491
|
+
- Dynamic music system
|
|
492
|
+
- Spatial audio (if applicable)
|
|
493
|
+
- Audio pooling for performance
|
|
494
|
+
|
|
495
|
+
**Files to Create:**
|
|
496
|
+
|
|
497
|
+
- `src/systems/AudioManager.ts`
|
|
498
|
+
- `src/config/AudioConfig.ts`
|
|
499
|
+
- id: ui-system
|
|
500
|
+
title: UI System
|
|
501
|
+
template: |
|
|
502
|
+
**UI Components:**
|
|
503
|
+
|
|
504
|
+
- HUD elements (score, health, etc.)
|
|
505
|
+
- Menu navigation
|
|
506
|
+
- Modal dialogs
|
|
507
|
+
- Settings screens
|
|
508
|
+
|
|
509
|
+
**Implementation Requirements:**
|
|
510
|
+
|
|
511
|
+
- Responsive layout system
|
|
512
|
+
- Touch-friendly interface
|
|
513
|
+
- Keyboard navigation support
|
|
514
|
+
- Animation and transitions
|
|
515
|
+
|
|
516
|
+
**Files to Create:**
|
|
517
|
+
|
|
518
|
+
- `src/systems/UIManager.ts`
|
|
519
|
+
- `src/gameObjects/UI/`
|
|
520
|
+
- `src/types/UITypes.ts`
|
|
521
|
+
|
|
522
|
+
- id: performance-architecture
|
|
523
|
+
title: Performance Architecture
|
|
524
|
+
instruction: Define performance requirements and optimization strategies
|
|
525
|
+
sections:
|
|
526
|
+
- id: performance-targets
|
|
527
|
+
title: Performance Targets
|
|
528
|
+
template: |
|
|
529
|
+
**Frame Rate:** 60 FPS sustained, 30 FPS minimum
|
|
530
|
+
**Memory Usage:** <{{memory_limit}}MB total
|
|
531
|
+
**Load Times:** <{{initial_load}}s initial, <{{level_load}}s per level
|
|
532
|
+
**Battery Optimization:** Reduced updates when not visible
|
|
533
|
+
- id: optimization-strategies
|
|
534
|
+
title: Optimization Strategies
|
|
535
|
+
sections:
|
|
536
|
+
- id: object-pooling
|
|
537
|
+
title: Object Pooling
|
|
538
|
+
type: bullet-list
|
|
539
|
+
template: |
|
|
540
|
+
- Bullets and projectiles
|
|
541
|
+
- Particle effects
|
|
542
|
+
- Enemy objects
|
|
543
|
+
- UI elements
|
|
544
|
+
- id: asset-optimization
|
|
545
|
+
title: Asset Optimization
|
|
546
|
+
type: bullet-list
|
|
547
|
+
template: |
|
|
548
|
+
- Texture atlases for sprites
|
|
549
|
+
- Audio compression
|
|
550
|
+
- Lazy loading for large assets
|
|
551
|
+
- Progressive enhancement
|
|
552
|
+
- id: rendering-optimization
|
|
553
|
+
title: Rendering Optimization
|
|
554
|
+
type: bullet-list
|
|
555
|
+
template: |
|
|
556
|
+
- Sprite batching
|
|
557
|
+
- Culling off-screen objects
|
|
558
|
+
- Reduced particle counts on mobile
|
|
559
|
+
- Texture resolution scaling
|
|
560
|
+
- id: optimization-files
|
|
561
|
+
title: Files to Create
|
|
562
|
+
type: bullet-list
|
|
563
|
+
template: |
|
|
564
|
+
- `src/utils/ObjectPool.ts`
|
|
565
|
+
- `src/utils/PerformanceMonitor.ts`
|
|
566
|
+
- `src/config/OptimizationConfig.ts`
|
|
567
|
+
|
|
568
|
+
- id: game-configuration
|
|
569
|
+
title: Game Configuration
|
|
570
|
+
instruction: Define all configurable aspects of the game
|
|
571
|
+
sections:
|
|
572
|
+
- id: phaser-configuration
|
|
573
|
+
title: Phaser Configuration
|
|
574
|
+
type: code
|
|
575
|
+
language: typescript
|
|
576
|
+
template: |
|
|
577
|
+
// src/config/GameConfig.ts
|
|
578
|
+
const gameConfig: Phaser.Types.Core.GameConfig = {
|
|
579
|
+
type: Phaser.AUTO,
|
|
580
|
+
width: {{game_width}},
|
|
581
|
+
height: {{game_height}},
|
|
582
|
+
scale: {
|
|
583
|
+
mode: {{scale_mode}},
|
|
584
|
+
autoCenter: Phaser.Scale.CENTER_BOTH
|
|
585
|
+
},
|
|
586
|
+
physics: {
|
|
587
|
+
default: '{{physics_system}}',
|
|
588
|
+
{{physics_system}}: {
|
|
589
|
+
gravity: { y: {{gravity}} },
|
|
590
|
+
debug: false
|
|
591
|
+
}
|
|
592
|
+
},
|
|
593
|
+
// Additional configuration...
|
|
594
|
+
};
|
|
595
|
+
- id: game-balance-configuration
|
|
596
|
+
title: Game Balance Configuration
|
|
597
|
+
instruction: Based on GDD, define configurable game parameters
|
|
598
|
+
type: code
|
|
599
|
+
language: typescript
|
|
600
|
+
template: |
|
|
601
|
+
// src/config/GameBalance.ts
|
|
602
|
+
export const GameBalance = {
|
|
603
|
+
player: {
|
|
604
|
+
speed: {{player_speed}},
|
|
605
|
+
health: {{player_health}},
|
|
606
|
+
// Additional player parameters...
|
|
607
|
+
},
|
|
608
|
+
difficulty: {
|
|
609
|
+
easy: {{easy_params}},
|
|
610
|
+
normal: {{normal_params}},
|
|
611
|
+
hard: {{hard_params}}
|
|
612
|
+
},
|
|
613
|
+
// Additional balance parameters...
|
|
614
|
+
};
|
|
615
|
+
|
|
616
|
+
- id: development-guidelines
|
|
617
|
+
title: Development Guidelines
|
|
618
|
+
instruction: Provide coding standards specific to game development
|
|
619
|
+
sections:
|
|
620
|
+
- id: typescript-standards
|
|
621
|
+
title: TypeScript Standards
|
|
622
|
+
sections:
|
|
623
|
+
- id: type-safety
|
|
624
|
+
title: Type Safety
|
|
625
|
+
type: bullet-list
|
|
626
|
+
template: |
|
|
627
|
+
- Use strict mode
|
|
628
|
+
- Define interfaces for all data structures
|
|
629
|
+
- Avoid `any` type usage
|
|
630
|
+
- Use enums for game states
|
|
631
|
+
- id: code-organization
|
|
632
|
+
title: Code Organization
|
|
633
|
+
type: bullet-list
|
|
634
|
+
template: |
|
|
635
|
+
- One class per file
|
|
636
|
+
- Clear naming conventions
|
|
637
|
+
- Proper error handling
|
|
638
|
+
- Comprehensive documentation
|
|
639
|
+
- id: phaser-best-practices
|
|
640
|
+
title: Phaser 3 Best Practices
|
|
641
|
+
sections:
|
|
642
|
+
- id: scene-management-practices
|
|
643
|
+
title: Scene Management
|
|
644
|
+
type: bullet-list
|
|
645
|
+
template: |
|
|
646
|
+
- Clean up resources in shutdown()
|
|
647
|
+
- Use scene data for communication
|
|
648
|
+
- Implement proper event handling
|
|
649
|
+
- Avoid memory leaks
|
|
650
|
+
- id: game-object-design
|
|
651
|
+
title: Game Object Design
|
|
652
|
+
type: bullet-list
|
|
653
|
+
template: |
|
|
654
|
+
- Extend Phaser classes appropriately
|
|
655
|
+
- Use component-based architecture
|
|
656
|
+
- Implement object pooling where needed
|
|
657
|
+
- Follow consistent update patterns
|
|
658
|
+
- id: testing-strategy
|
|
659
|
+
title: Testing Strategy
|
|
660
|
+
sections:
|
|
661
|
+
- id: unit-testing
|
|
662
|
+
title: Unit Testing
|
|
663
|
+
type: bullet-list
|
|
664
|
+
template: |
|
|
665
|
+
- Test game logic separately from Phaser
|
|
666
|
+
- Mock Phaser dependencies
|
|
667
|
+
- Test utility functions
|
|
668
|
+
- Validate game balance calculations
|
|
669
|
+
- id: integration-testing
|
|
670
|
+
title: Integration Testing
|
|
671
|
+
type: bullet-list
|
|
672
|
+
template: |
|
|
673
|
+
- Scene loading and transitions
|
|
674
|
+
- Save/load functionality
|
|
675
|
+
- Input handling
|
|
676
|
+
- Performance benchmarks
|
|
677
|
+
- id: test-files
|
|
678
|
+
title: Files to Create
|
|
679
|
+
type: bullet-list
|
|
680
|
+
template: |
|
|
681
|
+
- `tests/utils/GameLogic.test.ts`
|
|
682
|
+
- `tests/systems/SaveManager.test.ts`
|
|
683
|
+
- `tests/performance/FrameRate.test.ts`
|
|
684
|
+
|
|
685
|
+
- id: deployment-architecture
|
|
686
|
+
title: Deployment Architecture
|
|
687
|
+
instruction: Define how the game will be built and deployed
|
|
688
|
+
sections:
|
|
689
|
+
- id: build-process
|
|
690
|
+
title: Build Process
|
|
691
|
+
sections:
|
|
692
|
+
- id: development-build
|
|
693
|
+
title: Development Build
|
|
694
|
+
type: bullet-list
|
|
695
|
+
template: |
|
|
696
|
+
- Fast compilation
|
|
697
|
+
- Source maps enabled
|
|
698
|
+
- Debug logging active
|
|
699
|
+
- Hot reload support
|
|
700
|
+
- id: production-build
|
|
701
|
+
title: Production Build
|
|
702
|
+
type: bullet-list
|
|
703
|
+
template: |
|
|
704
|
+
- Minified and optimized
|
|
705
|
+
- Asset compression
|
|
706
|
+
- Performance monitoring
|
|
707
|
+
- Error tracking
|
|
708
|
+
- id: deployment-strategy
|
|
709
|
+
title: Deployment Strategy
|
|
710
|
+
sections:
|
|
711
|
+
- id: web-deployment
|
|
712
|
+
title: Web Deployment
|
|
713
|
+
type: bullet-list
|
|
714
|
+
template: |
|
|
715
|
+
- Static hosting ({{hosting_platform}})
|
|
716
|
+
- CDN for assets
|
|
717
|
+
- Progressive loading
|
|
718
|
+
- Browser compatibility
|
|
719
|
+
- id: mobile-packaging
|
|
720
|
+
title: Mobile Packaging
|
|
721
|
+
type: bullet-list
|
|
722
|
+
template: |
|
|
723
|
+
- Cordova/Capacitor wrapper
|
|
724
|
+
- Platform-specific optimization
|
|
725
|
+
- App store requirements
|
|
726
|
+
- Performance testing
|
|
727
|
+
|
|
728
|
+
- id: implementation-roadmap
|
|
729
|
+
title: Implementation Roadmap
|
|
730
|
+
instruction: Break down the architecture implementation into phases that align with the GDD development phases
|
|
731
|
+
sections:
|
|
732
|
+
- id: phase-1-foundation
|
|
733
|
+
title: "Phase 1: Foundation ({{duration}})"
|
|
734
|
+
sections:
|
|
735
|
+
- id: phase-1-core
|
|
736
|
+
title: Core Systems
|
|
737
|
+
type: bullet-list
|
|
738
|
+
template: |
|
|
739
|
+
- Project setup and configuration
|
|
740
|
+
- Basic scene management
|
|
741
|
+
- Asset loading pipeline
|
|
742
|
+
- Input handling framework
|
|
743
|
+
- id: phase-1-epics
|
|
744
|
+
title: Story Epics
|
|
745
|
+
type: bullet-list
|
|
746
|
+
template: |
|
|
747
|
+
- "Engine Setup and Configuration"
|
|
748
|
+
- "Basic Scene Management System"
|
|
749
|
+
- "Asset Loading Foundation"
|
|
750
|
+
- id: phase-2-game-systems
|
|
751
|
+
title: "Phase 2: Game Systems ({{duration}})"
|
|
752
|
+
sections:
|
|
753
|
+
- id: phase-2-gameplay
|
|
754
|
+
title: Gameplay Systems
|
|
755
|
+
type: bullet-list
|
|
756
|
+
template: |
|
|
757
|
+
- {{primary_mechanic}} implementation
|
|
758
|
+
- Physics and collision system
|
|
759
|
+
- Game state management
|
|
760
|
+
- UI framework
|
|
761
|
+
- id: phase-2-epics
|
|
762
|
+
title: Story Epics
|
|
763
|
+
type: bullet-list
|
|
764
|
+
template: |
|
|
765
|
+
- "{{primary_mechanic}} System Implementation"
|
|
766
|
+
- "Physics and Collision Framework"
|
|
767
|
+
- "Game State Management System"
|
|
768
|
+
- id: phase-3-content-polish
|
|
769
|
+
title: "Phase 3: Content & Polish ({{duration}})"
|
|
770
|
+
sections:
|
|
771
|
+
- id: phase-3-content
|
|
772
|
+
title: Content Systems
|
|
773
|
+
type: bullet-list
|
|
774
|
+
template: |
|
|
775
|
+
- Level loading and management
|
|
776
|
+
- Audio system integration
|
|
777
|
+
- Performance optimization
|
|
778
|
+
- Final polish and testing
|
|
779
|
+
- id: phase-3-epics
|
|
780
|
+
title: Story Epics
|
|
781
|
+
type: bullet-list
|
|
782
|
+
template: |
|
|
783
|
+
- "Level Management System"
|
|
784
|
+
- "Audio Integration and Optimization"
|
|
785
|
+
- "Performance Optimization and Testing"
|
|
786
|
+
|
|
787
|
+
- id: risk-assessment
|
|
788
|
+
title: Risk Assessment
|
|
789
|
+
instruction: Identify potential technical risks and mitigation strategies
|
|
790
|
+
type: table
|
|
791
|
+
template: |
|
|
792
|
+
| Risk | Probability | Impact | Mitigation Strategy |
|
|
793
|
+
| ---------------------------- | ----------- | ---------- | ------------------- |
|
|
794
|
+
| Performance issues on mobile | {{prob}} | {{impact}} | {{mitigation}} |
|
|
795
|
+
| Asset loading bottlenecks | {{prob}} | {{impact}} | {{mitigation}} |
|
|
796
|
+
| Cross-platform compatibility | {{prob}} | {{impact}} | {{mitigation}} |
|
|
797
|
+
|
|
798
|
+
- id: success-criteria
|
|
799
|
+
title: Success Criteria
|
|
800
|
+
instruction: Define measurable technical success criteria
|
|
801
|
+
sections:
|
|
802
|
+
- id: technical-metrics
|
|
803
|
+
title: Technical Metrics
|
|
804
|
+
type: bullet-list
|
|
805
|
+
template: |
|
|
806
|
+
- All systems implemented per specification
|
|
807
|
+
- Performance targets met consistently
|
|
808
|
+
- Zero critical bugs in core systems
|
|
809
|
+
- Successful deployment across target platforms
|
|
810
|
+
- id: code-quality
|
|
811
|
+
title: Code Quality
|
|
812
|
+
type: bullet-list
|
|
813
|
+
template: |
|
|
814
|
+
- 90%+ test coverage on game logic
|
|
815
|
+
- Zero TypeScript errors in strict mode
|
|
816
|
+
- Consistent adherence to coding standards
|
|
817
|
+
- Comprehensive documentation coverage
|
|
818
|
+
==================== END: .bmad-2d-phaser-game-dev/templates/game-architecture-tmpl.yaml ====================
|
|
819
|
+
|
|
820
|
+
==================== START: .bmad-2d-phaser-game-dev/checklists/game-story-dod-checklist.md ====================
|
|
770
821
|
# Game Development Story Definition of Done Checklist
|
|
771
822
|
|
|
772
823
|
## Story Completeness
|
|
@@ -927,9 +978,9 @@ export const GameBalance = {
|
|
|
927
978
|
|
|
928
979
|
**Additional Notes:**
|
|
929
980
|
_Any specific concerns, recommendations, or clarifications needed before development begins._
|
|
930
|
-
==================== END: checklists
|
|
981
|
+
==================== END: .bmad-2d-phaser-game-dev/checklists/game-story-dod-checklist.md ====================
|
|
931
982
|
|
|
932
|
-
==================== START: data
|
|
983
|
+
==================== START: .bmad-2d-phaser-game-dev/data/development-guidelines.md ====================
|
|
933
984
|
# Game Development Guidelines
|
|
934
985
|
|
|
935
986
|
## Overview
|
|
@@ -1581,4 +1632,4 @@ src/
|
|
|
1581
1632
|
- **Asset Streaming**: Background loading for upcoming content
|
|
1582
1633
|
|
|
1583
1634
|
These guidelines ensure consistent, high-quality game development that meets performance targets and maintains code quality across all implementation stories.
|
|
1584
|
-
==================== END: data
|
|
1635
|
+
==================== END: .bmad-2d-phaser-game-dev/data/development-guidelines.md ====================
|