bmad-method 4.9.0 → 4.9.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 (39) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/bmad-core/tasks/shard-doc.md +1 -1
  3. package/bmad-core/templates/architecture-tmpl.md +2 -2
  4. package/bmad-core/templates/brownfield-architecture-tmpl.md +2 -2
  5. package/bmad-core/templates/front-end-spec-tmpl.md +1 -1
  6. package/bmad-core/utils/workflow-management.md +5 -5
  7. package/dist/agents/architect.txt +4 -4
  8. package/dist/agents/bmad-master.txt +11 -11
  9. package/dist/agents/bmad-orchestrator.txt +5 -5
  10. package/dist/agents/dev.txt +9 -17
  11. package/dist/agents/pm.txt +1 -1
  12. package/dist/agents/po.txt +1 -1
  13. package/dist/agents/ux-expert.txt +1 -1
  14. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-designer.txt +144 -18
  15. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-developer.txt +139 -95
  16. package/dist/expansion-packs/bmad-2d-phaser-game-dev/agents/game-sm.txt +39 -0
  17. package/dist/expansion-packs/bmad-2d-phaser-game-dev/teams/phaser-2d-nodejs-game-team.txt +310 -118
  18. package/dist/expansion-packs/bmad-infrastructure-devops/agents/infra-devops-platform.txt +16 -16
  19. package/dist/expansion-packs/expansion-creator/agents/bmad-the-creator.txt +25 -27
  20. package/dist/teams/team-all.txt +20 -28
  21. package/dist/teams/team-fullstack.txt +11 -11
  22. package/dist/teams/team-ide-minimal.txt +15 -23
  23. package/dist/teams/team-no-ui.txt +10 -10
  24. package/docs/core-architecture.md +5 -3
  25. package/docs/how-to-contribute-with-pull-requests.md +6 -6
  26. package/docs/user-guide.md +51 -66
  27. package/expansion-packs/bmad-2d-phaser-game-dev/data/development-guidelines.md +107 -87
  28. package/expansion-packs/bmad-2d-phaser-game-dev/templates/game-architecture-tmpl.md +4 -4
  29. package/expansion-packs/bmad-2d-phaser-game-dev/templates/level-design-doc-tmpl.md +21 -2
  30. package/expansion-packs/bmad-infrastructure-devops/README.md +5 -5
  31. package/expansion-packs/bmad-infrastructure-devops/templates/infrastructure-platform-from-arch-tmpl.md +0 -0
  32. package/expansion-packs/expansion-creator/tasks/create-agent.md +10 -10
  33. package/expansion-packs/expansion-creator/tasks/generate-expansion-pack.md +2 -4
  34. package/expansion-packs/expansion-creator/templates/agent-teams-tmpl.md +6 -6
  35. package/expansion-packs/expansion-creator/templates/agent-tmpl.md +15 -15
  36. package/expansion-packs/expansion-creator/utils/workflow-management.md +8 -8
  37. package/package.json +1 -1
  38. package/tools/installer/README.md +3 -3
  39. package/tools/installer/package.json +1 -1
@@ -1147,6 +1147,7 @@ This elicitation task is specifically designed for game development and should b
1147
1147
  - **Platform Considerations**: When adapting designs for different devices and input methods
1148
1148
 
1149
1149
  The questions and perspectives offered should always consider:
1150
+
1150
1151
  - Player psychology and motivation
1151
1152
  - Technical feasibility with Phaser 3 and TypeScript
1152
1153
  - Performance implications for 60 FPS targets
@@ -2283,7 +2284,7 @@ Available workflows for [Team Name]:
2283
2284
  [... etc. ...]
2284
2285
 
2285
2286
  Use /workflow-start {number or id} to begin a workflow.
2286
- ```text
2287
+ ```
2287
2288
 
2288
2289
  ### /workflow-start {workflow-id}
2289
2290
 
@@ -2309,7 +2310,7 @@ In Progress:
2309
2310
  - Create PRD (John) - awaiting input
2310
2311
 
2311
2312
  Next: Technical Architecture
2312
- ```text
2313
+ ```
2313
2314
 
2314
2315
  ### /workflow-resume
2315
2316
 
@@ -2325,7 +2326,7 @@ BMad: I see you've completed Discovery and part of Product Planning.
2325
2326
  - UX Strategy with Sally (ux-expert)
2326
2327
 
2327
2328
  Would you like me to load Sally to continue?
2328
- ```text
2329
+ ```
2329
2330
 
2330
2331
  ### /workflow-next
2331
2332
 
@@ -2395,7 +2396,7 @@ BMad: I see you have a PRD and architecture document. Based on these artifacts,
2395
2396
  - Load Sarah (Product Owner) to validate all artifacts
2396
2397
 
2397
2398
  Would you like to continue with this workflow?
2398
- ```text
2399
+ ```
2399
2400
 
2400
2401
  ## Workflow Context Passing
2401
2402
 
@@ -2421,7 +2422,7 @@ Sally: I see we're in the Product Planning stage of the greenfield-fullstack wor
2421
2422
 
2422
2423
  Let's create the UX strategy and UI specifications. First, let me review
2423
2424
  the PRD to understand the features we're designing for...
2424
- ```text
2425
+ ```
2425
2426
 
2426
2427
  ## Multi-Path Workflows
2427
2428
 
@@ -2571,6 +2572,7 @@ This task provides a comprehensive toolkit of creative brainstorming techniques
2571
2572
  [[LLM: Begin by understanding the game design context and goals. Ask clarifying questions if needed to determine the best approach for game-specific ideation.]]
2572
2573
 
2573
2574
  1. **Establish Game Context**
2575
+
2574
2576
  - Understand the game genre or opportunity area
2575
2577
  - Identify target audience and platform constraints
2576
2578
  - Determine session goals (concept exploration vs. mechanic refinement)
@@ -2726,26 +2728,31 @@ This task provides a comprehensive toolkit of creative brainstorming techniques
2726
2728
  [[LLM: Help user select appropriate techniques based on their specific game design needs.]]
2727
2729
 
2728
2730
  **For Initial Game Concepts:**
2731
+
2729
2732
  - What If Game Scenarios
2730
2733
  - Cross-Genre Fusion
2731
2734
  - Emotion-First Design
2732
2735
 
2733
2736
  **For Stuck/Blocked Creativity:**
2737
+
2734
2738
  - Player Motivation Reversal
2735
2739
  - Constraint-Based Creativity
2736
2740
  - Genre Expectation Subversion
2737
2741
 
2738
2742
  **For Mechanic Development:**
2743
+
2739
2744
  - SCAMPER for Game Mechanics
2740
2745
  - Core Loop Deconstruction
2741
2746
  - Player Agency Spectrum
2742
2747
 
2743
2748
  **For Player Experience:**
2749
+
2744
2750
  - Player Archetype Brainstorming
2745
2751
  - Emotion-First Design
2746
2752
  - Accessibility-First Innovation
2747
2753
 
2748
2754
  **For World Building:**
2755
+
2749
2756
  - Environmental Storytelling
2750
2757
  - Player-Generated Narrative
2751
2758
  - Platform-Specific Design
@@ -2755,16 +2762,19 @@ This task provides a comprehensive toolkit of creative brainstorming techniques
2755
2762
  [[LLM: Guide the brainstorming session with appropriate pacing for game design exploration.]]
2756
2763
 
2757
2764
  1. **Inspiration Phase** (10-15 min)
2765
+
2758
2766
  - Reference existing games and mechanics
2759
2767
  - Explore player experiences and emotions
2760
2768
  - Gather visual and thematic inspiration
2761
2769
 
2762
2770
  2. **Divergent Exploration** (25-35 min)
2771
+
2763
2772
  - Generate many game concepts or mechanics
2764
2773
  - Use expansion and fusion techniques
2765
2774
  - Encourage wild and impossible ideas
2766
2775
 
2767
2776
  3. **Player-Centered Filtering** (15-20 min)
2777
+
2768
2778
  - Consider target audience reactions
2769
2779
  - Evaluate emotional impact and engagement
2770
2780
  - Group ideas by player experience goals
@@ -2779,6 +2789,7 @@ This task provides a comprehensive toolkit of creative brainstorming techniques
2779
2789
  [[LLM: Present brainstorming results in a format useful for game development.]]
2780
2790
 
2781
2791
  **Session Summary:**
2792
+
2782
2793
  - Techniques used and focus areas
2783
2794
  - Total concepts/mechanics generated
2784
2795
  - Key themes and patterns identified
@@ -2794,21 +2805,25 @@ This task provides a comprehensive toolkit of creative brainstorming techniques
2794
2805
  **Development Readiness:**
2795
2806
 
2796
2807
  **Prototype-Ready Ideas:**
2808
+
2797
2809
  - Ideas that can be tested immediately
2798
2810
  - Minimum viable implementations
2799
2811
  - Quick validation approaches
2800
2812
 
2801
2813
  **Research-Required Ideas:**
2814
+
2802
2815
  - Concepts needing technical investigation
2803
2816
  - Player testing and market research needs
2804
2817
  - Competitive analysis requirements
2805
2818
 
2806
2819
  **Future Innovation Pipeline:**
2820
+
2807
2821
  - Ideas requiring significant development
2808
2822
  - Technology-dependent concepts
2809
2823
  - Market timing considerations
2810
2824
 
2811
2825
  **Next Steps:**
2826
+
2812
2827
  - Which concepts to prototype first
2813
2828
  - Recommended research areas
2814
2829
  - Suggested playtesting approaches
@@ -2817,24 +2832,28 @@ This task provides a comprehensive toolkit of creative brainstorming techniques
2817
2832
  ## Game Design Specific Considerations
2818
2833
 
2819
2834
  ### Platform and Audience Awareness
2835
+
2820
2836
  - Always consider target platform limitations and advantages
2821
2837
  - Keep target audience preferences and expectations in mind
2822
2838
  - Balance innovation with familiar game design patterns
2823
2839
  - Consider monetization and business model implications
2824
2840
 
2825
2841
  ### Rapid Prototyping Mindset
2842
+
2826
2843
  - Focus on ideas that can be quickly tested
2827
2844
  - Emphasize core mechanics over complex features
2828
2845
  - Design for iteration and player feedback
2829
2846
  - Consider digital and paper prototyping approaches
2830
2847
 
2831
2848
  ### Player Psychology Integration
2849
+
2832
2850
  - Understand motivation and engagement drivers
2833
2851
  - Consider learning curves and skill development
2834
2852
  - Design for different play session lengths
2835
2853
  - Balance challenge and reward appropriately
2836
2854
 
2837
2855
  ### Technical Feasibility
2856
+
2838
2857
  - Keep development resources and timeline in mind
2839
2858
  - Consider art and audio asset requirements
2840
2859
  - Think about performance and optimization needs
@@ -2908,6 +2927,7 @@ If available, review any provided documents or ask if any are optionally availab
2908
2927
  [[LLM: Define the 30-60 second loop that players will repeat. Be specific about timing and player actions.]]
2909
2928
 
2910
2929
  **Primary Loop ({{duration}} seconds):**
2930
+
2911
2931
  1. {{action_1}} ({{time_1}}s)
2912
2932
  2. {{action_2}} ({{time_2}}s)
2913
2933
  3. {{action_3}} ({{time_3}}s)
@@ -2918,10 +2938,12 @@ If available, review any provided documents or ask if any are optionally availab
2918
2938
  [[LLM: Clearly define success and failure states]]
2919
2939
 
2920
2940
  **Victory Conditions:**
2941
+
2921
2942
  - {{win_condition_1}}
2922
2943
  - {{win_condition_2}}
2923
2944
 
2924
2945
  **Failure States:**
2946
+
2925
2947
  - {{loss_condition_1}}
2926
2948
  - {{loss_condition_2}}
2927
2949
 
@@ -2942,6 +2964,7 @@ If available, review any provided documents or ask if any are optionally availab
2942
2964
  **System Response:** {{game_response}}
2943
2965
 
2944
2966
  **Implementation Notes:**
2967
+
2945
2968
  - {{tech_requirement_1}}
2946
2969
  - {{tech_requirement_2}}
2947
2970
  - {{performance_consideration}}
@@ -2954,8 +2977,8 @@ If available, review any provided documents or ask if any are optionally availab
2954
2977
 
2955
2978
  [[LLM: Define all input methods for different platforms]]
2956
2979
 
2957
- | Action | Desktop | Mobile | Gamepad |
2958
- |--------|---------|--------|---------|
2980
+ | Action | Desktop | Mobile | Gamepad |
2981
+ | ------------ | ------- | ----------- | ---------- |
2959
2982
  | {{action_1}} | {{key}} | {{gesture}} | {{button}} |
2960
2983
  | {{action_2}} | {{key}} | {{gesture}} | {{button}} |
2961
2984
 
@@ -2968,6 +2991,7 @@ If available, review any provided documents or ask if any are optionally availab
2968
2991
  **Progression Type:** {{linear|branching|metroidvania}}
2969
2992
 
2970
2993
  **Key Milestones:**
2994
+
2971
2995
  1. **{{milestone_1}}** - {{unlock_description}}
2972
2996
  2. **{{milestone_2}}** - {{unlock_description}}
2973
2997
  3. **{{milestone_3}}** - {{unlock_description}}
@@ -2987,9 +3011,9 @@ If available, review any provided documents or ask if any are optionally availab
2987
3011
 
2988
3012
  [[LLM: Define any in-game currencies, resources, or collectibles]]
2989
3013
 
2990
- | Resource | Earn Rate | Spend Rate | Purpose | Cap |
2991
- |----------|-----------|------------|---------|-----|
2992
- | {{resource_1}} | {{rate}} | {{rate}} | {{use}} | {{max}} |
3014
+ | Resource | Earn Rate | Spend Rate | Purpose | Cap |
3015
+ | -------------- | --------- | ---------- | ------- | ------- |
3016
+ | {{resource_1}} | {{rate}} | {{rate}} | {{use}} | {{max}} |
2993
3017
 
2994
3018
  ^^/CONDITION: has_economy^^
2995
3019
 
@@ -3009,6 +3033,7 @@ If available, review any provided documents or ask if any are optionally availab
3009
3033
  **Difficulty:** {{relative_difficulty}}
3010
3034
 
3011
3035
  **Structure Template:**
3036
+
3012
3037
  - Introduction: {{intro_description}}
3013
3038
  - Challenge: {{main_challenge}}
3014
3039
  - Resolution: {{completion_requirement}}
@@ -3035,11 +3060,13 @@ If available, review any provided documents or ask if any are optionally availab
3035
3060
  ### Platform Specific
3036
3061
 
3037
3062
  **Desktop:**
3063
+
3038
3064
  - Resolution: {{min_resolution}} - {{max_resolution}}
3039
3065
  - Input: Keyboard, Mouse, Gamepad
3040
3066
  - Browser: Chrome 80+, Firefox 75+, Safari 13+
3041
3067
 
3042
3068
  **Mobile:**
3069
+
3043
3070
  - Resolution: {{mobile_min}} - {{mobile_max}}
3044
3071
  - Input: Touch, Tilt (optional)
3045
3072
  - OS: iOS 13+, Android 8+
@@ -3049,12 +3076,14 @@ If available, review any provided documents or ask if any are optionally availab
3049
3076
  [[LLM: Define asset specifications for the art and audio teams]]
3050
3077
 
3051
3078
  **Visual Assets:**
3079
+
3052
3080
  - Art Style: {{style_description}}
3053
3081
  - Color Palette: {{color_specification}}
3054
3082
  - Animation: {{animation_requirements}}
3055
3083
  - UI Resolution: {{ui_specs}}
3056
3084
 
3057
3085
  **Audio Assets:**
3086
+
3058
3087
  - Music Style: {{music_genre}}
3059
3088
  - Sound Effects: {{sfx_requirements}}
3060
3089
  - Voice Acting: {{voice_needs}}
@@ -3066,6 +3095,7 @@ If available, review any provided documents or ask if any are optionally availab
3066
3095
  ### Engine Configuration
3067
3096
 
3068
3097
  **Phaser 3 Setup:**
3098
+
3069
3099
  - TypeScript: Strict mode enabled
3070
3100
  - Physics: {{physics_system}} (Arcade/Matter)
3071
3101
  - Renderer: WebGL with Canvas fallback
@@ -3074,6 +3104,7 @@ If available, review any provided documents or ask if any are optionally availab
3074
3104
  ### Code Architecture
3075
3105
 
3076
3106
  **Required Systems:**
3107
+
3077
3108
  - Scene Management
3078
3109
  - State Management
3079
3110
  - Asset Loading
@@ -3085,6 +3116,7 @@ If available, review any provided documents or ask if any are optionally availab
3085
3116
  ### Data Management
3086
3117
 
3087
3118
  **Save Data:**
3119
+
3088
3120
  - Progress tracking
3089
3121
  - Settings persistence
3090
3122
  - Statistics collection
@@ -3097,12 +3129,14 @@ If available, review any provided documents or ask if any are optionally availab
3097
3129
  ### Phase 1: Core Systems ({{duration}})
3098
3130
 
3099
3131
  **Epic: Foundation**
3132
+
3100
3133
  - Engine setup and configuration
3101
3134
  - Basic scene management
3102
3135
  - Core input handling
3103
3136
  - Asset loading pipeline
3104
3137
 
3105
3138
  **Epic: Core Mechanics**
3139
+
3106
3140
  - {{primary_mechanic}} implementation
3107
3141
  - Basic physics and collision
3108
3142
  - Player controller
@@ -3110,11 +3144,13 @@ If available, review any provided documents or ask if any are optionally availab
3110
3144
  ### Phase 2: Gameplay Features ({{duration}})
3111
3145
 
3112
3146
  **Epic: Game Systems**
3147
+
3113
3148
  - {{mechanic_2}} implementation
3114
3149
  - {{mechanic_3}} implementation
3115
3150
  - Game state management
3116
3151
 
3117
3152
  **Epic: Content Creation**
3153
+
3118
3154
  - Level loading system
3119
3155
  - First playable levels
3120
3156
  - Basic UI implementation
@@ -3122,11 +3158,13 @@ If available, review any provided documents or ask if any are optionally availab
3122
3158
  ### Phase 3: Polish & Optimization ({{duration}})
3123
3159
 
3124
3160
  **Epic: Performance**
3161
+
3125
3162
  - Optimization and profiling
3126
3163
  - Mobile platform testing
3127
3164
  - Memory management
3128
3165
 
3129
3166
  **Epic: User Experience**
3167
+
3130
3168
  - Audio implementation
3131
3169
  - Visual effects and polish
3132
3170
  - Final UI/UX refinement
@@ -3136,12 +3174,14 @@ If available, review any provided documents or ask if any are optionally availab
3136
3174
  [[LLM: Define measurable goals for the game]]
3137
3175
 
3138
3176
  **Technical Metrics:**
3177
+
3139
3178
  - Frame rate: {{fps_target}}
3140
3179
  - Load time: {{load_target}}
3141
3180
  - Crash rate: <{{crash_threshold}}%
3142
3181
  - Memory usage: <{{memory_target}}MB
3143
3182
 
3144
3183
  **Gameplay Metrics:**
3184
+
3145
3185
  - Tutorial completion: {{completion_rate}}%
3146
3186
  - Average session: {{session_length}} minutes
3147
3187
  - Level completion: {{level_completion}}%
@@ -3232,19 +3272,23 @@ This framework ensures consistency across all levels while providing flexibility
3232
3272
  **Difficulty Range:** {{difficulty_scale}}
3233
3273
 
3234
3274
  **Key Mechanics Featured:**
3275
+
3235
3276
  - {{mechanic_1}} - {{usage_description}}
3236
3277
  - {{mechanic_2}} - {{usage_description}}
3237
3278
 
3238
3279
  **Player Objectives:**
3280
+
3239
3281
  - Primary: {{primary_objective}}
3240
3282
  - Secondary: {{secondary_objective}}
3241
3283
  - Hidden: {{secret_objective}}
3242
3284
 
3243
3285
  **Success Criteria:**
3286
+
3244
3287
  - {{completion_requirement_1}}
3245
3288
  - {{completion_requirement_2}}
3246
3289
 
3247
3290
  **Technical Requirements:**
3291
+
3248
3292
  - Maximum entities: {{entity_limit}}
3249
3293
  - Performance target: {{fps_target}} FPS
3250
3294
  - Memory budget: {{memory_limit}}MB
@@ -3265,6 +3309,7 @@ This framework ensures consistency across all levels while providing flexibility
3265
3309
  **Total Level Count:** {{number}}
3266
3310
 
3267
3311
  **World Breakdown:**
3312
+
3268
3313
  - World 1: {{level_count}} levels - {{theme}} - {{difficulty_range}}
3269
3314
  - World 2: {{level_count}} levels - {{theme}} - {{difficulty_range}}
3270
3315
  - World 3: {{level_count}} levels - {{theme}} - {{difficulty_range}}
@@ -3274,7 +3319,8 @@ This framework ensures consistency across all levels while providing flexibility
3274
3319
  [[LLM: Define how challenge increases across the game]]
3275
3320
 
3276
3321
  **Progression Curve:**
3277
- ```text
3322
+
3323
+ ````text
3278
3324
  Difficulty
3279
3325
  ^ ___/```
3280
3326
  | /
@@ -3284,9 +3330,10 @@ Difficulty
3284
3330
  |/ /
3285
3331
  +-----------> Level Number
3286
3332
  Tutorial Early Mid Late
3287
- ```text
3333
+ ````
3288
3334
 
3289
3335
  **Scaling Parameters:**
3336
+
3290
3337
  - Enemy count: {{start_count}} → {{end_count}}
3291
3338
  - Enemy difficulty: {{start_diff}} → {{end_diff}}
3292
3339
  - Level complexity: {{start_complex}} → {{end_complex}}
@@ -3297,6 +3344,7 @@ Difficulty
3297
3344
  [[LLM: Define how players access new levels]]
3298
3345
 
3299
3346
  **Progression Gates:**
3347
+
3300
3348
  - Linear progression: Complete previous level
3301
3349
  - Star requirements: {{star_count}} stars to unlock
3302
3350
  - Skill gates: Demonstrate {{skill_requirement}}
@@ -3311,14 +3359,17 @@ Difficulty
3311
3359
  [[LLM: Define all environmental components that can be used in levels]]
3312
3360
 
3313
3361
  **Terrain Types:**
3362
+
3314
3363
  - {{terrain_1}}: {{properties_and_usage}}
3315
3364
  - {{terrain_2}}: {{properties_and_usage}}
3316
3365
 
3317
3366
  **Interactive Objects:**
3367
+
3318
3368
  - {{object_1}}: {{behavior_and_purpose}}
3319
3369
  - {{object_2}}: {{behavior_and_purpose}}
3320
3370
 
3321
3371
  **Hazards and Obstacles:**
3372
+
3322
3373
  - {{hazard_1}}: {{damage_and_behavior}}
3323
3374
  - {{hazard_2}}: {{damage_and_behavior}}
3324
3375
 
@@ -3327,15 +3378,18 @@ Difficulty
3327
3378
  [[LLM: Define all collectible items and their placement rules]]
3328
3379
 
3329
3380
  **Collectible Types:**
3381
+
3330
3382
  - {{collectible_1}}: {{value_and_purpose}}
3331
3383
  - {{collectible_2}}: {{value_and_purpose}}
3332
3384
 
3333
3385
  **Placement Guidelines:**
3386
+
3334
3387
  - Mandatory collectibles: {{placement_rules}}
3335
3388
  - Optional collectibles: {{placement_rules}}
3336
3389
  - Secret collectibles: {{placement_rules}}
3337
3390
 
3338
3391
  **Reward Distribution:**
3392
+
3339
3393
  - Easy to find: {{percentage}}%
3340
3394
  - Moderate challenge: {{percentage}}%
3341
3395
  - High skill required: {{percentage}}%
@@ -3345,15 +3399,18 @@ Difficulty
3345
3399
  [[LLM: Define how enemies should be placed and balanced in levels]]
3346
3400
 
3347
3401
  **Enemy Categories:**
3402
+
3348
3403
  - {{enemy_type_1}}: {{behavior_and_usage}}
3349
3404
  - {{enemy_type_2}}: {{behavior_and_usage}}
3350
3405
 
3351
3406
  **Placement Principles:**
3407
+
3352
3408
  - Introduction encounters: {{guideline}}
3353
3409
  - Standard encounters: {{guideline}}
3354
3410
  - Challenge encounters: {{guideline}}
3355
3411
 
3356
3412
  **Difficulty Scaling:**
3413
+
3357
3414
  - Enemy count progression: {{scaling_rule}}
3358
3415
  - Enemy type introduction: {{pacing_rule}}
3359
3416
  - Encounter complexity: {{complexity_rule}}
@@ -3365,12 +3422,14 @@ Difficulty
3365
3422
  ### Level Layout Principles
3366
3423
 
3367
3424
  **Spatial Design:**
3425
+
3368
3426
  - Grid size: {{grid_dimensions}}
3369
3427
  - Minimum path width: {{width_units}}
3370
3428
  - Maximum vertical distance: {{height_units}}
3371
3429
  - Safe zones placement: {{safety_guidelines}}
3372
3430
 
3373
3431
  **Navigation Design:**
3432
+
3374
3433
  - Clear path indication: {{visual_cues}}
3375
3434
  - Landmark placement: {{landmark_rules}}
3376
3435
  - Dead end avoidance: {{dead_end_policy}}
@@ -3381,11 +3440,13 @@ Difficulty
3381
3440
  [[LLM: Define how to control the rhythm and pace of gameplay within levels]]
3382
3441
 
3383
3442
  **Action Sequences:**
3443
+
3384
3444
  - High intensity duration: {{max_duration}}
3385
3445
  - Rest period requirement: {{min_rest_time}}
3386
3446
  - Intensity variation: {{pacing_pattern}}
3387
3447
 
3388
3448
  **Learning Sequences:**
3449
+
3389
3450
  - New mechanic introduction: {{teaching_method}}
3390
3451
  - Practice opportunity: {{practice_duration}}
3391
3452
  - Skill application: {{application_context}}
@@ -3395,12 +3456,14 @@ Difficulty
3395
3456
  [[LLM: Define how to create appropriate challenges for each level type]]
3396
3457
 
3397
3458
  **Challenge Types:**
3459
+
3398
3460
  - Execution challenges: {{skill_requirements}}
3399
3461
  - Puzzle challenges: {{complexity_guidelines}}
3400
3462
  - Time challenges: {{time_pressure_rules}}
3401
3463
  - Resource challenges: {{resource_management}}
3402
3464
 
3403
3465
  **Difficulty Calibration:**
3466
+
3404
3467
  - Skill check frequency: {{frequency_guidelines}}
3405
3468
  - Failure recovery: {{retry_mechanics}}
3406
3469
  - Hint system integration: {{help_system}}
@@ -3414,11 +3477,13 @@ Difficulty
3414
3477
  [[LLM: Define how level data should be structured for implementation]]
3415
3478
 
3416
3479
  **Level File Format:**
3480
+
3417
3481
  - Data format: {{json|yaml|custom}}
3418
3482
  - File naming: `level_{{world}}_{{number}}.{{extension}}`
3419
3483
  - Data organization: {{structure_description}}
3420
3484
 
3421
3485
  **Required Data Fields:**
3486
+
3422
3487
  ```json
3423
3488
  {
3424
3489
  "levelId": "{{unique_identifier}}",
@@ -3450,12 +3515,14 @@ Difficulty
3450
3515
  [[LLM: Define how level assets are organized and loaded]]
3451
3516
 
3452
3517
  **Tilemap Requirements:**
3518
+
3453
3519
  - Tile size: {{tile_dimensions}}px
3454
3520
  - Tileset organization: {{tileset_structure}}
3455
3521
  - Layer organization: {{layer_system}}
3456
3522
  - Collision data: {{collision_format}}
3457
3523
 
3458
3524
  **Audio Integration:**
3525
+
3459
3526
  - Background music: {{music_requirements}}
3460
3527
  - Ambient sounds: {{ambient_system}}
3461
3528
  - Dynamic audio: {{dynamic_audio_rules}}
@@ -3465,16 +3532,19 @@ Difficulty
3465
3532
  [[LLM: Define performance requirements for level systems]]
3466
3533
 
3467
3534
  **Entity Limits:**
3535
+
3468
3536
  - Maximum active entities: {{entity_limit}}
3469
3537
  - Maximum particles: {{particle_limit}}
3470
3538
  - Maximum audio sources: {{audio_limit}}
3471
3539
 
3472
3540
  **Memory Management:**
3541
+
3473
3542
  - Texture memory budget: {{texture_memory}}MB
3474
3543
  - Audio memory budget: {{audio_memory}}MB
3475
3544
  - Level loading time: <{{load_time}}s
3476
3545
 
3477
3546
  **Culling and LOD:**
3547
+
3478
3548
  - Off-screen culling: {{culling_distance}}
3479
3549
  - Level-of-detail rules: {{lod_system}}
3480
3550
  - Asset streaming: {{streaming_requirements}}
@@ -3486,11 +3556,13 @@ Difficulty
3486
3556
  ### Automated Testing
3487
3557
 
3488
3558
  **Performance Testing:**
3559
+
3489
3560
  - Frame rate validation: Maintain {{fps_target}} FPS
3490
3561
  - Memory usage monitoring: Stay under {{memory_limit}}MB
3491
3562
  - Loading time verification: Complete in <{{load_time}}s
3492
3563
 
3493
3564
  **Gameplay Testing:**
3565
+
3494
3566
  - Completion path validation: All objectives achievable
3495
3567
  - Collectible accessibility: All items reachable
3496
3568
  - Softlock prevention: No unwinnable states
@@ -3498,6 +3570,7 @@ Difficulty
3498
3570
  ### Manual Testing Protocol
3499
3571
 
3500
3572
  **Playtesting Checklist:**
3573
+
3501
3574
  - [ ] Level completes within target time range
3502
3575
  - [ ] All mechanics function correctly
3503
3576
  - [ ] Difficulty feels appropriate for level category
@@ -3505,6 +3578,7 @@ Difficulty
3505
3578
  - [ ] No exploits or sequence breaks (unless intended)
3506
3579
 
3507
3580
  **Player Experience Testing:**
3581
+
3508
3582
  - [ ] Tutorial levels teach effectively
3509
3583
  - [ ] Challenge feels fair and rewarding
3510
3584
  - [ ] Flow and pacing maintain engagement
@@ -3513,12 +3587,14 @@ Difficulty
3513
3587
  ### Balance Validation
3514
3588
 
3515
3589
  **Metrics Collection:**
3590
+
3516
3591
  - Completion rate: Target {{completion_percentage}}%
3517
3592
  - Average completion time: {{target_time}} ± {{variance}}
3518
3593
  - Death count per level: <{{max_deaths}}
3519
3594
  - Collectible discovery rate: {{discovery_percentage}}%
3520
3595
 
3521
3596
  **Iteration Guidelines:**
3597
+
3522
3598
  - Adjustment criteria: {{criteria_for_changes}}
3523
3599
  - Testing sample size: {{minimum_testers}}
3524
3600
  - Validation period: {{testing_duration}}
@@ -3530,12 +3606,14 @@ Difficulty
3530
3606
  ### Design Phase
3531
3607
 
3532
3608
  **Concept Development:**
3609
+
3533
3610
  1. Define level purpose and goals
3534
3611
  2. Create rough layout sketch
3535
3612
  3. Identify key mechanics and challenges
3536
3613
  4. Estimate difficulty and duration
3537
3614
 
3538
3615
  **Documentation Requirements:**
3616
+
3539
3617
  - Level design brief
3540
3618
  - Layout diagrams
3541
3619
  - Mechanic integration notes
@@ -3544,6 +3622,7 @@ Difficulty
3544
3622
  ### Implementation Phase
3545
3623
 
3546
3624
  **Technical Implementation:**
3625
+
3547
3626
  1. Create level data file
3548
3627
  2. Build tilemap and layout
3549
3628
  3. Place entities and objects
@@ -3551,6 +3630,7 @@ Difficulty
3551
3630
  5. Integrate audio and visual effects
3552
3631
 
3553
3632
  **Quality Assurance:**
3633
+
3554
3634
  1. Automated testing execution
3555
3635
  2. Internal playtesting
3556
3636
  3. Performance validation
@@ -3559,12 +3639,14 @@ Difficulty
3559
3639
  ### Integration Phase
3560
3640
 
3561
3641
  **Game Integration:**
3642
+
3562
3643
  1. Level progression integration
3563
3644
  2. Save system compatibility
3564
3645
  3. Analytics integration
3565
3646
  4. Achievement system integration
3566
3647
 
3567
3648
  **Final Validation:**
3649
+
3568
3650
  1. Full game context testing
3569
3651
  2. Performance regression testing
3570
3652
  3. Platform compatibility verification
@@ -3575,18 +3657,21 @@ Difficulty
3575
3657
  [[LLM: Define how to measure level design success]]
3576
3658
 
3577
3659
  **Player Engagement:**
3660
+
3578
3661
  - Level completion rate: {{target_rate}}%
3579
3662
  - Replay rate: {{replay_target}}%
3580
3663
  - Time spent per level: {{engagement_time}}
3581
3664
  - Player satisfaction scores: {{satisfaction_target}}/10
3582
3665
 
3583
3666
  **Technical Performance:**
3667
+
3584
3668
  - Frame rate consistency: {{fps_consistency}}%
3585
3669
  - Loading time compliance: {{load_compliance}}%
3586
3670
  - Memory usage efficiency: {{memory_efficiency}}%
3587
3671
  - Crash rate: <{{crash_threshold}}%
3588
3672
 
3589
3673
  **Design Quality:**
3674
+
3590
3675
  - Difficulty curve adherence: {{curve_accuracy}}
3591
3676
  - Mechanic integration effectiveness: {{integration_score}}
3592
3677
  - Player guidance clarity: {{guidance_score}}
@@ -3656,11 +3741,13 @@ This brief is typically created early in the ideation process, often after brain
3656
3741
  [[LLM: List the 3-5 most important gameplay mechanics that define the player experience]]
3657
3742
 
3658
3743
  **Core Mechanic 1: {{mechanic_name}}**
3744
+
3659
3745
  - **Description:** {{how_it_works}}
3660
3746
  - **Player Value:** {{why_its_fun}}
3661
3747
  - **Implementation Scope:** {{complexity_estimate}}
3662
3748
 
3663
3749
  **Core Mechanic 2: {{mechanic_name}}**
3750
+
3664
3751
  - **Description:** {{how_it_works}}
3665
3752
  - **Player Value:** {{why_its_fun}}
3666
3753
  - **Implementation Scope:** {{complexity_estimate}}
@@ -3687,10 +3774,12 @@ This brief is typically created early in the ideation process, often after brain
3687
3774
  ### Technical Constraints
3688
3775
 
3689
3776
  **Platform Requirements:**
3777
+
3690
3778
  - Primary: {{platform_1}} - {{requirements}}
3691
3779
  - Secondary: {{platform_2}} - {{requirements}}
3692
3780
 
3693
3781
  **Technical Specifications:**
3782
+
3694
3783
  - Engine: Phaser 3 + TypeScript
3695
3784
  - Performance Target: {{fps_target}} FPS on {{target_device}}
3696
3785
  - Memory Budget: <{{memory_limit}}MB
@@ -3721,6 +3810,7 @@ This brief is typically created early in the ideation process, often after brain
3721
3810
  ### Inspiration Games
3722
3811
 
3723
3812
  **Primary References:**
3813
+
3724
3814
  1. **{{reference_game_1}}** - {{what_we_learn_from_it}}
3725
3815
  2. **{{reference_game_2}}** - {{what_we_learn_from_it}}
3726
3816
  3. **{{reference_game_3}}** - {{what_we_learn_from_it}}
@@ -3728,6 +3818,7 @@ This brief is typically created early in the ideation process, often after brain
3728
3818
  ### Competitive Analysis
3729
3819
 
3730
3820
  **Direct Competitors:**
3821
+
3731
3822
  - {{competitor_1}}: {{strengths_and_weaknesses}}
3732
3823
  - {{competitor_2}}: {{strengths_and_weaknesses}}
3733
3824
 
@@ -3753,13 +3844,16 @@ This brief is typically created early in the ideation process, often after brain
3753
3844
  ### Content Categories
3754
3845
 
3755
3846
  **Core Content:**
3847
+
3756
3848
  - {{content_type_1}}: {{quantity_and_description}}
3757
3849
  - {{content_type_2}}: {{quantity_and_description}}
3758
3850
 
3759
3851
  **Optional Content:**
3852
+
3760
3853
  - {{optional_content_type}}: {{quantity_and_description}}
3761
3854
 
3762
3855
  **Replay Elements:**
3856
+
3763
3857
  - {{replayability_features}}
3764
3858
 
3765
3859
  ### Difficulty and Accessibility
@@ -3797,23 +3891,23 @@ This brief is typically created early in the ideation process, often after brain
3797
3891
 
3798
3892
  ### Technical Risks
3799
3893
 
3800
- | Risk | Probability | Impact | Mitigation Strategy |
3801
- |------|-------------|--------|-------------------|
3802
- | {{technical_risk_1}} | {{high|med|low}} | {{high|med|low}} | {{mitigation_approach}} |
3803
- | {{technical_risk_2}} | {{high|med|low}} | {{high|med|low}} | {{mitigation_approach}} |
3894
+ | Risk | Probability | Impact | Mitigation Strategy |
3895
+ | -------------------- | ----------- | ------ | ------------------- | ------ | --- | ----- | ----------------------- |
3896
+ | {{technical_risk_1}} | {{high | med | low}} | {{high | med | low}} | {{mitigation_approach}} |
3897
+ | {{technical_risk_2}} | {{high | med | low}} | {{high | med | low}} | {{mitigation_approach}} |
3804
3898
 
3805
3899
  ### Design Risks
3806
3900
 
3807
- | Risk | Probability | Impact | Mitigation Strategy |
3808
- |------|-------------|--------|-------------------|
3809
- | {{design_risk_1}} | {{high|med|low}} | {{high|med|low}} | {{mitigation_approach}} |
3810
- | {{design_risk_2}} | {{high|med|low}} | {{high|med|low}} | {{mitigation_approach}} |
3901
+ | Risk | Probability | Impact | Mitigation Strategy |
3902
+ | ----------------- | ----------- | ------ | ------------------- | ------ | --- | ----- | ----------------------- |
3903
+ | {{design_risk_1}} | {{high | med | low}} | {{high | med | low}} | {{mitigation_approach}} |
3904
+ | {{design_risk_2}} | {{high | med | low}} | {{high | med | low}} | {{mitigation_approach}} |
3811
3905
 
3812
3906
  ### Market Risks
3813
3907
 
3814
- | Risk | Probability | Impact | Mitigation Strategy |
3815
- |------|-------------|--------|-------------------|
3816
- | {{market_risk_1}} | {{high|med|low}} | {{high|med|low}} | {{mitigation_approach}} |
3908
+ | Risk | Probability | Impact | Mitigation Strategy |
3909
+ | ----------------- | ----------- | ------ | ------------------- | ------ | --- | ----- | ----------------------- |
3910
+ | {{market_risk_1}} | {{high | med | low}} | {{high | med | low}} | {{mitigation_approach}} |
3817
3911
 
3818
3912
  ## Success Criteria
3819
3913
 
@@ -3822,11 +3916,13 @@ This brief is typically created early in the ideation process, often after brain
3822
3916
  ### Player Experience Metrics
3823
3917
 
3824
3918
  **Engagement Goals:**
3919
+
3825
3920
  - Tutorial completion rate: >{{percentage}}%
3826
3921
  - Average session length: {{duration}} minutes
3827
3922
  - Player retention: D1 {{d1}}%, D7 {{d7}}%, D30 {{d30}}%
3828
3923
 
3829
3924
  **Quality Benchmarks:**
3925
+
3830
3926
  - Player satisfaction: >{{rating}}/10
3831
3927
  - Completion rate: >{{percentage}}%
3832
3928
  - Technical performance: {{fps_target}} FPS consistent
@@ -3834,11 +3930,13 @@ This brief is typically created early in the ideation process, often after brain
3834
3930
  ### Development Metrics
3835
3931
 
3836
3932
  **Technical Targets:**
3933
+
3837
3934
  - Zero critical bugs at launch
3838
3935
  - Performance targets met on all platforms
3839
3936
  - Load times under {{seconds}}s
3840
3937
 
3841
3938
  **Process Goals:**
3939
+
3842
3940
  - Development timeline adherence
3843
3941
  - Feature scope completion
3844
3942
  - Quality assurance standards
@@ -3848,6 +3946,7 @@ This brief is typically created early in the ideation process, often after brain
3848
3946
  ### Business Metrics
3849
3947
 
3850
3948
  **Commercial Goals:**
3949
+
3851
3950
  - {{revenue_target}} in first {{time_period}}
3852
3951
  - {{user_acquisition_target}} players in first {{time_period}}
3853
3952
  - {{retention_target}} monthly active users
@@ -3867,16 +3966,19 @@ This brief is typically created early in the ideation process, often after brain
3867
3966
  ### Development Roadmap
3868
3967
 
3869
3968
  **Phase 1: Pre-Production** ({{duration}})
3969
+
3870
3970
  - Detailed Game Design Document creation
3871
3971
  - Technical architecture planning
3872
3972
  - Art style exploration and pipeline setup
3873
3973
 
3874
3974
  **Phase 2: Prototype** ({{duration}})
3975
+
3875
3976
  - Core mechanic implementation
3876
3977
  - Technical proof of concept
3877
3978
  - Initial playtesting and iteration
3878
3979
 
3879
3980
  **Phase 3: Production** ({{duration}})
3981
+
3880
3982
  - Full feature development
3881
3983
  - Content creation and integration
3882
3984
  - Comprehensive testing and optimization
@@ -3884,6 +3986,7 @@ This brief is typically created early in the ideation process, often after brain
3884
3986
  ### Documentation Pipeline
3885
3987
 
3886
3988
  **Required Documents:**
3989
+
3887
3990
  1. Game Design Document (GDD) - {{target_completion}}
3888
3991
  2. Technical Architecture Document - {{target_completion}}
3889
3992
  3. Art Style Guide - {{target_completion}}
@@ -3892,10 +3995,12 @@ This brief is typically created early in the ideation process, often after brain
3892
3995
  ### Validation Plan
3893
3996
 
3894
3997
  **Concept Testing:**
3998
+
3895
3999
  - {{validation_method_1}} - {{timeline}}
3896
4000
  - {{validation_method_2}} - {{timeline}}
3897
4001
 
3898
4002
  **Prototype Testing:**
4003
+
3899
4004
  - {{testing_approach}} - {{timeline}}
3900
4005
  - {{feedback_collection_method}} - {{timeline}}
3901
4006
 
@@ -3927,6 +4032,7 @@ This brief is typically created early in the ideation process, often after brain
3927
4032
  ## Document Completeness
3928
4033
 
3929
4034
  ### Executive Summary
4035
+
3930
4036
  - [ ] **Core Concept** - Game concept is clearly explained in 2-3 sentences
3931
4037
  - [ ] **Target Audience** - Primary and secondary audiences defined with demographics
3932
4038
  - [ ] **Platform Requirements** - Technical platforms and requirements specified
@@ -3934,6 +4040,7 @@ This brief is typically created early in the ideation process, often after brain
3934
4040
  - [ ] **Technical Foundation** - Phaser 3 + TypeScript requirements confirmed
3935
4041
 
3936
4042
  ### Game Design Foundation
4043
+
3937
4044
  - [ ] **Game Pillars** - 3-5 core design pillars defined and actionable
3938
4045
  - [ ] **Core Gameplay Loop** - 30-60 second loop documented with specific timings
3939
4046
  - [ ] **Win/Loss Conditions** - Clear victory and failure states defined
@@ -3943,6 +4050,7 @@ This brief is typically created early in the ideation process, often after brain
3943
4050
  ## Gameplay Mechanics
3944
4051
 
3945
4052
  ### Core Mechanics Documentation
4053
+
3946
4054
  - [ ] **Primary Mechanics** - 3-5 core mechanics detailed with implementation notes
3947
4055
  - [ ] **Mechanic Integration** - How mechanics work together is clear
3948
4056
  - [ ] **Player Input** - All input methods specified for each platform
@@ -3950,6 +4058,7 @@ This brief is typically created early in the ideation process, often after brain
3950
4058
  - [ ] **Performance Impact** - Performance considerations for each mechanic noted
3951
4059
 
3952
4060
  ### Controls and Interaction
4061
+
3953
4062
  - [ ] **Multi-Platform Controls** - Desktop, mobile, and gamepad controls defined
3954
4063
  - [ ] **Input Responsiveness** - Requirements for responsive game feel specified
3955
4064
  - [ ] **Accessibility Options** - Control customization and accessibility considered
@@ -3959,6 +4068,7 @@ This brief is typically created early in the ideation process, often after brain
3959
4068
  ## Progression and Balance
3960
4069
 
3961
4070
  ### Player Progression
4071
+
3962
4072
  - [ ] **Progression Type** - Linear, branching, or metroidvania approach defined
3963
4073
  - [ ] **Key Milestones** - Major progression points documented
3964
4074
  - [ ] **Unlock System** - What players unlock and when is specified
@@ -3966,6 +4076,7 @@ This brief is typically created early in the ideation process, often after brain
3966
4076
  - [ ] **Player Agency** - Meaningful player choices and consequences defined
3967
4077
 
3968
4078
  ### Game Balance
4079
+
3969
4080
  - [ ] **Balance Parameters** - Numeric values for key game systems provided
3970
4081
  - [ ] **Difficulty Curve** - Appropriate challenge progression designed
3971
4082
  - [ ] **Economy Design** - Resource systems balanced for engagement
@@ -3975,6 +4086,7 @@ This brief is typically created early in the ideation process, often after brain
3975
4086
  ## Level Design Framework
3976
4087
 
3977
4088
  ### Level Structure
4089
+
3978
4090
  - [ ] **Level Types** - Different level categories defined with purposes
3979
4091
  - [ ] **Level Progression** - How players move through levels specified
3980
4092
  - [ ] **Duration Targets** - Expected play time for each level type
@@ -3982,6 +4094,7 @@ This brief is typically created early in the ideation process, often after brain
3982
4094
  - [ ] **Replay Value** - Elements that encourage repeated play designed
3983
4095
 
3984
4096
  ### Content Guidelines
4097
+
3985
4098
  - [ ] **Level Creation Rules** - Clear guidelines for level designers
3986
4099
  - [ ] **Mechanic Introduction** - How new mechanics are taught in levels
3987
4100
  - [ ] **Pacing Variety** - Mix of action, puzzle, and rest moments planned
@@ -3991,6 +4104,7 @@ This brief is typically created early in the ideation process, often after brain
3991
4104
  ## Technical Implementation Readiness
3992
4105
 
3993
4106
  ### Performance Requirements
4107
+
3994
4108
  - [ ] **Frame Rate Targets** - 60 FPS target with minimum acceptable rates
3995
4109
  - [ ] **Memory Budgets** - Maximum memory usage limits defined
3996
4110
  - [ ] **Load Time Goals** - Acceptable loading times for different content
@@ -3998,6 +4112,7 @@ This brief is typically created early in the ideation process, often after brain
3998
4112
  - [ ] **Scalability Plan** - How performance scales across different devices
3999
4113
 
4000
4114
  ### Platform Specifications
4115
+
4001
4116
  - [ ] **Desktop Requirements** - Minimum and recommended PC/Mac specs
4002
4117
  - [ ] **Mobile Optimization** - iOS and Android specific requirements
4003
4118
  - [ ] **Browser Compatibility** - Supported browsers and versions listed
@@ -4005,6 +4120,7 @@ This brief is typically created early in the ideation process, often after brain
4005
4120
  - [ ] **Update Strategy** - Plan for post-launch updates and patches
4006
4121
 
4007
4122
  ### Asset Requirements
4123
+
4008
4124
  - [ ] **Art Style Definition** - Clear visual style with reference materials
4009
4125
  - [ ] **Asset Specifications** - Technical requirements for all asset types
4010
4126
  - [ ] **Audio Requirements** - Music and sound effect specifications
@@ -4014,6 +4130,7 @@ This brief is typically created early in the ideation process, often after brain
4014
4130
  ## Development Planning
4015
4131
 
4016
4132
  ### Implementation Phases
4133
+
4017
4134
  - [ ] **Phase Breakdown** - Development divided into logical phases
4018
4135
  - [ ] **Epic Definitions** - Major development epics identified
4019
4136
  - [ ] **Dependency Mapping** - Prerequisites between features documented
@@ -4021,6 +4138,7 @@ This brief is typically created early in the ideation process, often after brain
4021
4138
  - [ ] **Milestone Planning** - Key deliverables and deadlines established
4022
4139
 
4023
4140
  ### Team Requirements
4141
+
4024
4142
  - [ ] **Role Definitions** - Required team roles and responsibilities
4025
4143
  - [ ] **Skill Requirements** - Technical skills needed for implementation
4026
4144
  - [ ] **Resource Allocation** - Time and effort estimates for major features
@@ -4030,6 +4148,7 @@ This brief is typically created early in the ideation process, often after brain
4030
4148
  ## Quality Assurance
4031
4149
 
4032
4150
  ### Success Metrics
4151
+
4033
4152
  - [ ] **Technical Metrics** - Measurable technical performance goals
4034
4153
  - [ ] **Gameplay Metrics** - Player engagement and retention targets
4035
4154
  - [ ] **Quality Benchmarks** - Standards for bug rates and polish level
@@ -4037,6 +4156,7 @@ This brief is typically created early in the ideation process, often after brain
4037
4156
  - [ ] **Business Objectives** - Commercial or project success criteria
4038
4157
 
4039
4158
  ### Testing Strategy
4159
+
4040
4160
  - [ ] **Playtesting Plan** - How and when player feedback will be gathered
4041
4161
  - [ ] **Technical Testing** - Performance and compatibility testing approach
4042
4162
  - [ ] **Balance Validation** - Methods for confirming game balance
@@ -4046,6 +4166,7 @@ This brief is typically created early in the ideation process, often after brain
4046
4166
  ## Documentation Quality
4047
4167
 
4048
4168
  ### Clarity and Completeness
4169
+
4049
4170
  - [ ] **Clear Writing** - All sections are well-written and understandable
4050
4171
  - [ ] **Complete Coverage** - No major game systems left undefined
4051
4172
  - [ ] **Actionable Detail** - Enough detail for developers to create implementation stories
@@ -4053,6 +4174,7 @@ This brief is typically created early in the ideation process, often after brain
4053
4174
  - [ ] **Reference Materials** - Links to inspiration, research, and additional resources
4054
4175
 
4055
4176
  ### Maintainability
4177
+
4056
4178
  - [ ] **Version Control** - Change log established for tracking revisions
4057
4179
  - [ ] **Update Process** - Plan for maintaining document during development
4058
4180
  - [ ] **Team Access** - All team members can access and reference the document
@@ -4062,6 +4184,7 @@ This brief is typically created early in the ideation process, often after brain
4062
4184
  ## Stakeholder Alignment
4063
4185
 
4064
4186
  ### Team Understanding
4187
+
4065
4188
  - [ ] **Shared Vision** - All team members understand and agree with the game vision
4066
4189
  - [ ] **Role Clarity** - Each team member understands their contribution
4067
4190
  - [ ] **Decision Framework** - Process for making design decisions during development
@@ -4069,6 +4192,7 @@ This brief is typically created early in the ideation process, often after brain
4069
4192
  - [ ] **Communication Channels** - Regular meetings and feedback sessions planned
4070
4193
 
4071
4194
  ### External Validation
4195
+
4072
4196
  - [ ] **Market Validation** - Competitive analysis and market fit assessment
4073
4197
  - [ ] **Technical Validation** - Feasibility confirmed with technical team
4074
4198
  - [ ] **Resource Validation** - Required resources available and committed
@@ -4078,6 +4202,7 @@ This brief is typically created early in the ideation process, often after brain
4078
4202
  ## Final Readiness Assessment
4079
4203
 
4080
4204
  ### Implementation Preparedness
4205
+
4081
4206
  - [ ] **Story Creation Ready** - Document provides sufficient detail for story creation
4082
4207
  - [ ] **Architecture Alignment** - Game design aligns with technical capabilities
4083
4208
  - [ ] **Asset Production** - Asset requirements enable art and audio production
@@ -4085,6 +4210,7 @@ This brief is typically created early in the ideation process, often after brain
4085
4210
  - [ ] **Quality Assurance** - Testing and validation processes established
4086
4211
 
4087
4212
  ### Document Approval
4213
+
4088
4214
  - [ ] **Design Review Complete** - Document reviewed by all relevant stakeholders
4089
4215
  - [ ] **Technical Review Complete** - Technical feasibility confirmed
4090
4216
  - [ ] **Business Review Complete** - Project scope and goals approved
@@ -4187,7 +4313,7 @@ This architecture is designed to support the gameplay mechanics defined in the G
4187
4313
  │ ├── stories/ # Development stories
4188
4314
  │ └── architecture/ # Technical docs
4189
4315
  └── dist/ # Built game files
4190
- ```text
4316
+ ```
4191
4317
 
4192
4318
  ### Module Organization
4193
4319
 
@@ -4472,7 +4598,7 @@ const gameConfig: Phaser.Types.Core.GameConfig = {
4472
4598
  },
4473
4599
  // Additional configuration...
4474
4600
  };
4475
- ```text
4601
+ ```
4476
4602
 
4477
4603
  ### Game Balance Configuration
4478
4604
 
@@ -4673,6 +4799,7 @@ export const GameBalance = {
4673
4799
  ## Story Completeness
4674
4800
 
4675
4801
  ### Basic Story Elements
4802
+
4676
4803
  - [ ] **Story Title** - Clear, descriptive title that identifies the feature
4677
4804
  - [ ] **Epic Assignment** - Story is properly assigned to relevant epic
4678
4805
  - [ ] **Priority Level** - Appropriate priority assigned (High/Medium/Low)
@@ -4680,6 +4807,7 @@ export const GameBalance = {
4680
4807
  - [ ] **Description** - Clear, concise description of what needs to be implemented
4681
4808
 
4682
4809
  ### Game Design Alignment
4810
+
4683
4811
  - [ ] **GDD Reference** - Specific Game Design Document section referenced
4684
4812
  - [ ] **Game Mechanic Context** - Clear connection to game mechanics defined in GDD
4685
4813
  - [ ] **Player Experience Goal** - Describes the intended player experience
@@ -4689,6 +4817,7 @@ export const GameBalance = {
4689
4817
  ## Technical Specifications
4690
4818
 
4691
4819
  ### Architecture Compliance
4820
+
4692
4821
  - [ ] **File Organization** - Follows game architecture document structure
4693
4822
  - [ ] **Class Definitions** - TypeScript interfaces and classes are properly defined
4694
4823
  - [ ] **Integration Points** - Clear specification of how feature integrates with existing systems
@@ -4696,6 +4825,7 @@ export const GameBalance = {
4696
4825
  - [ ] **Dependencies** - All system dependencies clearly identified
4697
4826
 
4698
4827
  ### Phaser 3 Requirements
4828
+
4699
4829
  - [ ] **Scene Integration** - Specifies which scenes are affected and how
4700
4830
  - [ ] **Game Object Usage** - Proper use of Phaser 3 game objects and components
4701
4831
  - [ ] **Physics Integration** - Physics requirements specified if applicable
@@ -4703,6 +4833,7 @@ export const GameBalance = {
4703
4833
  - [ ] **Performance Considerations** - 60 FPS target and optimization requirements
4704
4834
 
4705
4835
  ### Code Quality Standards
4836
+
4706
4837
  - [ ] **TypeScript Strict Mode** - All code must comply with strict TypeScript
4707
4838
  - [ ] **Error Handling** - Error scenarios and handling requirements specified
4708
4839
  - [ ] **Memory Management** - Object pooling and cleanup requirements where needed
@@ -4712,6 +4843,7 @@ export const GameBalance = {
4712
4843
  ## Implementation Readiness
4713
4844
 
4714
4845
  ### Acceptance Criteria
4846
+
4715
4847
  - [ ] **Functional Requirements** - All functional acceptance criteria are specific and testable
4716
4848
  - [ ] **Technical Requirements** - Technical acceptance criteria are complete and verifiable
4717
4849
  - [ ] **Game Design Requirements** - Game-specific requirements match GDD specifications
@@ -4719,6 +4851,7 @@ export const GameBalance = {
4719
4851
  - [ ] **Completeness** - No acceptance criteria are vague or unmeasurable
4720
4852
 
4721
4853
  ### Implementation Tasks
4854
+
4722
4855
  - [ ] **Task Breakdown** - Story broken into specific, ordered implementation tasks
4723
4856
  - [ ] **Task Scope** - Each task is completable in 1-4 hours
4724
4857
  - [ ] **Task Clarity** - Each task has clear, actionable instructions
@@ -4726,6 +4859,7 @@ export const GameBalance = {
4726
4859
  - [ ] **Development Flow** - Tasks follow logical implementation order
4727
4860
 
4728
4861
  ### Dependencies
4862
+
4729
4863
  - [ ] **Story Dependencies** - All prerequisite stories identified with IDs
4730
4864
  - [ ] **Technical Dependencies** - Required systems and files identified
4731
4865
  - [ ] **Asset Dependencies** - All needed assets specified with locations
@@ -4735,6 +4869,7 @@ export const GameBalance = {
4735
4869
  ## Testing Requirements
4736
4870
 
4737
4871
  ### Test Coverage
4872
+
4738
4873
  - [ ] **Unit Test Requirements** - Specific unit test files and scenarios defined
4739
4874
  - [ ] **Integration Test Cases** - Integration testing with other game systems specified
4740
4875
  - [ ] **Manual Test Cases** - Game-specific manual testing procedures defined
@@ -4742,6 +4877,7 @@ export const GameBalance = {
4742
4877
  - [ ] **Edge Case Testing** - Edge cases and error conditions covered
4743
4878
 
4744
4879
  ### Test Implementation
4880
+
4745
4881
  - [ ] **Test File Paths** - Exact test file locations specified
4746
4882
  - [ ] **Test Scenarios** - All test scenarios are complete and executable
4747
4883
  - [ ] **Expected Behaviors** - Clear expected outcomes for all tests defined
@@ -4751,6 +4887,7 @@ export const GameBalance = {
4751
4887
  ## Game-Specific Quality
4752
4888
 
4753
4889
  ### Gameplay Implementation
4890
+
4754
4891
  - [ ] **Mechanic Accuracy** - Implementation matches GDD mechanic specifications
4755
4892
  - [ ] **Player Controls** - Input handling requirements are complete
4756
4893
  - [ ] **Game Feel** - Requirements for juice, feedback, and responsiveness specified
@@ -4758,6 +4895,7 @@ export const GameBalance = {
4758
4895
  - [ ] **State Management** - Game state changes and persistence requirements defined
4759
4896
 
4760
4897
  ### User Experience
4898
+
4761
4899
  - [ ] **UI Requirements** - User interface elements and behaviors specified
4762
4900
  - [ ] **Audio Integration** - Sound effect and music requirements defined
4763
4901
  - [ ] **Visual Feedback** - Animation and visual effect requirements specified
@@ -4765,6 +4903,7 @@ export const GameBalance = {
4765
4903
  - [ ] **Error Recovery** - User-facing error handling and recovery specified
4766
4904
 
4767
4905
  ### Performance Optimization
4906
+
4768
4907
  - [ ] **Frame Rate Targets** - Specific FPS requirements for different platforms
4769
4908
  - [ ] **Memory Usage** - Memory consumption limits and monitoring requirements
4770
4909
  - [ ] **Asset Optimization** - Texture, audio, and data optimization requirements
@@ -4774,6 +4913,7 @@ export const GameBalance = {
4774
4913
  ## Documentation and Communication
4775
4914
 
4776
4915
  ### Story Documentation
4916
+
4777
4917
  - [ ] **Implementation Notes** - Additional context and implementation guidance provided
4778
4918
  - [ ] **Design Decisions** - Key design choices documented with rationale
4779
4919
  - [ ] **Future Considerations** - Potential future enhancements or modifications noted
@@ -4781,6 +4921,7 @@ export const GameBalance = {
4781
4921
  - [ ] **Reference Materials** - Links to relevant GDD sections and architecture docs
4782
4922
 
4783
4923
  ### Developer Handoff
4924
+
4784
4925
  - [ ] **Immediate Actionability** - Developer can start implementation without additional questions
4785
4926
  - [ ] **Complete Context** - All necessary context provided within the story
4786
4927
  - [ ] **Clear Boundaries** - What is and isn't included in the story scope is clear
@@ -4790,6 +4931,7 @@ export const GameBalance = {
4790
4931
  ## Final Validation
4791
4932
 
4792
4933
  ### Story Readiness
4934
+
4793
4935
  - [ ] **No Ambiguity** - No sections require interpretation or additional design decisions
4794
4936
  - [ ] **Technical Completeness** - All technical requirements are specified and actionable
4795
4937
  - [ ] **Scope Appropriateness** - Story scope matches assigned story points
@@ -4797,6 +4939,7 @@ export const GameBalance = {
4797
4939
  - [ ] **Review Completion** - Story has been reviewed for completeness and accuracy
4798
4940
 
4799
4941
  ### Implementation Preparedness
4942
+
4800
4943
  - [ ] **Environment Ready** - Development environment requirements specified
4801
4944
  - [ ] **Resources Available** - All required resources (assets, docs, dependencies) accessible
4802
4945
  - [ ] **Testing Prepared** - Testing environment and data requirements specified
@@ -4825,6 +4968,7 @@ This document establishes coding standards, architectural patterns, and developm
4825
4968
  ### Strict Mode Configuration
4826
4969
 
4827
4970
  **Required tsconfig.json settings:**
4971
+
4828
4972
  ```json
4829
4973
  {
4830
4974
  "compilerOptions": {
@@ -4838,11 +4982,12 @@ This document establishes coding standards, architectural patterns, and developm
4838
4982
  "exactOptionalPropertyTypes": true
4839
4983
  }
4840
4984
  }
4841
- ```text
4985
+ ```
4842
4986
 
4843
4987
  ### Type Definitions
4844
4988
 
4845
4989
  **Game Object Interfaces:**
4990
+
4846
4991
  ```typescript
4847
4992
  // Core game entity interface
4848
4993
  interface GameEntity {
@@ -4866,9 +5011,10 @@ interface GameSystem {
4866
5011
  update(delta: number): void;
4867
5012
  shutdown(): void;
4868
5013
  }
4869
- ```text
5014
+ ```
4870
5015
 
4871
5016
  **Scene Data Interfaces:**
5017
+
4872
5018
  ```typescript
4873
5019
  // Scene transition data
4874
5020
  interface SceneData {
@@ -4886,28 +5032,32 @@ interface GameState {
4886
5032
  interface GameSettings {
4887
5033
  musicVolume: number;
4888
5034
  sfxVolume: number;
4889
- difficulty: 'easy' | 'normal' | 'hard';
5035
+ difficulty: "easy" | "normal" | "hard";
4890
5036
  controls: ControlScheme;
4891
5037
  }
4892
- ```text
5038
+ ```
4893
5039
 
4894
5040
  ### Naming Conventions
4895
5041
 
4896
5042
  **Classes and Interfaces:**
5043
+
4897
5044
  - PascalCase for classes: `PlayerSprite`, `GameManager`, `AudioSystem`
4898
5045
  - PascalCase with 'I' prefix for interfaces: `IGameEntity`, `IPlayerController`
4899
5046
  - Descriptive names that indicate purpose: `CollisionManager` not `CM`
4900
5047
 
4901
5048
  **Methods and Variables:**
5049
+
4902
5050
  - camelCase for methods and variables: `updatePosition()`, `playerSpeed`
4903
5051
  - Descriptive names: `calculateDamage()` not `calcDmg()`
4904
5052
  - Boolean variables with is/has/can prefix: `isActive`, `hasCollision`, `canMove`
4905
5053
 
4906
5054
  **Constants:**
5055
+
4907
5056
  - UPPER_SNAKE_CASE for constants: `MAX_PLAYER_SPEED`, `DEFAULT_VOLUME`
4908
5057
  - Group related constants in enums or const objects
4909
5058
 
4910
5059
  **Files and Directories:**
5060
+
4911
5061
  - kebab-case for file names: `player-controller.ts`, `audio-manager.ts`
4912
5062
  - PascalCase for scene files: `MenuScene.ts`, `GameScene.ts`
4913
5063
 
@@ -4916,88 +5066,91 @@ interface GameSettings {
4916
5066
  ### Scene Organization
4917
5067
 
4918
5068
  **Scene Lifecycle Management:**
5069
+
4919
5070
  ```typescript
4920
5071
  class GameScene extends Phaser.Scene {
4921
5072
  private gameManager!: GameManager;
4922
5073
  private inputManager!: InputManager;
4923
-
5074
+
4924
5075
  constructor() {
4925
- super({ key: 'GameScene' });
5076
+ super({ key: "GameScene" });
4926
5077
  }
4927
-
5078
+
4928
5079
  preload(): void {
4929
5080
  // Load only scene-specific assets
4930
- this.load.image('player', 'assets/player.png');
5081
+ this.load.image("player", "assets/player.png");
4931
5082
  }
4932
-
5083
+
4933
5084
  create(data: SceneData): void {
4934
5085
  // Initialize game systems
4935
5086
  this.gameManager = new GameManager(this);
4936
5087
  this.inputManager = new InputManager(this);
4937
-
5088
+
4938
5089
  // Set up scene-specific logic
4939
5090
  this.setupGameObjects();
4940
5091
  this.setupEventListeners();
4941
5092
  }
4942
-
5093
+
4943
5094
  update(time: number, delta: number): void {
4944
5095
  // Update all game systems
4945
5096
  this.gameManager.update(delta);
4946
5097
  this.inputManager.update(delta);
4947
5098
  }
4948
-
5099
+
4949
5100
  shutdown(): void {
4950
5101
  // Clean up resources
4951
5102
  this.gameManager.destroy();
4952
5103
  this.inputManager.destroy();
4953
-
5104
+
4954
5105
  // Remove event listeners
4955
- this.events.off('*');
5106
+ this.events.off("*");
4956
5107
  }
4957
5108
  }
4958
5109
  ```
4959
5110
 
4960
5111
  **Scene Transitions:**
5112
+
4961
5113
  ```typescript
4962
5114
  // Proper scene transitions with data
4963
- this.scene.start('NextScene', {
5115
+ this.scene.start("NextScene", {
4964
5116
  playerScore: this.playerScore,
4965
- currentLevel: this.currentLevel + 1
5117
+ currentLevel: this.currentLevel + 1,
4966
5118
  });
4967
5119
 
4968
5120
  // Scene overlays for UI
4969
- this.scene.launch('PauseMenuScene');
5121
+ this.scene.launch("PauseMenuScene");
4970
5122
  this.scene.pause();
4971
- ```text
5123
+ ```
4972
5124
 
4973
5125
  ### Game Object Patterns
4974
5126
 
4975
5127
  **Component-Based Architecture:**
5128
+
4976
5129
  ```typescript
4977
5130
  // Base game entity
4978
5131
  abstract class GameEntity extends Phaser.GameObjects.Sprite {
4979
5132
  protected components: Map<string, GameComponent> = new Map();
4980
-
5133
+
4981
5134
  constructor(scene: Phaser.Scene, x: number, y: number, texture: string) {
4982
5135
  super(scene, x, y, texture);
4983
5136
  scene.add.existing(this);
4984
5137
  }
4985
-
5138
+
4986
5139
  addComponent<T extends GameComponent>(component: T): T {
4987
5140
  this.components.set(component.name, component);
4988
5141
  return component;
4989
5142
  }
4990
-
5143
+
4991
5144
  getComponent<T extends GameComponent>(name: string): T | undefined {
4992
5145
  return this.components.get(name) as T;
4993
5146
  }
4994
-
5147
+
4995
5148
  update(delta: number): void {
4996
- this.components.forEach(component => component.update(delta));
5149
+ this.components.forEach((component) => component.update(delta));
4997
5150
  }
4998
-
5151
+
4999
5152
  destroy(): void {
5000
- this.components.forEach(component => component.destroy());
5153
+ this.components.forEach((component) => component.destroy());
5001
5154
  this.components.clear();
5002
5155
  super.destroy();
5003
5156
  }
@@ -5007,65 +5160,67 @@ abstract class GameEntity extends Phaser.GameObjects.Sprite {
5007
5160
  class Player extends GameEntity {
5008
5161
  private movement!: MovementComponent;
5009
5162
  private health!: HealthComponent;
5010
-
5163
+
5011
5164
  constructor(scene: Phaser.Scene, x: number, y: number) {
5012
- super(scene, x, y, 'player');
5013
-
5165
+ super(scene, x, y, "player");
5166
+
5014
5167
  this.movement = this.addComponent(new MovementComponent(this));
5015
5168
  this.health = this.addComponent(new HealthComponent(this, 100));
5016
5169
  }
5017
5170
  }
5018
- ```text
5171
+ ```
5019
5172
 
5020
5173
  ### System Management
5021
5174
 
5022
5175
  **Singleton Managers:**
5176
+
5023
5177
  ```typescript
5024
5178
  class GameManager {
5025
5179
  private static instance: GameManager;
5026
5180
  private scene: Phaser.Scene;
5027
5181
  private gameState: GameState;
5028
-
5182
+
5029
5183
  constructor(scene: Phaser.Scene) {
5030
5184
  if (GameManager.instance) {
5031
- throw new Error('GameManager already exists!');
5185
+ throw new Error("GameManager already exists!");
5032
5186
  }
5033
-
5187
+
5034
5188
  this.scene = scene;
5035
5189
  this.gameState = this.loadGameState();
5036
5190
  GameManager.instance = this;
5037
5191
  }
5038
-
5192
+
5039
5193
  static getInstance(): GameManager {
5040
5194
  if (!GameManager.instance) {
5041
- throw new Error('GameManager not initialized!');
5195
+ throw new Error("GameManager not initialized!");
5042
5196
  }
5043
5197
  return GameManager.instance;
5044
5198
  }
5045
-
5199
+
5046
5200
  update(delta: number): void {
5047
5201
  // Update game logic
5048
5202
  }
5049
-
5203
+
5050
5204
  destroy(): void {
5051
5205
  GameManager.instance = null!;
5052
5206
  }
5053
5207
  }
5054
- ```text
5208
+ ```
5055
5209
 
5056
5210
  ## Performance Optimization
5057
5211
 
5058
5212
  ### Object Pooling
5059
5213
 
5060
5214
  **Required for High-Frequency Objects:**
5215
+
5061
5216
  ```typescript
5062
5217
  class BulletPool {
5063
5218
  private pool: Bullet[] = [];
5064
5219
  private scene: Phaser.Scene;
5065
-
5220
+
5066
5221
  constructor(scene: Phaser.Scene, initialSize: number = 50) {
5067
5222
  this.scene = scene;
5068
-
5223
+
5069
5224
  // Pre-create bullets
5070
5225
  for (let i = 0; i < initialSize; i++) {
5071
5226
  const bullet = new Bullet(scene, 0, 0);
@@ -5074,20 +5229,20 @@ class BulletPool {
5074
5229
  this.pool.push(bullet);
5075
5230
  }
5076
5231
  }
5077
-
5232
+
5078
5233
  getBullet(): Bullet | null {
5079
- const bullet = this.pool.find(b => !b.active);
5234
+ const bullet = this.pool.find((b) => !b.active);
5080
5235
  if (bullet) {
5081
5236
  bullet.setActive(true);
5082
5237
  bullet.setVisible(true);
5083
5238
  return bullet;
5084
5239
  }
5085
-
5240
+
5086
5241
  // Pool exhausted - create new bullet
5087
- console.warn('Bullet pool exhausted, creating new bullet');
5242
+ console.warn("Bullet pool exhausted, creating new bullet");
5088
5243
  return new Bullet(this.scene, 0, 0);
5089
5244
  }
5090
-
5245
+
5091
5246
  releaseBullet(bullet: Bullet): void {
5092
5247
  bullet.setActive(false);
5093
5248
  bullet.setVisible(false);
@@ -5099,45 +5254,47 @@ class BulletPool {
5099
5254
  ### Frame Rate Optimization
5100
5255
 
5101
5256
  **Performance Monitoring:**
5257
+
5102
5258
  ```typescript
5103
5259
  class PerformanceMonitor {
5104
5260
  private frameCount: number = 0;
5105
5261
  private lastTime: number = 0;
5106
5262
  private frameRate: number = 60;
5107
-
5263
+
5108
5264
  update(time: number): void {
5109
5265
  this.frameCount++;
5110
-
5266
+
5111
5267
  if (time - this.lastTime >= 1000) {
5112
5268
  this.frameRate = this.frameCount;
5113
5269
  this.frameCount = 0;
5114
5270
  this.lastTime = time;
5115
-
5271
+
5116
5272
  if (this.frameRate < 55) {
5117
5273
  console.warn(`Low frame rate detected: ${this.frameRate} FPS`);
5118
5274
  this.optimizePerformance();
5119
5275
  }
5120
5276
  }
5121
5277
  }
5122
-
5278
+
5123
5279
  private optimizePerformance(): void {
5124
5280
  // Reduce particle counts, disable effects, etc.
5125
5281
  }
5126
5282
  }
5127
- ```text
5283
+ ```
5128
5284
 
5129
5285
  **Update Loop Optimization:**
5286
+
5130
5287
  ```typescript
5131
5288
  // Avoid expensive operations in update loops
5132
5289
  class GameScene extends Phaser.Scene {
5133
5290
  private updateTimer: number = 0;
5134
5291
  private readonly UPDATE_INTERVAL = 100; // ms
5135
-
5292
+
5136
5293
  update(time: number, delta: number): void {
5137
5294
  // High-frequency updates (every frame)
5138
5295
  this.updatePlayer(delta);
5139
5296
  this.updatePhysics(delta);
5140
-
5297
+
5141
5298
  // Low-frequency updates (10 times per second)
5142
5299
  this.updateTimer += delta;
5143
5300
  if (this.updateTimer >= this.UPDATE_INTERVAL) {
@@ -5147,13 +5304,14 @@ class GameScene extends Phaser.Scene {
5147
5304
  }
5148
5305
  }
5149
5306
  }
5150
- ```text
5307
+ ```
5151
5308
 
5152
5309
  ## Input Handling
5153
5310
 
5154
5311
  ### Cross-Platform Input
5155
5312
 
5156
5313
  **Input Abstraction:**
5314
+
5157
5315
  ```typescript
5158
5316
  interface InputState {
5159
5317
  moveLeft: boolean;
@@ -5169,26 +5327,26 @@ class InputManager {
5169
5327
  moveRight: false,
5170
5328
  jump: false,
5171
5329
  action: false,
5172
- pause: false
5330
+ pause: false,
5173
5331
  };
5174
-
5332
+
5175
5333
  private keys!: { [key: string]: Phaser.Input.Keyboard.Key };
5176
5334
  private pointer!: Phaser.Input.Pointer;
5177
-
5335
+
5178
5336
  constructor(private scene: Phaser.Scene) {
5179
5337
  this.setupKeyboard();
5180
5338
  this.setupTouch();
5181
5339
  }
5182
-
5340
+
5183
5341
  private setupKeyboard(): void {
5184
- this.keys = this.scene.input.keyboard.addKeys('W,A,S,D,SPACE,ESC,UP,DOWN,LEFT,RIGHT');
5342
+ this.keys = this.scene.input.keyboard.addKeys("W,A,S,D,SPACE,ESC,UP,DOWN,LEFT,RIGHT");
5185
5343
  }
5186
-
5344
+
5187
5345
  private setupTouch(): void {
5188
- this.scene.input.on('pointerdown', this.handlePointerDown, this);
5189
- this.scene.input.on('pointerup', this.handlePointerUp, this);
5346
+ this.scene.input.on("pointerdown", this.handlePointerDown, this);
5347
+ this.scene.input.on("pointerup", this.handlePointerUp, this);
5190
5348
  }
5191
-
5349
+
5192
5350
  update(): void {
5193
5351
  // Update input state from multiple sources
5194
5352
  this.inputState.moveLeft = this.keys.A.isDown || this.keys.LEFT.isDown;
@@ -5196,42 +5354,43 @@ class InputManager {
5196
5354
  this.inputState.jump = Phaser.Input.Keyboard.JustDown(this.keys.SPACE);
5197
5355
  // ... handle touch input
5198
5356
  }
5199
-
5357
+
5200
5358
  getInputState(): InputState {
5201
5359
  return { ...this.inputState };
5202
5360
  }
5203
5361
  }
5204
- ```text
5362
+ ```
5205
5363
 
5206
5364
  ## Error Handling
5207
5365
 
5208
5366
  ### Graceful Degradation
5209
5367
 
5210
5368
  **Asset Loading Error Handling:**
5369
+
5211
5370
  ```typescript
5212
5371
  class AssetManager {
5213
5372
  loadAssets(): Promise<void> {
5214
5373
  return new Promise((resolve, reject) => {
5215
- this.scene.load.on('filecomplete', this.handleFileComplete, this);
5216
- this.scene.load.on('loaderror', this.handleLoadError, this);
5217
- this.scene.load.on('complete', () => resolve());
5218
-
5374
+ this.scene.load.on("filecomplete", this.handleFileComplete, this);
5375
+ this.scene.load.on("loaderror", this.handleLoadError, this);
5376
+ this.scene.load.on("complete", () => resolve());
5377
+
5219
5378
  this.scene.load.start();
5220
5379
  });
5221
5380
  }
5222
-
5381
+
5223
5382
  private handleLoadError(file: Phaser.Loader.File): void {
5224
5383
  console.error(`Failed to load asset: ${file.key}`);
5225
-
5384
+
5226
5385
  // Use fallback assets
5227
5386
  this.loadFallbackAsset(file.key);
5228
5387
  }
5229
-
5388
+
5230
5389
  private loadFallbackAsset(key: string): void {
5231
5390
  // Load placeholder or default assets
5232
5391
  switch (key) {
5233
- case 'player':
5234
- this.scene.load.image('player', 'assets/defaults/default-player.png');
5392
+ case "player":
5393
+ this.scene.load.image("player", "assets/defaults/default-player.png");
5235
5394
  break;
5236
5395
  default:
5237
5396
  console.warn(`No fallback for asset: ${key}`);
@@ -5243,25 +5402,26 @@ class AssetManager {
5243
5402
  ### Runtime Error Recovery
5244
5403
 
5245
5404
  **System Error Handling:**
5405
+
5246
5406
  ```typescript
5247
5407
  class GameSystem {
5248
5408
  protected handleError(error: Error, context: string): void {
5249
5409
  console.error(`Error in ${context}:`, error);
5250
-
5410
+
5251
5411
  // Report to analytics/logging service
5252
5412
  this.reportError(error, context);
5253
-
5413
+
5254
5414
  // Attempt recovery
5255
5415
  this.attemptRecovery(context);
5256
5416
  }
5257
-
5417
+
5258
5418
  private attemptRecovery(context: string): void {
5259
5419
  switch (context) {
5260
- case 'update':
5420
+ case "update":
5261
5421
  // Reset system state
5262
5422
  this.reset();
5263
5423
  break;
5264
- case 'render':
5424
+ case "render":
5265
5425
  // Disable visual effects
5266
5426
  this.disableEffects();
5267
5427
  break;
@@ -5271,64 +5431,66 @@ class GameSystem {
5271
5431
  }
5272
5432
  }
5273
5433
  }
5274
- ```text
5434
+ ```
5275
5435
 
5276
5436
  ## Testing Standards
5277
5437
 
5278
5438
  ### Unit Testing
5279
5439
 
5280
5440
  **Game Logic Testing:**
5441
+
5281
5442
  ```typescript
5282
5443
  // Example test for game mechanics
5283
- describe('HealthComponent', () => {
5444
+ describe("HealthComponent", () => {
5284
5445
  let healthComponent: HealthComponent;
5285
-
5446
+
5286
5447
  beforeEach(() => {
5287
5448
  const mockEntity = {} as GameEntity;
5288
5449
  healthComponent = new HealthComponent(mockEntity, 100);
5289
5450
  });
5290
-
5291
- test('should initialize with correct health', () => {
5451
+
5452
+ test("should initialize with correct health", () => {
5292
5453
  expect(healthComponent.currentHealth).toBe(100);
5293
5454
  expect(healthComponent.maxHealth).toBe(100);
5294
5455
  });
5295
-
5296
- test('should handle damage correctly', () => {
5456
+
5457
+ test("should handle damage correctly", () => {
5297
5458
  healthComponent.takeDamage(25);
5298
5459
  expect(healthComponent.currentHealth).toBe(75);
5299
5460
  expect(healthComponent.isAlive()).toBe(true);
5300
5461
  });
5301
-
5302
- test('should handle death correctly', () => {
5462
+
5463
+ test("should handle death correctly", () => {
5303
5464
  healthComponent.takeDamage(150);
5304
5465
  expect(healthComponent.currentHealth).toBe(0);
5305
5466
  expect(healthComponent.isAlive()).toBe(false);
5306
5467
  });
5307
5468
  });
5308
- ```text
5469
+ ```
5309
5470
 
5310
5471
  ### Integration Testing
5311
5472
 
5312
5473
  **Scene Testing:**
5474
+
5313
5475
  ```typescript
5314
- describe('GameScene Integration', () => {
5476
+ describe("GameScene Integration", () => {
5315
5477
  let scene: GameScene;
5316
5478
  let mockGame: Phaser.Game;
5317
-
5479
+
5318
5480
  beforeEach(() => {
5319
5481
  // Mock Phaser game instance
5320
5482
  mockGame = createMockGame();
5321
5483
  scene = new GameScene();
5322
5484
  });
5323
-
5324
- test('should initialize all systems', () => {
5485
+
5486
+ test("should initialize all systems", () => {
5325
5487
  scene.create({});
5326
-
5488
+
5327
5489
  expect(scene.gameManager).toBeDefined();
5328
5490
  expect(scene.inputManager).toBeDefined();
5329
5491
  });
5330
5492
  });
5331
- ```text
5493
+ ```
5332
5494
 
5333
5495
  ## File Organization
5334
5496
 
@@ -5382,21 +5544,25 @@ src/
5382
5544
  ### Story Implementation Process
5383
5545
 
5384
5546
  1. **Read Story Requirements:**
5547
+
5385
5548
  - Understand acceptance criteria
5386
5549
  - Identify technical requirements
5387
5550
  - Review performance constraints
5388
5551
 
5389
5552
  2. **Plan Implementation:**
5553
+
5390
5554
  - Identify files to create/modify
5391
5555
  - Consider component architecture
5392
5556
  - Plan testing approach
5393
5557
 
5394
5558
  3. **Implement Feature:**
5559
+
5395
5560
  - Follow TypeScript strict mode
5396
5561
  - Use established patterns
5397
5562
  - Maintain 60 FPS performance
5398
5563
 
5399
5564
  4. **Test Implementation:**
5565
+
5400
5566
  - Write unit tests for game logic
5401
5567
  - Test cross-platform functionality
5402
5568
  - Validate performance targets
@@ -5409,6 +5575,7 @@ src/
5409
5575
  ### Code Review Checklist
5410
5576
 
5411
5577
  **Before Committing:**
5578
+
5412
5579
  - [ ] TypeScript compiles without errors
5413
5580
  - [ ] All tests pass
5414
5581
  - [ ] Performance targets met (60 FPS)
@@ -5422,17 +5589,20 @@ src/
5422
5589
  ## Performance Targets
5423
5590
 
5424
5591
  ### Frame Rate Requirements
5592
+
5425
5593
  - **Desktop**: Maintain 60 FPS at 1080p
5426
5594
  - **Mobile**: Maintain 60 FPS on mid-range devices, minimum 30 FPS on low-end
5427
5595
  - **Optimization**: Implement dynamic quality scaling when performance drops
5428
5596
 
5429
5597
  ### Memory Management
5598
+
5430
5599
  - **Total Memory**: Under 100MB for full game
5431
5600
  - **Per Scene**: Under 50MB per gameplay scene
5432
5601
  - **Asset Loading**: Progressive loading to stay under limits
5433
5602
  - **Garbage Collection**: Minimize object creation in update loops
5434
5603
 
5435
5604
  ### Loading Performance
5605
+
5436
5606
  - **Initial Load**: Under 5 seconds for game start
5437
5607
  - **Scene Transitions**: Under 2 seconds between scenes
5438
5608
  - **Asset Streaming**: Background loading for upcoming content
@@ -5457,6 +5627,7 @@ Create detailed, actionable game development stories that enable AI developers t
5457
5627
  ## Prerequisites
5458
5628
 
5459
5629
  Before creating stories, ensure you have:
5630
+
5460
5631
  - Completed Game Design Document (GDD)
5461
5632
  - Game Architecture Document
5462
5633
  - Epic definition this story belongs to
@@ -5467,12 +5638,14 @@ Before creating stories, ensure you have:
5467
5638
  ### 1. Story Identification
5468
5639
 
5469
5640
  **Review Epic Context:**
5641
+
5470
5642
  - Understand the epic's overall goal
5471
5643
  - Identify specific features that need implementation
5472
5644
  - Review any existing stories in the epic
5473
5645
  - Ensure no duplicate work
5474
5646
 
5475
5647
  **Feature Analysis:**
5648
+
5476
5649
  - Reference specific GDD sections
5477
5650
  - Understand player experience goals
5478
5651
  - Identify technical complexity
@@ -5481,12 +5654,14 @@ Before creating stories, ensure you have:
5481
5654
  ### 2. Story Scoping
5482
5655
 
5483
5656
  **Single Responsibility:**
5657
+
5484
5658
  - Focus on one specific game feature
5485
5659
  - Ensure story is completable in 1-3 days
5486
5660
  - Break down complex features into multiple stories
5487
5661
  - Maintain clear boundaries with other stories
5488
5662
 
5489
5663
  **Implementation Clarity:**
5664
+
5490
5665
  - Define exactly what needs to be built
5491
5666
  - Specify all technical requirements
5492
5667
  - Include all necessary integration points
@@ -5498,6 +5673,7 @@ Before creating stories, ensure you have:
5498
5673
  Use `templates#game-story-tmpl` following all embedded LLM instructions
5499
5674
 
5500
5675
  **Key Focus Areas:**
5676
+
5501
5677
  - Clear, actionable description
5502
5678
  - Specific acceptance criteria
5503
5679
  - Detailed technical specifications
@@ -5507,18 +5683,21 @@ Use `templates#game-story-tmpl` following all embedded LLM instructions
5507
5683
  ### 4. Story Validation
5508
5684
 
5509
5685
  **Technical Review:**
5686
+
5510
5687
  - Verify all technical specifications are complete
5511
5688
  - Ensure integration points are clearly defined
5512
5689
  - Confirm file paths match architecture
5513
5690
  - Validate TypeScript interfaces and classes
5514
5691
 
5515
5692
  **Game Design Alignment:**
5693
+
5516
5694
  - Confirm story implements GDD requirements
5517
5695
  - Verify player experience goals are met
5518
5696
  - Check balance parameters are included
5519
5697
  - Ensure game mechanics are correctly interpreted
5520
5698
 
5521
5699
  **Implementation Readiness:**
5700
+
5522
5701
  - All dependencies identified
5523
5702
  - Assets requirements specified
5524
5703
  - Testing criteria defined
@@ -5530,6 +5709,7 @@ Use `templates#game-story-tmpl` following all embedded LLM instructions
5530
5709
  Execute `checklists#game-story-dod-checklist` against completed story
5531
5710
 
5532
5711
  **Story Criteria:**
5712
+
5533
5713
  - Story is immediately actionable
5534
5714
  - No design decisions left to developer
5535
5715
  - Technical requirements are complete
@@ -5539,12 +5719,14 @@ Execute `checklists#game-story-dod-checklist` against completed story
5539
5719
  ### 6. Story Refinement
5540
5720
 
5541
5721
  **Developer Perspective:**
5722
+
5542
5723
  - Can a developer start implementation immediately?
5543
5724
  - Are all technical questions answered?
5544
5725
  - Is the scope appropriate for the estimated points?
5545
5726
  - Are all dependencies clearly identified?
5546
5727
 
5547
5728
  **Iterative Improvement:**
5729
+
5548
5730
  - Address any gaps or ambiguities
5549
5731
  - Clarify complex technical requirements
5550
5732
  - Ensure story fits within epic scope
@@ -5553,6 +5735,7 @@ Execute `checklists#game-story-dod-checklist` against completed story
5553
5735
  ## Story Elements Checklist
5554
5736
 
5555
5737
  ### Required Sections
5738
+
5556
5739
  - [ ] Clear, specific description
5557
5740
  - [ ] Complete acceptance criteria (functional, technical, game design)
5558
5741
  - [ ] Detailed technical specifications
@@ -5566,6 +5749,7 @@ Execute `checklists#game-story-dod-checklist` against completed story
5566
5749
  - [ ] Definition of Done checklist
5567
5750
 
5568
5751
  ### Game-Specific Requirements
5752
+
5569
5753
  - [ ] GDD section references
5570
5754
  - [ ] Game mechanic implementation details
5571
5755
  - [ ] Player experience goals
@@ -5575,6 +5759,7 @@ Execute `checklists#game-story-dod-checklist` against completed story
5575
5759
  - [ ] Cross-platform considerations
5576
5760
 
5577
5761
  ### Technical Quality
5762
+
5578
5763
  - [ ] TypeScript strict mode compliance
5579
5764
  - [ ] Architecture document alignment
5580
5765
  - [ ] Code organization follows standards
@@ -5585,18 +5770,21 @@ Execute `checklists#game-story-dod-checklist` against completed story
5585
5770
  ## Common Pitfalls
5586
5771
 
5587
5772
  **Scope Issues:**
5773
+
5588
5774
  - Story too large (break into multiple stories)
5589
5775
  - Story too vague (add specific requirements)
5590
5776
  - Missing dependencies (identify all prerequisites)
5591
5777
  - Unclear boundaries (define what's in/out of scope)
5592
5778
 
5593
5779
  **Technical Issues:**
5780
+
5594
5781
  - Missing integration details
5595
5782
  - Incomplete technical specifications
5596
5783
  - Undefined interfaces or classes
5597
5784
  - Missing performance requirements
5598
5785
 
5599
5786
  **Game Design Issues:**
5787
+
5600
5788
  - Not referencing GDD properly
5601
5789
  - Missing player experience context
5602
5790
  - Unclear game mechanic implementation
@@ -5605,6 +5793,7 @@ Execute `checklists#game-story-dod-checklist` against completed story
5605
5793
  ## Success Criteria
5606
5794
 
5607
5795
  **Story Readiness:**
5796
+
5608
5797
  - [ ] Developer can start implementation immediately
5609
5798
  - [ ] No additional design decisions required
5610
5799
  - [ ] All technical questions answered
@@ -5613,6 +5802,7 @@ Execute `checklists#game-story-dod-checklist` against completed story
5613
5802
  - [ ] Story fits within epic scope
5614
5803
 
5615
5804
  **Quality Validation:**
5805
+
5616
5806
  - [ ] Game story DOD checklist passes
5617
5807
  - [ ] Architecture alignment confirmed
5618
5808
  - [ ] GDD requirements covered
@@ -5622,6 +5812,7 @@ Execute `checklists#game-story-dod-checklist` against completed story
5622
5812
  ## Handoff Protocol
5623
5813
 
5624
5814
  **To Game Developer:**
5815
+
5625
5816
  1. Provide story document
5626
5817
  2. Confirm GDD and architecture access
5627
5818
  3. Verify all dependencies are met
@@ -5629,6 +5820,7 @@ Execute `checklists#game-story-dod-checklist` against completed story
5629
5820
  5. Establish check-in schedule
5630
5821
 
5631
5822
  **Story Status Updates:**
5823
+
5632
5824
  - Draft → Ready for Development
5633
5825
  - In Development → Code Review
5634
5826
  - Code Review → Testing