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.
Files changed (109) hide show
  1. package/.vscode/settings.json +2 -0
  2. package/CHANGELOG.md +22 -0
  3. package/README.md +29 -282
  4. package/bmad-core/agent-teams/team-all.yaml +6 -6
  5. package/bmad-core/agent-teams/team-fullstack.yaml +6 -6
  6. package/bmad-core/agent-teams/team-no-ui.yaml +2 -2
  7. package/bmad-core/agents/analyst.md +17 -18
  8. package/bmad-core/agents/architect.md +15 -18
  9. package/bmad-core/agents/bmad-master.md +56 -53
  10. package/bmad-core/agents/bmad-orchestrator.md +24 -23
  11. package/bmad-core/agents/dev.md +10 -10
  12. package/bmad-core/agents/pm.md +17 -20
  13. package/bmad-core/agents/po.md +12 -15
  14. package/bmad-core/agents/qa.md +7 -8
  15. package/bmad-core/agents/sm.md +8 -13
  16. package/bmad-core/agents/ux-expert.md +7 -11
  17. package/bmad-core/core-config.yaml +1 -1
  18. package/bmad-core/data/bmad-kb.md +74 -15
  19. package/bmad-core/data/brainstorming-techniques.md +36 -0
  20. package/bmad-core/data/elicitation-methods.md +134 -0
  21. package/bmad-core/tasks/advanced-elicitation.md +82 -57
  22. package/bmad-core/tasks/facilitate-brainstorming-session.md +136 -0
  23. package/bmad-core/templates/architecture-tmpl.yaml +658 -0
  24. package/bmad-core/templates/brainstorming-output-tmpl.yaml +156 -0
  25. package/bmad-core/templates/brownfield-architecture-tmpl.yaml +476 -0
  26. package/bmad-core/templates/brownfield-prd-tmpl.yaml +280 -0
  27. package/bmad-core/templates/competitor-analysis-tmpl.yaml +293 -0
  28. package/bmad-core/templates/front-end-architecture-tmpl.yaml +206 -0
  29. package/bmad-core/templates/front-end-spec-tmpl.yaml +349 -0
  30. package/bmad-core/templates/fullstack-architecture-tmpl.yaml +805 -0
  31. package/bmad-core/templates/market-research-tmpl.yaml +252 -0
  32. package/bmad-core/templates/prd-tmpl.yaml +202 -0
  33. package/bmad-core/templates/project-brief-tmpl.yaml +221 -0
  34. package/bmad-core/templates/story-tmpl.yaml +137 -0
  35. package/bmad-core/utils/plan-management.md +9 -13
  36. package/bmad-core/workflows/greenfield-service.yaml +1 -1
  37. package/common/tasks/create-doc.md +55 -67
  38. package/common/utils/bmad-doc-template.md +325 -0
  39. package/dist/agents/analyst.txt +1312 -1193
  40. package/dist/agents/architect.txt +2484 -2895
  41. package/dist/agents/bmad-master.txt +4680 -4897
  42. package/dist/agents/bmad-orchestrator.txt +400 -195
  43. package/dist/agents/dev.txt +21 -24
  44. package/dist/agents/pm.txt +590 -619
  45. package/dist/agents/po.txt +178 -130
  46. package/dist/agents/qa.txt +159 -48
  47. package/dist/agents/sm.txt +166 -120
  48. package/dist/agents/ux-expert.txt +436 -544
  49. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.txt +1283 -1260
  50. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.txt +642 -591
  51. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.txt +284 -268
  52. package/dist/expansion-packs/bmad-2d-phaser-game-dev/teams/phaser-2d-nodejs-game-team.txt +9258 -4977
  53. package/dist/expansion-packs/bmad-creator-tools/agents/bmad-the-creator.txt +388 -325
  54. package/dist/expansion-packs/bmad-infrastructure-devops/agents/infra-devops-platform.txt +1144 -1165
  55. package/dist/teams/team-all.txt +4885 -4967
  56. package/dist/teams/team-fullstack.txt +5621 -5693
  57. package/dist/teams/team-ide-minimal.txt +604 -333
  58. package/dist/teams/team-no-ui.txt +5209 -5213
  59. package/docs/agentic-tools/github-copilot-guide.md +29 -9
  60. package/docs/bmad-workflow-guide.md +2 -2
  61. package/expansion-packs/bmad-2d-phaser-game-dev/agent-teams/phaser-2d-nodejs-game-team.yaml +2 -2
  62. package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.md +17 -15
  63. package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.md +13 -11
  64. package/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.md +13 -11
  65. package/expansion-packs/bmad-2d-phaser-game-dev/config.yaml +1 -1
  66. package/expansion-packs/bmad-2d-phaser-game-dev/tasks/create-game-story.md +2 -2
  67. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-architecture-tmpl.yaml +613 -0
  68. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-brief-tmpl.yaml +356 -0
  69. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-design-doc-tmpl.yaml +343 -0
  70. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-story-tmpl.yaml +253 -0
  71. package/expansion-packs/bmad-2d-phaser-game-dev/templates/level-design-doc-tmpl.yaml +484 -0
  72. package/expansion-packs/bmad-creator-tools/agents/bmad-the-creator.md +14 -12
  73. package/expansion-packs/bmad-creator-tools/config.yaml +1 -1
  74. package/expansion-packs/bmad-creator-tools/templates/agent-teams-tmpl.yaml +178 -0
  75. package/expansion-packs/bmad-creator-tools/templates/agent-tmpl.yaml +154 -0
  76. package/expansion-packs/bmad-creator-tools/templates/expansion-pack-plan-tmpl.yaml +120 -0
  77. package/expansion-packs/bmad-infrastructure-devops/agents/infra-devops-platform.md +14 -14
  78. package/expansion-packs/bmad-infrastructure-devops/config.yaml +1 -1
  79. package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-architecture-tmpl.yaml +424 -0
  80. package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-platform-from-arch-tmpl.yaml +629 -0
  81. package/package.json +1 -1
  82. package/tools/builders/web-builder.js +170 -95
  83. package/tools/installer/config/install.config.yaml +2 -2
  84. package/tools/installer/lib/ide-setup.js +2 -2
  85. package/tools/installer/package.json +1 -1
  86. package/tools/lib/dependency-resolver.js +11 -22
  87. package/tools/md-assets/web-agent-startup-instructions.md +10 -10
  88. package/bmad-core/tasks/brainstorming-techniques.md +0 -238
  89. package/bmad-core/templates/architecture-tmpl.md +0 -776
  90. package/bmad-core/templates/brownfield-architecture-tmpl.md +0 -544
  91. package/bmad-core/templates/brownfield-prd-tmpl.md +0 -266
  92. package/bmad-core/templates/competitor-analysis-tmpl.md +0 -291
  93. package/bmad-core/templates/front-end-architecture-tmpl.md +0 -175
  94. package/bmad-core/templates/front-end-spec-tmpl.md +0 -413
  95. package/bmad-core/templates/fullstack-architecture-tmpl.md +0 -1018
  96. package/bmad-core/templates/market-research-tmpl.md +0 -263
  97. package/bmad-core/templates/prd-tmpl.md +0 -202
  98. package/bmad-core/templates/project-brief-tmpl.md +0 -232
  99. package/bmad-core/templates/story-tmpl.md +0 -58
  100. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-architecture-tmpl.md +0 -560
  101. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-brief-tmpl.md +0 -345
  102. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-design-doc-tmpl.md +0 -331
  103. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-story-tmpl.md +0 -235
  104. package/expansion-packs/bmad-2d-phaser-game-dev/templates/level-design-doc-tmpl.md +0 -470
  105. package/expansion-packs/bmad-creator-tools/templates/agent-teams-tmpl.md +0 -154
  106. package/expansion-packs/bmad-creator-tools/templates/agent-tmpl.md +0 -143
  107. package/expansion-packs/bmad-creator-tools/templates/expansion-pack-plan-tmpl.md +0 -91
  108. package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-architecture-tmpl.md +0 -415
  109. 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#filename ====================`
12
- - `==================== END: folder#filename ====================`
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 `folder#filename` (e.g., `personas#analyst`, `tasks#create-story`)
18
- - If a section is specified (e.g., `tasks#create-story#section-name`), navigate to that section within the file
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#template-format ====================`
33
- - `tasks: create-story` → Look for `==================== START: tasks#create-story ====================`
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
- ==================== START: agents#game-developer ====================
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#game-developer ====================
106
+ ==================== END: .bmad-2d-phaser-game-dev/agents/game-developer.md ====================
109
107
 
110
- ==================== START: tasks#execute-checklist ====================
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 {root}/checklists folder to select the appropriate one to run.
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 {root}/checklists/
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#execute-checklist ====================
205
-
206
- ==================== START: templates#game-architecture-tmpl ====================
207
- # {{Game Title}} Game Architecture Document
208
-
209
- [[LLM: 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.
210
-
211
- If available, review any provided documents: Game Design Document (GDD), Technical Preferences. This architecture should support all game mechanics defined in the GDD.]]
212
-
213
- ## Introduction
214
-
215
- [[LLM: Establish the document's purpose and scope for game development]]
216
-
217
- 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.
218
-
219
- This architecture is designed to support the gameplay mechanics defined in the Game Design Document while maintaining 60 FPS performance and cross-platform compatibility.
220
-
221
- ### Change Log
222
-
223
- [[LLM: Track document versions and changes]]
224
-
225
- | Date | Version | Description | Author |
226
- | :--- | :------ | :---------- | :----- |
227
-
228
- ## Technical Overview
229
-
230
- [[LLM: Present all subsections together, then apply `tasks#advanced-elicitation` protocol to the complete section.]]
231
-
232
- ### Architecture Summary
233
-
234
- [[LLM: Provide a comprehensive overview covering:
235
-
236
- - Game engine choice and configuration
237
- - Project structure and organization
238
- - Key systems and their interactions
239
- - Performance and optimization strategy
240
- - How this architecture achieves GDD requirements]]
241
-
242
- ### Platform Targets
243
-
244
- [[LLM: Based on GDD requirements, confirm platform support]]
245
-
246
- **Primary Platform:** {{primary_platform}}
247
- **Secondary Platforms:** {{secondary_platforms}}
248
- **Minimum Requirements:** {{min_specs}}
249
- **Target Performance:** 60 FPS on {{target_device}}
250
-
251
- ### Technology Stack
252
-
253
- **Core Engine:** Phaser 3.70+
254
- **Language:** TypeScript 5.0+ (Strict Mode)
255
- **Build Tool:** {{build_tool}} (Webpack/Vite/Parcel)
256
- **Package Manager:** {{package_manager}}
257
- **Testing:** {{test_framework}}
258
- **Deployment:** {{deployment_platform}}
259
-
260
- ## Project Structure
261
-
262
- [[LLM: Define the complete project organization that developers will follow]]
263
-
264
- ### Repository Organization
265
-
266
- [[LLM: Design a clear folder structure for game development]]
267
-
268
- ```text
269
- {{game_name}}/
270
- ├── src/
271
- │ ├── scenes/ # Game scenes
272
- │ ├── gameObjects/ # Custom game objects
273
- │ ├── systems/ # Core game systems
274
- │ ├── utils/ # Utility functions
275
- │ ├── types/ # TypeScript type definitions
276
- │ ├── config/ # Game configuration
277
- │ └── main.ts # Entry point
278
- ├── assets/
279
- │ ├── images/ # Sprite assets
280
- │ ├── audio/ # Sound files
281
- │ ├── data/ # JSON data files
282
- │ └── fonts/ # Font files
283
- ├── public/ # Static web assets
284
- ├── tests/ # Test files
285
- ├── docs/ # Documentation
286
- │ ├── stories/ # Development stories
287
- └── architecture/ # Technical docs
288
- └── dist/ # Built game files
289
- ```
290
-
291
- ### Module Organization
292
-
293
- [[LLM: Define how TypeScript modules should be organized]]
294
-
295
- **Scene Structure:**
296
-
297
- - Each scene in separate file
298
- - Scene-specific logic contained
299
- - Clear data passing between scenes
300
-
301
- **Game Object Pattern:**
302
-
303
- - Component-based architecture
304
- - Reusable game object classes
305
- - Type-safe property definitions
306
-
307
- **System Architecture:**
308
-
309
- - Singleton managers for global systems
310
- - Event-driven communication
311
- - Clear separation of concerns
312
-
313
- ## Core Game Systems
314
-
315
- [[LLM: Detail each major system that needs to be implemented. Each system should be specific enough for developers to create implementation stories.]]
316
-
317
- ### Scene Management System
318
-
319
- **Purpose:** Handle game flow and scene transitions
320
-
321
- **Key Components:**
322
-
323
- - Scene loading and unloading
324
- - Data passing between scenes
325
- - Transition effects
326
- - Memory management
327
-
328
- **Implementation Requirements:**
329
-
330
- - Preload scene for asset loading
331
- - Menu system with navigation
332
- - Gameplay scenes with state management
333
- - Pause/resume functionality
334
-
335
- **Files to Create:**
336
-
337
- - `src/scenes/BootScene.ts`
338
- - `src/scenes/PreloadScene.ts`
339
- - `src/scenes/MenuScene.ts`
340
- - `src/scenes/GameScene.ts`
341
- - `src/systems/SceneManager.ts`
342
-
343
- ### Game State Management
344
-
345
- **Purpose:** Track player progress and game status
346
-
347
- **State Categories:**
348
-
349
- - Player progress (levels, unlocks)
350
- - Game settings (audio, controls)
351
- - Session data (current level, score)
352
- - Persistent data (achievements, statistics)
353
-
354
- **Implementation Requirements:**
355
-
356
- - Save/load system with localStorage
357
- - State validation and error recovery
358
- - Cross-session data persistence
359
- - Settings management
360
-
361
- **Files to Create:**
362
-
363
- - `src/systems/GameState.ts`
364
- - `src/systems/SaveManager.ts`
365
- - `src/types/GameData.ts`
366
-
367
- ### Asset Management System
368
-
369
- **Purpose:** Efficient loading and management of game assets
370
-
371
- **Asset Categories:**
372
-
373
- - Sprite sheets and animations
374
- - Audio files and music
375
- - Level data and configurations
376
- - UI assets and fonts
377
-
378
- **Implementation Requirements:**
379
-
380
- - Progressive loading strategy
381
- - Asset caching and optimization
382
- - Error handling for failed loads
383
- - Memory management for large assets
384
-
385
- **Files to Create:**
386
-
387
- - `src/systems/AssetManager.ts`
388
- - `src/config/AssetConfig.ts`
389
- - `src/utils/AssetLoader.ts`
390
-
391
- ### Input Management System
392
-
393
- **Purpose:** Handle all player input across platforms
394
-
395
- **Input Types:**
396
-
397
- - Keyboard controls
398
- - Mouse/pointer interaction
399
- - Touch gestures (mobile)
400
- - Gamepad support (optional)
401
-
402
- **Implementation Requirements:**
403
-
404
- - Input mapping and configuration
405
- - Touch-friendly mobile controls
406
- - Input buffering for responsive gameplay
407
- - Customizable control schemes
408
-
409
- **Files to Create:**
410
-
411
- - `src/systems/InputManager.ts`
412
- - `src/utils/TouchControls.ts`
413
- - `src/types/InputTypes.ts`
414
-
415
- ### Game Mechanics Systems
416
-
417
- [[LLM: For each major mechanic defined in the GDD, create a system specification]]
418
-
419
- <<REPEAT section="mechanic_system" count="based_on_gdd">>
420
-
421
- #### {{mechanic_name}} System
422
-
423
- **Purpose:** {{system_purpose}}
424
-
425
- **Core Functionality:**
426
-
427
- - {{feature_1}}
428
- - {{feature_2}}
429
- - {{feature_3}}
430
-
431
- **Dependencies:** {{required_systems}}
432
-
433
- **Performance Considerations:** {{optimization_notes}}
434
-
435
- **Files to Create:**
436
-
437
- - `src/systems/{{SystemName}}.ts`
438
- - `src/gameObjects/{{RelatedObject}}.ts`
439
- - `src/types/{{SystemTypes}}.ts`
440
-
441
- <</REPEAT>>
442
-
443
- ### Physics & Collision System
444
-
445
- **Physics Engine:** {{physics_choice}} (Arcade Physics/Matter.js)
446
-
447
- **Collision Categories:**
448
-
449
- - Player collision
450
- - Enemy interactions
451
- - Environmental objects
452
- - Collectibles and items
453
-
454
- **Implementation Requirements:**
455
-
456
- - Optimized collision detection
457
- - Physics body management
458
- - Collision callbacks and events
459
- - Performance monitoring
460
-
461
- **Files to Create:**
462
-
463
- - `src/systems/PhysicsManager.ts`
464
- - `src/utils/CollisionGroups.ts`
465
-
466
- ### Audio System
467
-
468
- **Audio Requirements:**
469
-
470
- - Background music with looping
471
- - Sound effects for actions
472
- - Audio settings and volume control
473
- - Mobile audio optimization
474
-
475
- **Implementation Features:**
476
-
477
- - Audio sprite management
478
- - Dynamic music system
479
- - Spatial audio (if applicable)
480
- - Audio pooling for performance
481
-
482
- **Files to Create:**
483
-
484
- - `src/systems/AudioManager.ts`
485
- - `src/config/AudioConfig.ts`
486
-
487
- ### UI System
488
-
489
- **UI Components:**
490
-
491
- - HUD elements (score, health, etc.)
492
- - Menu navigation
493
- - Modal dialogs
494
- - Settings screens
495
-
496
- **Implementation Requirements:**
497
-
498
- - Responsive layout system
499
- - Touch-friendly interface
500
- - Keyboard navigation support
501
- - Animation and transitions
502
-
503
- **Files to Create:**
504
-
505
- - `src/systems/UIManager.ts`
506
- - `src/gameObjects/UI/`
507
- - `src/types/UITypes.ts`
508
-
509
- ## Performance Architecture
510
-
511
- [[LLM: Define performance requirements and optimization strategies]]
512
-
513
- ### Performance Targets
514
-
515
- **Frame Rate:** 60 FPS sustained, 30 FPS minimum
516
- **Memory Usage:** <{{memory_limit}}MB total
517
- **Load Times:** <{{initial_load}}s initial, <{{level_load}}s per level
518
- **Battery Optimization:** Reduced updates when not visible
519
-
520
- ### Optimization Strategies
521
-
522
- **Object Pooling:**
523
-
524
- - Bullets and projectiles
525
- - Particle effects
526
- - Enemy objects
527
- - UI elements
528
-
529
- **Asset Optimization:**
530
-
531
- - Texture atlases for sprites
532
- - Audio compression
533
- - Lazy loading for large assets
534
- - Progressive enhancement
535
-
536
- **Rendering Optimization:**
537
-
538
- - Sprite batching
539
- - Culling off-screen objects
540
- - Reduced particle counts on mobile
541
- - Texture resolution scaling
542
-
543
- **Files to Create:**
544
-
545
- - `src/utils/ObjectPool.ts`
546
- - `src/utils/PerformanceMonitor.ts`
547
- - `src/config/OptimizationConfig.ts`
548
-
549
- ## Game Configuration
550
-
551
- [[LLM: Define all configurable aspects of the game]]
552
-
553
- ### Phaser Configuration
554
-
555
- ```typescript
556
- // src/config/GameConfig.ts
557
- const gameConfig: Phaser.Types.Core.GameConfig = {
558
- type: Phaser.AUTO,
559
- width: {{game_width}},
560
- height: {{game_height}},
561
- scale: {
562
- mode: {{scale_mode}},
563
- autoCenter: Phaser.Scale.CENTER_BOTH
564
- },
565
- physics: {
566
- default: '{{physics_system}}',
567
- {{physics_system}}: {
568
- gravity: { y: {{gravity}} },
569
- debug: false
570
- }
571
- },
572
- // Additional configuration...
573
- };
574
- ```
575
-
576
- ### Game Balance Configuration
577
-
578
- [[LLM: Based on GDD, define configurable game parameters]]
579
-
580
- ```typescript
581
- // src/config/GameBalance.ts
582
- export const GameBalance = {
583
- player: {
584
- speed: {{player_speed}},
585
- health: {{player_health}},
586
- // Additional player parameters...
587
- },
588
- difficulty: {
589
- easy: {{easy_params}},
590
- normal: {{normal_params}},
591
- hard: {{hard_params}}
592
- },
593
- // Additional balance parameters...
594
- };
595
- ```
596
-
597
- ## Development Guidelines
598
-
599
- [[LLM: Provide coding standards specific to game development]]
600
-
601
- ### TypeScript Standards
602
-
603
- **Type Safety:**
604
-
605
- - Use strict mode
606
- - Define interfaces for all data structures
607
- - Avoid `any` type usage
608
- - Use enums for game states
609
-
610
- **Code Organization:**
611
-
612
- - One class per file
613
- - Clear naming conventions
614
- - Proper error handling
615
- - Comprehensive documentation
616
-
617
- ### Phaser 3 Best Practices
618
-
619
- **Scene Management:**
620
-
621
- - Clean up resources in shutdown()
622
- - Use scene data for communication
623
- - Implement proper event handling
624
- - Avoid memory leaks
625
-
626
- **Game Object Design:**
627
-
628
- - Extend Phaser classes appropriately
629
- - Use component-based architecture
630
- - Implement object pooling where needed
631
- - Follow consistent update patterns
632
-
633
- ### Testing Strategy
634
-
635
- **Unit Testing:**
636
-
637
- - Test game logic separately from Phaser
638
- - Mock Phaser dependencies
639
- - Test utility functions
640
- - Validate game balance calculations
641
-
642
- **Integration Testing:**
643
-
644
- - Scene loading and transitions
645
- - Save/load functionality
646
- - Input handling
647
- - Performance benchmarks
648
-
649
- **Files to Create:**
650
-
651
- - `tests/utils/GameLogic.test.ts`
652
- - `tests/systems/SaveManager.test.ts`
653
- - `tests/performance/FrameRate.test.ts`
654
-
655
- ## Deployment Architecture
656
-
657
- [[LLM: Define how the game will be built and deployed]]
658
-
659
- ### Build Process
660
-
661
- **Development Build:**
662
-
663
- - Fast compilation
664
- - Source maps enabled
665
- - Debug logging active
666
- - Hot reload support
667
-
668
- **Production Build:**
669
-
670
- - Minified and optimized
671
- - Asset compression
672
- - Performance monitoring
673
- - Error tracking
674
-
675
- ### Deployment Strategy
676
-
677
- **Web Deployment:**
678
-
679
- - Static hosting ({{hosting_platform}})
680
- - CDN for assets
681
- - Progressive loading
682
- - Browser compatibility
683
-
684
- **Mobile Packaging:**
685
-
686
- - Cordova/Capacitor wrapper
687
- - Platform-specific optimization
688
- - App store requirements
689
- - Performance testing
690
-
691
- ## Implementation Roadmap
692
-
693
- [[LLM: Break down the architecture implementation into phases that align with the GDD development phases]]
694
-
695
- ### Phase 1: Foundation ({{duration}})
696
-
697
- **Core Systems:**
698
-
699
- - Project setup and configuration
700
- - Basic scene management
701
- - Asset loading pipeline
702
- - Input handling framework
703
-
704
- **Story Epics:**
705
-
706
- - "Engine Setup and Configuration"
707
- - "Basic Scene Management System"
708
- - "Asset Loading Foundation"
709
-
710
- ### Phase 2: Game Systems ({{duration}})
711
-
712
- **Gameplay Systems:**
713
-
714
- - {{primary_mechanic}} implementation
715
- - Physics and collision system
716
- - Game state management
717
- - UI framework
718
-
719
- **Story Epics:**
720
-
721
- - "{{Primary_Mechanic}} System Implementation"
722
- - "Physics and Collision Framework"
723
- - "Game State Management System"
724
-
725
- ### Phase 3: Content & Polish ({{duration}})
726
-
727
- **Content Systems:**
728
-
729
- - Level loading and management
730
- - Audio system integration
731
- - Performance optimization
732
- - Final polish and testing
733
-
734
- **Story Epics:**
735
-
736
- - "Level Management System"
737
- - "Audio Integration and Optimization"
738
- - "Performance Optimization and Testing"
739
-
740
- ## Risk Assessment
741
-
742
- [[LLM: Identify potential technical risks and mitigation strategies]]
743
-
744
- | Risk | Probability | Impact | Mitigation Strategy |
745
- | ---------------------------- | ----------- | ---------- | ------------------- |
746
- | Performance issues on mobile | {{prob}} | {{impact}} | {{mitigation}} |
747
- | Asset loading bottlenecks | {{prob}} | {{impact}} | {{mitigation}} |
748
- | Cross-platform compatibility | {{prob}} | {{impact}} | {{mitigation}} |
749
-
750
- ## Success Criteria
751
-
752
- [[LLM: Define measurable technical success criteria]]
753
-
754
- **Technical Metrics:**
755
-
756
- - All systems implemented per specification
757
- - Performance targets met consistently
758
- - Zero critical bugs in core systems
759
- - Successful deployment across target platforms
760
-
761
- **Code Quality:**
762
-
763
- - 90%+ test coverage on game logic
764
- - Zero TypeScript errors in strict mode
765
- - Consistent adherence to coding standards
766
- - Comprehensive documentation coverage
767
- ==================== END: templates#game-architecture-tmpl ====================
768
-
769
- ==================== START: checklists#game-story-dod-checklist ====================
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#game-story-dod-checklist ====================
981
+ ==================== END: .bmad-2d-phaser-game-dev/checklists/game-story-dod-checklist.md ====================
931
982
 
932
- ==================== START: data#development-guidelines ====================
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#development-guidelines ====================
1635
+ ==================== END: .bmad-2d-phaser-game-dev/data/development-guidelines.md ====================