bmad-method 4.43.0 → 4.43.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CONTRIBUTING.md +2 -9
- package/README.md +0 -82
- package/bmad-core/agents/bmad-master.md +6 -6
- package/bmad-core/tasks/validate-next-story.md +1 -1
- package/bmad-core/templates/brownfield-architecture-tmpl.yaml +5 -5
- package/dist/agents/architect.txt +5 -5
- package/dist/agents/bmad-master.txt +11 -11
- package/dist/agents/dev.txt +1 -1
- package/dist/agents/po.txt +1 -1
- package/dist/expansion-packs/bmad-2d-unity-game-dev/agents/game-developer.txt +1 -1
- package/dist/expansion-packs/bmad-2d-unity-game-dev/teams/unity-2d-game-team.txt +1 -1
- package/dist/expansion-packs/bmad-godot-game-dev/agents/bmad-orchestrator.txt +1513 -0
- package/dist/expansion-packs/bmad-godot-game-dev/agents/game-analyst.txt +3190 -0
- package/dist/expansion-packs/bmad-godot-game-dev/agents/game-architect.txt +4499 -0
- package/dist/expansion-packs/bmad-godot-game-dev/agents/game-designer.txt +3925 -0
- package/dist/expansion-packs/bmad-godot-game-dev/agents/game-developer.txt +666 -0
- package/dist/expansion-packs/bmad-godot-game-dev/agents/game-pm.txt +2381 -0
- package/dist/expansion-packs/bmad-godot-game-dev/agents/game-po.txt +1612 -0
- package/dist/expansion-packs/bmad-godot-game-dev/agents/game-qa.txt +1745 -0
- package/dist/expansion-packs/bmad-godot-game-dev/agents/game-sm.txt +1208 -0
- package/dist/expansion-packs/bmad-godot-game-dev/agents/game-ux-expert.txt +958 -0
- package/dist/expansion-packs/bmad-godot-game-dev/teams/godot-game-team.txt +27721 -0
- package/dist/teams/team-all.txt +6 -6
- package/dist/teams/team-fullstack.txt +6 -6
- package/dist/teams/team-ide-minimal.txt +1 -1
- package/dist/teams/team-no-ui.txt +6 -6
- package/docs/GUIDING-PRINCIPLES.md +3 -3
- package/docs/flattener.md +91 -0
- package/docs/versions.md +1 -1
- package/docs/working-in-the-brownfield.md +15 -6
- package/expansion-packs/bmad-godot-game-dev/README.md +244 -0
- package/expansion-packs/bmad-godot-game-dev/agent-teams/godot-game-team.yaml +18 -0
- package/expansion-packs/bmad-godot-game-dev/agents/bmad-orchestrator.md +147 -0
- package/expansion-packs/bmad-godot-game-dev/agents/game-analyst.md +84 -0
- package/expansion-packs/bmad-godot-game-dev/agents/game-architect.md +146 -0
- package/expansion-packs/bmad-godot-game-dev/agents/game-designer.md +78 -0
- package/expansion-packs/bmad-godot-game-dev/agents/game-developer.md +124 -0
- package/expansion-packs/bmad-godot-game-dev/agents/game-pm.md +82 -0
- package/expansion-packs/bmad-godot-game-dev/agents/game-po.md +115 -0
- package/expansion-packs/bmad-godot-game-dev/agents/game-qa.md +160 -0
- package/expansion-packs/bmad-godot-game-dev/agents/game-sm.md +66 -0
- package/expansion-packs/bmad-godot-game-dev/agents/game-ux-expert.md +75 -0
- package/expansion-packs/bmad-godot-game-dev/checklists/game-architect-checklist.md +377 -0
- package/expansion-packs/bmad-godot-game-dev/checklists/game-change-checklist.md +250 -0
- package/expansion-packs/bmad-godot-game-dev/checklists/game-design-checklist.md +225 -0
- package/expansion-packs/bmad-godot-game-dev/checklists/game-po-checklist.md +448 -0
- package/expansion-packs/bmad-godot-game-dev/checklists/game-story-dod-checklist.md +202 -0
- package/expansion-packs/bmad-godot-game-dev/config.yaml +30 -0
- package/expansion-packs/bmad-godot-game-dev/data/bmad-kb.md +811 -0
- package/expansion-packs/bmad-godot-game-dev/data/brainstorming-techniques.md +36 -0
- package/expansion-packs/bmad-godot-game-dev/data/development-guidelines.md +893 -0
- package/expansion-packs/bmad-godot-game-dev/data/elicitation-methods.md +156 -0
- package/expansion-packs/bmad-godot-game-dev/data/technical-preferences.md +3 -0
- package/expansion-packs/bmad-godot-game-dev/tasks/advanced-elicitation.md +110 -0
- package/expansion-packs/bmad-godot-game-dev/tasks/apply-qa-fixes.md +224 -0
- package/expansion-packs/bmad-godot-game-dev/tasks/brownfield-create-epic.md +162 -0
- package/expansion-packs/bmad-godot-game-dev/tasks/brownfield-create-story.md +149 -0
- package/expansion-packs/bmad-godot-game-dev/tasks/correct-course-game.md +159 -0
- package/expansion-packs/bmad-godot-game-dev/tasks/create-deep-research-prompt.md +278 -0
- package/expansion-packs/bmad-godot-game-dev/tasks/create-doc.md +103 -0
- package/expansion-packs/bmad-godot-game-dev/tasks/create-game-story.md +202 -0
- package/expansion-packs/bmad-godot-game-dev/tasks/document-project.md +343 -0
- package/expansion-packs/bmad-godot-game-dev/tasks/execute-checklist.md +88 -0
- package/expansion-packs/bmad-godot-game-dev/tasks/facilitate-brainstorming-session.md +136 -0
- package/expansion-packs/bmad-godot-game-dev/tasks/game-brownfield-create-epic.md +160 -0
- package/expansion-packs/bmad-godot-game-dev/tasks/game-brownfield-create-story.md +147 -0
- package/expansion-packs/bmad-godot-game-dev/tasks/game-design-brainstorming.md +290 -0
- package/expansion-packs/bmad-godot-game-dev/tasks/game-risk-profile.md +368 -0
- package/expansion-packs/bmad-godot-game-dev/tasks/game-test-design.md +219 -0
- package/expansion-packs/bmad-godot-game-dev/tasks/generate-ai-frontend-prompt.md +51 -0
- package/expansion-packs/bmad-godot-game-dev/tasks/kb-mode-interaction.md +77 -0
- package/expansion-packs/bmad-godot-game-dev/tasks/review-game-story.md +364 -0
- package/expansion-packs/bmad-godot-game-dev/tasks/shard-doc.md +187 -0
- package/expansion-packs/bmad-godot-game-dev/tasks/validate-game-story.md +208 -0
- package/expansion-packs/bmad-godot-game-dev/templates/brainstorming-output-tmpl.yaml +156 -0
- package/expansion-packs/bmad-godot-game-dev/templates/brownfield-prd-tmpl.yaml +281 -0
- package/expansion-packs/bmad-godot-game-dev/templates/competitor-analysis-tmpl.yaml +306 -0
- package/expansion-packs/bmad-godot-game-dev/templates/game-architecture-tmpl.yaml +1111 -0
- package/expansion-packs/bmad-godot-game-dev/templates/game-brief-tmpl.yaml +356 -0
- package/expansion-packs/bmad-godot-game-dev/templates/game-design-doc-tmpl.yaml +724 -0
- package/expansion-packs/bmad-godot-game-dev/templates/game-prd-tmpl.yaml +209 -0
- package/expansion-packs/bmad-godot-game-dev/templates/game-qa-gate-tmpl.yaml +186 -0
- package/expansion-packs/bmad-godot-game-dev/templates/game-story-tmpl.yaml +406 -0
- package/expansion-packs/bmad-godot-game-dev/templates/game-ui-spec-tmpl.yaml +601 -0
- package/expansion-packs/bmad-godot-game-dev/templates/level-design-doc-tmpl.yaml +620 -0
- package/expansion-packs/bmad-godot-game-dev/templates/market-research-tmpl.yaml +418 -0
- package/expansion-packs/bmad-godot-game-dev/utils/bmad-doc-template.md +327 -0
- package/expansion-packs/bmad-godot-game-dev/utils/workflow-management.md +71 -0
- package/expansion-packs/bmad-godot-game-dev/workflows/game-dev-greenfield.yaml +245 -0
- package/expansion-packs/bmad-godot-game-dev/workflows/game-prototype.yaml +213 -0
- package/package.json +1 -1
- package/release_notes.md +14 -2
- package/tools/flattener/ignoreRules.js +2 -0
- package/tools/installer/bin/bmad.js +2 -1
- package/tools/installer/config/install.config.yaml +16 -7
- package/tools/installer/lib/ide-setup.js +192 -80
- package/tools/installer/package.json +1 -1
- package/tools/upgraders/v3-to-v4-upgrader.js +1 -0
- package/test.md +0 -1
- /package/{implement-fork-friendly-ci.sh → tools/implement-fork-friendly-ci.sh} +0 -0
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
<!-- Powered by BMAD™ Core -->
|
|
2
|
+
|
|
3
|
+
# Elicitation Methods Data
|
|
4
|
+
|
|
5
|
+
## Core Reflective Methods
|
|
6
|
+
|
|
7
|
+
**Expand or Contract for Audience**
|
|
8
|
+
|
|
9
|
+
- Ask whether to 'expand' (add detail, elaborate) or 'contract' (simplify, clarify)
|
|
10
|
+
- Identify specific target audience if relevant
|
|
11
|
+
- Tailor content complexity and depth accordingly
|
|
12
|
+
|
|
13
|
+
**Explain Reasoning (CoT Step-by-Step)**
|
|
14
|
+
|
|
15
|
+
- Walk through the step-by-step thinking process
|
|
16
|
+
- Reveal underlying assumptions and decision points
|
|
17
|
+
- Show how conclusions were reached from current role's perspective
|
|
18
|
+
|
|
19
|
+
**Critique and Refine**
|
|
20
|
+
|
|
21
|
+
- Review output for flaws, inconsistencies, or improvement areas
|
|
22
|
+
- Identify specific weaknesses from role's expertise
|
|
23
|
+
- Suggest refined version reflecting domain knowledge
|
|
24
|
+
|
|
25
|
+
## Structural Analysis Methods
|
|
26
|
+
|
|
27
|
+
**Analyze Logical Flow and Dependencies**
|
|
28
|
+
|
|
29
|
+
- Examine content structure for logical progression
|
|
30
|
+
- Check internal consistency and coherence
|
|
31
|
+
- Identify and validate dependencies between elements
|
|
32
|
+
- Confirm effective ordering and sequencing
|
|
33
|
+
|
|
34
|
+
**Assess Alignment with Overall Goals**
|
|
35
|
+
|
|
36
|
+
- Evaluate content contribution to stated objectives
|
|
37
|
+
- Identify any misalignments or gaps
|
|
38
|
+
- Interpret alignment from specific role's perspective
|
|
39
|
+
- Suggest adjustments to better serve goals
|
|
40
|
+
|
|
41
|
+
## Risk and Challenge Methods
|
|
42
|
+
|
|
43
|
+
**Identify Potential Risks and Unforeseen Issues**
|
|
44
|
+
|
|
45
|
+
- Brainstorm potential risks from role's expertise
|
|
46
|
+
- Identify overlooked edge cases or scenarios
|
|
47
|
+
- Anticipate unintended consequences
|
|
48
|
+
- Highlight implementation challenges
|
|
49
|
+
|
|
50
|
+
**Challenge from Critical Perspective**
|
|
51
|
+
|
|
52
|
+
- Adopt critical stance on current content
|
|
53
|
+
- Play devil's advocate from specified viewpoint
|
|
54
|
+
- Argue against proposal highlighting weaknesses
|
|
55
|
+
- Apply YAGNI principles when appropriate (scope trimming)
|
|
56
|
+
|
|
57
|
+
## Creative Exploration Methods
|
|
58
|
+
|
|
59
|
+
**Tree of Thoughts Deep Dive**
|
|
60
|
+
|
|
61
|
+
- Break problem into discrete "thoughts" or intermediate steps
|
|
62
|
+
- Explore multiple reasoning paths simultaneously
|
|
63
|
+
- Use self-evaluation to classify each path as "sure", "likely", or "impossible"
|
|
64
|
+
- Apply search algorithms (BFS/DFS) to find optimal solution paths
|
|
65
|
+
|
|
66
|
+
**Hindsight is 20/20: The 'If Only...' Reflection**
|
|
67
|
+
|
|
68
|
+
- Imagine retrospective scenario based on current content
|
|
69
|
+
- Identify the one "if only we had known/done X..." insight
|
|
70
|
+
- Describe imagined consequences humorously or dramatically
|
|
71
|
+
- Extract actionable learnings for current context
|
|
72
|
+
|
|
73
|
+
## Multi-Persona Collaboration Methods
|
|
74
|
+
|
|
75
|
+
**Agile Team Perspective Shift**
|
|
76
|
+
|
|
77
|
+
- Rotate through different Scrum team member viewpoints
|
|
78
|
+
- Product Owner: Focus on user value and business impact
|
|
79
|
+
- Scrum Master: Examine process flow and team dynamics
|
|
80
|
+
- Developer: Assess technical implementation and complexity
|
|
81
|
+
- QA: Identify testing scenarios and quality concerns
|
|
82
|
+
|
|
83
|
+
**Stakeholder Round Table**
|
|
84
|
+
|
|
85
|
+
- Convene virtual meeting with multiple personas
|
|
86
|
+
- Each persona contributes unique perspective on content
|
|
87
|
+
- Identify conflicts and synergies between viewpoints
|
|
88
|
+
- Synthesize insights into actionable recommendations
|
|
89
|
+
|
|
90
|
+
**Meta-Prompting Analysis**
|
|
91
|
+
|
|
92
|
+
- Step back to analyze the structure and logic of current approach
|
|
93
|
+
- Question the format and methodology being used
|
|
94
|
+
- Suggest alternative frameworks or mental models
|
|
95
|
+
- Optimize the elicitation process itself
|
|
96
|
+
|
|
97
|
+
## Advanced 2025 Techniques
|
|
98
|
+
|
|
99
|
+
**Self-Consistency Validation**
|
|
100
|
+
|
|
101
|
+
- Generate multiple reasoning paths for same problem
|
|
102
|
+
- Compare consistency across different approaches
|
|
103
|
+
- Identify most reliable and robust solution
|
|
104
|
+
- Highlight areas where approaches diverge and why
|
|
105
|
+
|
|
106
|
+
**ReWOO (Reasoning Without Observation)**
|
|
107
|
+
|
|
108
|
+
- Separate parametric reasoning from tool-based actions
|
|
109
|
+
- Create reasoning plan without external dependencies
|
|
110
|
+
- Identify what can be solved through pure reasoning
|
|
111
|
+
- Optimize for efficiency and reduced token usage
|
|
112
|
+
|
|
113
|
+
**Persona-Pattern Hybrid**
|
|
114
|
+
|
|
115
|
+
- Combine specific role expertise with elicitation pattern
|
|
116
|
+
- Architect + Risk Analysis: Deep technical risk assessment
|
|
117
|
+
- UX Expert + User Journey: End-to-end experience critique
|
|
118
|
+
- PM + Stakeholder Analysis: Multi-perspective impact review
|
|
119
|
+
|
|
120
|
+
**Emergent Collaboration Discovery**
|
|
121
|
+
|
|
122
|
+
- Allow multiple perspectives to naturally emerge
|
|
123
|
+
- Identify unexpected insights from persona interactions
|
|
124
|
+
- Explore novel combinations of viewpoints
|
|
125
|
+
- Capture serendipitous discoveries from multi-agent thinking
|
|
126
|
+
|
|
127
|
+
## Game-Based Elicitation Methods
|
|
128
|
+
|
|
129
|
+
**Red Team vs Blue Team**
|
|
130
|
+
|
|
131
|
+
- Red Team: Attack the proposal, find vulnerabilities
|
|
132
|
+
- Blue Team: Defend and strengthen the approach
|
|
133
|
+
- Competitive analysis reveals blind spots
|
|
134
|
+
- Results in more robust, battle-tested solutions
|
|
135
|
+
|
|
136
|
+
**Innovation Tournament**
|
|
137
|
+
|
|
138
|
+
- Pit multiple alternative approaches against each other
|
|
139
|
+
- Score each approach across different criteria
|
|
140
|
+
- Crowd-source evaluation from different personas
|
|
141
|
+
- Identify winning combination of features
|
|
142
|
+
|
|
143
|
+
**Escape Room Challenge**
|
|
144
|
+
|
|
145
|
+
- Present content as constraints to work within
|
|
146
|
+
- Find creative solutions within tight limitations
|
|
147
|
+
- Identify minimum viable approach
|
|
148
|
+
- Discover innovative workarounds and optimizations
|
|
149
|
+
|
|
150
|
+
## Process Control
|
|
151
|
+
|
|
152
|
+
**Proceed / No Further Actions**
|
|
153
|
+
|
|
154
|
+
- Acknowledge choice to finalize current work
|
|
155
|
+
- Accept output as-is or move to next step
|
|
156
|
+
- Prepare to continue without additional elicitation
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
# Advanced Game Design Elicitation Task
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
- Provide optional reflective and brainstorming actions to enhance game design content quality
|
|
6
|
+
- Enable deeper exploration of game mechanics and player experience through structured elicitation techniques
|
|
7
|
+
- Support iterative refinement through multiple game development perspectives
|
|
8
|
+
- Apply game-specific critical thinking to design decisions
|
|
9
|
+
|
|
10
|
+
## Task Instructions
|
|
11
|
+
|
|
12
|
+
### 1. Game Design Context and Review
|
|
13
|
+
|
|
14
|
+
[[LLM: When invoked after outputting a game design section:
|
|
15
|
+
|
|
16
|
+
1. First, provide a brief 1-2 sentence summary of what the user should look for in the section just presented, with game-specific focus (e.g., "Please review the core mechanics for player engagement and implementation feasibility. Pay special attention to how these mechanics create the intended player experience and whether they're technically achievable with Unity.")
|
|
17
|
+
|
|
18
|
+
2. If the section contains game flow diagrams, level layouts, or system diagrams, explain each diagram briefly with game development context before offering elicitation options (e.g., "The gameplay loop diagram shows how player actions lead to rewards and progression. Notice how each step maintains player engagement and creates opportunities for skill development.")
|
|
19
|
+
|
|
20
|
+
3. If the section contains multiple game elements (like multiple mechanics, multiple levels, multiple systems, etc.), inform the user they can apply elicitation actions to:
|
|
21
|
+
- The entire section as a whole
|
|
22
|
+
- Individual game elements within the section (specify which element when selecting an action)
|
|
23
|
+
|
|
24
|
+
4. Then present the action list as specified below.]]
|
|
25
|
+
|
|
26
|
+
### 2. Ask for Review and Present Game Design Action List
|
|
27
|
+
|
|
28
|
+
[[LLM: Ask the user to review the drafted game design section. In the SAME message, inform them that they can suggest additions, removals, or modifications, OR they can select an action by number from the 'Advanced Game Design Elicitation & Brainstorming Actions'. If there are multiple game elements in the section, mention they can specify which element(s) to apply the action to. Then, present ONLY the numbered list (0-9) of these actions. Conclude by stating that selecting 9 will proceed to the next section. Await user selection. If an elicitation action (0-8) is chosen, execute it and then re-offer this combined review/elicitation choice. If option 9 is chosen, or if the user provides direct feedback, proceed accordingly.]]
|
|
29
|
+
|
|
30
|
+
**Present the numbered list (0-9) with this exact format:**
|
|
31
|
+
|
|
32
|
+
```text
|
|
33
|
+
**Advanced Game Design Elicitation & Brainstorming Actions**
|
|
34
|
+
Choose an action (0-9 - 9 to bypass - HELP for explanation of these options):
|
|
35
|
+
|
|
36
|
+
0. Expand or Contract for Target Audience
|
|
37
|
+
1. Explain Game Design Reasoning (Step-by-Step)
|
|
38
|
+
2. Critique and Refine from Player Perspective
|
|
39
|
+
3. Analyze Game Flow and Mechanic Dependencies
|
|
40
|
+
4. Assess Alignment with Player Experience Goals
|
|
41
|
+
5. Identify Potential Player Confusion and Design Risks
|
|
42
|
+
6. Challenge from Critical Game Design Perspective
|
|
43
|
+
7. Explore Alternative Game Design Approaches
|
|
44
|
+
8. Hindsight Postmortem: The 'If Only...' Game Design Reflection
|
|
45
|
+
9. Proceed / No Further Actions
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### 2. Processing Guidelines
|
|
49
|
+
|
|
50
|
+
**Do NOT show:**
|
|
51
|
+
|
|
52
|
+
- The full protocol text with `[[LLM: ...]]` instructions
|
|
53
|
+
- Detailed explanations of each option unless executing or the user asks, when giving the definition you can modify to tie its game development relevance
|
|
54
|
+
- Any internal template markup
|
|
55
|
+
|
|
56
|
+
**After user selection from the list:**
|
|
57
|
+
|
|
58
|
+
- Execute the chosen action according to the game design protocol instructions below
|
|
59
|
+
- Ask if they want to select another action or proceed with option 9 once complete
|
|
60
|
+
- Continue until user selects option 9 or indicates completion
|
|
61
|
+
|
|
62
|
+
## Game Design Action Definitions
|
|
63
|
+
|
|
64
|
+
0. Expand or Contract for Target Audience
|
|
65
|
+
[[LLM: Ask the user whether they want to 'expand' on the game design content (add more detail, elaborate on mechanics, include more examples) or 'contract' it (simplify mechanics, focus on core features, reduce complexity). Also, ask if there's a specific player demographic or experience level they have in mind (casual players, hardcore gamers, children, etc.). Once clarified, perform the expansion or contraction from your current game design role's perspective, tailored to the specified player audience if provided.]]
|
|
66
|
+
|
|
67
|
+
1. Explain Game Design Reasoning (Step-by-Step)
|
|
68
|
+
[[LLM: Explain the step-by-step game design thinking process that you used to arrive at the current proposal for this game content. Focus on player psychology, engagement mechanics, technical feasibility, and how design decisions support the overall player experience goals.]]
|
|
69
|
+
|
|
70
|
+
2. Critique and Refine from Player Perspective
|
|
71
|
+
[[LLM: From your current game design role's perspective, review your last output or the current section for potential player confusion, engagement issues, balance problems, or areas for improvement. Consider how players will actually interact with and experience these systems, then suggest a refined version that better serves player enjoyment and understanding.]]
|
|
72
|
+
|
|
73
|
+
3. Analyze Game Flow and Mechanic Dependencies
|
|
74
|
+
[[LLM: From your game design role's standpoint, examine the content's structure for logical gameplay progression, mechanic interdependencies, and player learning curve. Confirm if game elements are introduced in an effective order that teaches players naturally and maintains engagement throughout the experience.]]
|
|
75
|
+
|
|
76
|
+
4. Assess Alignment with Player Experience Goals
|
|
77
|
+
[[LLM: Evaluate how well the current game design content contributes to the stated player experience goals and core game pillars. Consider whether the mechanics actually create the intended emotions and engagement patterns. Identify any misalignments between design intentions and likely player reactions.]]
|
|
78
|
+
|
|
79
|
+
5. Identify Potential Player Confusion and Design Risks
|
|
80
|
+
[[LLM: Based on your game design expertise, brainstorm potential sources of player confusion, overlooked edge cases in gameplay, balance issues, technical implementation risks, or unintended player behaviors that could emerge from the current design. Consider both new and experienced players' perspectives.]]
|
|
81
|
+
|
|
82
|
+
6. Challenge from Critical Game Design Perspective
|
|
83
|
+
[[LLM: Adopt a critical game design perspective on the current content. If the user specifies another viewpoint (e.g., 'as a casual player', 'as a speedrunner', 'as a mobile player', 'as a technical implementer'), critique the content from that specified perspective. If no other role is specified, play devil's advocate from your game design expertise, arguing against the current design proposal and highlighting potential weaknesses, player experience issues, or implementation challenges. This can include questioning scope creep, unnecessary complexity, or features that don't serve the core player experience.]]
|
|
84
|
+
|
|
85
|
+
7. Explore Alternative Game Design Approaches
|
|
86
|
+
[[LLM: From your game design role's perspective, first broadly brainstorm a range of diverse approaches to achieving the same player experience goals or solving the same design challenge. Consider different genres, mechanics, interaction models, or technical approaches. Then, from this wider exploration, select and present 2-3 distinct alternative design approaches, detailing the pros, cons, player experience implications, and technical feasibility you foresee for each.]]
|
|
87
|
+
|
|
88
|
+
8. Hindsight Postmortem: The 'If Only...' Game Design Reflection
|
|
89
|
+
[[LLM: In your current game design persona, imagine this is a postmortem for a shipped game based on the current design content. What's the one 'if only we had designed/considered/tested X...' that your role would highlight from a game design perspective? Include the imagined player reactions, review scores, or development consequences. This should be both insightful and somewhat humorous, focusing on common game design pitfalls.]]
|
|
90
|
+
|
|
91
|
+
9. Proceed / No Further Actions
|
|
92
|
+
[[LLM: Acknowledge the user's choice to finalize the current game design work, accept the AI's last output as is, or move on to the next step without selecting another action from this list. Prepare to proceed accordingly.]]
|
|
93
|
+
|
|
94
|
+
## Game Development Context Integration
|
|
95
|
+
|
|
96
|
+
This elicitation task is specifically designed for game development and should be used in contexts where:
|
|
97
|
+
|
|
98
|
+
- **Game Mechanics Design**: When defining core gameplay systems and player interactions
|
|
99
|
+
- **Player Experience Planning**: When designing for specific emotional responses and engagement patterns
|
|
100
|
+
- **Technical Game Architecture**: When balancing design ambitions with implementation realities
|
|
101
|
+
- **Game Balance and Progression**: When designing difficulty curves and player advancement systems
|
|
102
|
+
- **Platform Considerations**: When adapting designs for different devices and input methods
|
|
103
|
+
|
|
104
|
+
The questions and perspectives offered should always consider:
|
|
105
|
+
|
|
106
|
+
- Player psychology and motivation
|
|
107
|
+
- Technical feasibility with Godot
|
|
108
|
+
- Performance implications for stable frame rate targets
|
|
109
|
+
- Cross-platform compatibility (PC, console, mobile)
|
|
110
|
+
- Game development best practices and common pitfalls
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
<!-- Powered by BMAD™ Core -->
|
|
2
|
+
|
|
3
|
+
# apply-qa-fixes
|
|
4
|
+
|
|
5
|
+
Implement fixes based on QA results (gate and assessments) for a specific Godot game story. This task is for the Game Developer agent to systematically consume QA outputs and apply game code/test changes while only updating allowed sections in the story file.
|
|
6
|
+
|
|
7
|
+
## Purpose
|
|
8
|
+
|
|
9
|
+
- Read QA outputs for a game story (gate YAML + assessment markdowns)
|
|
10
|
+
- Create a prioritized, deterministic fix plan for game features
|
|
11
|
+
- Apply game code and test changes to close gaps and address issues
|
|
12
|
+
- Update only the allowed story sections for the Game Developer agent
|
|
13
|
+
|
|
14
|
+
## Inputs
|
|
15
|
+
|
|
16
|
+
```yaml
|
|
17
|
+
required:
|
|
18
|
+
- story_id: '{epic}.{story}' # e.g., "2.2"
|
|
19
|
+
- qa_root: from `.bmad-godot-game-dev/config.yaml` key `qa.qaLocation` (e.g., `docs/project/qa`)
|
|
20
|
+
- story_root: from `.bmad-godot-game-dev/config.yaml` key `devStoryLocation` (e.g., `docs/project/stories`)
|
|
21
|
+
- project_root: Godot project root directory (containing project.godot)
|
|
22
|
+
|
|
23
|
+
optional:
|
|
24
|
+
- story_title: '{title}' # derive from story H1 if missing
|
|
25
|
+
- story_slug: '{slug}' # derive from title (lowercase, hyphenated) if missing
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## QA Sources to Read
|
|
29
|
+
|
|
30
|
+
- Gate (YAML): `{qa_root}/gates/{epic}.{story}-*.yml`
|
|
31
|
+
- If multiple, use the most recent by modified time
|
|
32
|
+
- Assessments (Markdown):
|
|
33
|
+
- Test Design: `{qa_root}/assessments/{epic}.{story}-test-design-*.md`
|
|
34
|
+
- Traceability: `{qa_root}/assessments/{epic}.{story}-trace-*.md`
|
|
35
|
+
- Risk Profile: `{qa_root}/assessments/{epic}.{story}-risk-*.md`
|
|
36
|
+
- NFR Assessment: `{qa_root}/assessments/{epic}.{story}-nfr-*.md`
|
|
37
|
+
|
|
38
|
+
## Prerequisites
|
|
39
|
+
|
|
40
|
+
- Godot 4.x installed and configured
|
|
41
|
+
- Testing frameworks installed:
|
|
42
|
+
- **GDScript**: GUT (Godot Unit Test) framework installed as addon
|
|
43
|
+
- **C#**: GoDotTest or GodotTestDriver NuGet packages installed
|
|
44
|
+
- Project builds successfully in Godot Editor
|
|
45
|
+
- Test commands available:
|
|
46
|
+
- GDScript: `godot --headless --script res://addons/gut/gut_cmdln.gd`
|
|
47
|
+
- C#: `dotnet test` or `godot --headless --run-tests`
|
|
48
|
+
|
|
49
|
+
## Process (Do not skip steps)
|
|
50
|
+
|
|
51
|
+
### 0) Load Core Config & Locate Story
|
|
52
|
+
|
|
53
|
+
- Read `bmad-core/core-config.yaml` and resolve `qa_root`, `story_root`, and `project_root`
|
|
54
|
+
- Locate story file in `{story_root}/{epic}.{story}.*.md`
|
|
55
|
+
- HALT if missing and ask for correct story id/path
|
|
56
|
+
|
|
57
|
+
### 1) Collect QA Findings
|
|
58
|
+
|
|
59
|
+
- Parse the latest gate YAML:
|
|
60
|
+
- `gate` (PASS|CONCERNS|FAIL|WAIVED)
|
|
61
|
+
- `top_issues[]` with `id`, `severity`, `finding`, `suggested_action`
|
|
62
|
+
- `nfr_validation.*.status` and notes
|
|
63
|
+
- `trace` coverage summary/gaps
|
|
64
|
+
- `test_design.coverage_gaps[]`
|
|
65
|
+
- `risk_summary.recommendations.must_fix[]` (if present)
|
|
66
|
+
- Read any present assessment markdowns and extract explicit gaps/recommendations
|
|
67
|
+
|
|
68
|
+
### 2) Build Deterministic Fix Plan (Priority Order)
|
|
69
|
+
|
|
70
|
+
Apply in order, highest priority first:
|
|
71
|
+
|
|
72
|
+
1. High severity items in `top_issues` (gameplay/performance/stability/maintainability)
|
|
73
|
+
2. NFR statuses: all FAIL must be fixed → then CONCERNS
|
|
74
|
+
3. Test Design `coverage_gaps` (prioritize P0 gameplay scenarios)
|
|
75
|
+
4. Trace uncovered requirements (AC-level, especially gameplay mechanics)
|
|
76
|
+
5. Risk `must_fix` recommendations
|
|
77
|
+
6. Medium severity issues, then low
|
|
78
|
+
|
|
79
|
+
Guidance:
|
|
80
|
+
|
|
81
|
+
- Prefer tests closing coverage gaps before/with code changes
|
|
82
|
+
- Keep changes minimal and targeted; follow Godot best practices and project architecture
|
|
83
|
+
- Respect scene organization and node hierarchy
|
|
84
|
+
- Follow GDScript style guide or C# conventions as appropriate
|
|
85
|
+
|
|
86
|
+
### 3) Apply Changes
|
|
87
|
+
|
|
88
|
+
- Implement game code fixes per plan:
|
|
89
|
+
- GDScript: Follow Godot style guide, use signals for decoupling
|
|
90
|
+
- C#: Follow .NET conventions, use events/delegates appropriately
|
|
91
|
+
- Add missing tests to close coverage gaps:
|
|
92
|
+
- **GDScript Tests (GUT)**:
|
|
93
|
+
- Unit tests in `test/unit/` for game logic
|
|
94
|
+
- Integration tests in `test/integration/` for scene interactions
|
|
95
|
+
- Use `gut.p()` for parameterized tests
|
|
96
|
+
- Mock nodes with `double()` and `stub()`
|
|
97
|
+
- **C# Tests (GoDotTest/GodotTestDriver)**:
|
|
98
|
+
- Unit tests using xUnit or NUnit patterns
|
|
99
|
+
- Integration tests for scene and node interactions
|
|
100
|
+
- Use test fixtures for game state setup
|
|
101
|
+
- Follow Godot patterns:
|
|
102
|
+
- Autoload/singleton patterns for global game state
|
|
103
|
+
- Signal-based communication between nodes
|
|
104
|
+
- Resource files (.tres/.res) for data management
|
|
105
|
+
- Scene inheritance for reusable components
|
|
106
|
+
|
|
107
|
+
### 4) Validate
|
|
108
|
+
|
|
109
|
+
**For GDScript Projects:**
|
|
110
|
+
|
|
111
|
+
- Run GUT tests: `godot --headless --script res://addons/gut/gut_cmdln.gd -gselect=test/ -gexit`
|
|
112
|
+
- Check for script errors in Godot Editor (Script Editor panel)
|
|
113
|
+
- Validate scene references and node paths
|
|
114
|
+
- Run game in editor to verify no runtime errors
|
|
115
|
+
|
|
116
|
+
**For C# Projects:**
|
|
117
|
+
|
|
118
|
+
- Build solution: `dotnet build`
|
|
119
|
+
- Run tests: `dotnet test` or `godot --headless --run-tests`
|
|
120
|
+
- Check for compilation errors
|
|
121
|
+
- Validate no null reference exceptions in gameplay
|
|
122
|
+
|
|
123
|
+
**For Both:**
|
|
124
|
+
|
|
125
|
+
- Test gameplay mechanics manually if needed
|
|
126
|
+
- Verify performance (check FPS, memory usage)
|
|
127
|
+
- Iterate until all tests pass and no errors
|
|
128
|
+
|
|
129
|
+
### 5) Update Story (Allowed Sections ONLY)
|
|
130
|
+
|
|
131
|
+
CRITICAL: Dev agent is ONLY authorized to update these sections of the story file. Do not modify any other sections (e.g., QA Results, Story, Acceptance Criteria, Dev Notes, Testing):
|
|
132
|
+
|
|
133
|
+
- Tasks / Subtasks Checkboxes (mark any fix subtask you added as done)
|
|
134
|
+
- Dev Agent Record →
|
|
135
|
+
- Agent Model Used (if changed)
|
|
136
|
+
- Debug Log References (test results, Godot console output)
|
|
137
|
+
- Completion Notes List (what changed, why, how)
|
|
138
|
+
- File List (all added/modified/deleted files)
|
|
139
|
+
- Change Log (new dated entry describing applied fixes)
|
|
140
|
+
- Status (see Rule below)
|
|
141
|
+
|
|
142
|
+
Status Rule:
|
|
143
|
+
|
|
144
|
+
- If gate was PASS and all identified gaps are closed → set `Status: Ready for Done`
|
|
145
|
+
- Otherwise → set `Status: Ready for Review` and notify QA to re-run the review
|
|
146
|
+
|
|
147
|
+
### 6) Do NOT Edit Gate Files
|
|
148
|
+
|
|
149
|
+
- Dev does not modify gate YAML. If fixes address issues, request QA to re-run `review-story` to update the gate
|
|
150
|
+
|
|
151
|
+
## Blocking Conditions
|
|
152
|
+
|
|
153
|
+
- Missing `bmad-core/core-config.yaml`
|
|
154
|
+
- Story file not found for `story_id`
|
|
155
|
+
- No QA artifacts found (neither gate nor assessments)
|
|
156
|
+
- HALT and request QA to generate at least a gate file (or proceed only with clear developer-provided fix list)
|
|
157
|
+
- Godot project file (`project.godot`) not found
|
|
158
|
+
- Testing framework not properly installed (GUT addon missing or NuGet packages not restored)
|
|
159
|
+
|
|
160
|
+
## Completion Checklist
|
|
161
|
+
|
|
162
|
+
- Godot project builds without errors
|
|
163
|
+
- All tests pass:
|
|
164
|
+
- GDScript: GUT tests green
|
|
165
|
+
- C#: dotnet test successful
|
|
166
|
+
- No script errors in Godot Editor
|
|
167
|
+
- All high severity `top_issues` addressed
|
|
168
|
+
- NFR FAIL → resolved; CONCERNS minimized or documented
|
|
169
|
+
- Coverage gaps closed or explicitly documented with rationale
|
|
170
|
+
- Gameplay features tested and working
|
|
171
|
+
- Story updated (allowed sections only) including File List and Change Log
|
|
172
|
+
- Status set according to Status Rule
|
|
173
|
+
|
|
174
|
+
## Example: Story 2.2 - Player Movement System
|
|
175
|
+
|
|
176
|
+
Given gate `docs/project/qa/gates/2.2-*.yml` shows
|
|
177
|
+
|
|
178
|
+
- `coverage_gaps`: Jump mechanics edge cases untested (AC2)
|
|
179
|
+
- `coverage_gaps`: Input buffering not tested (AC4)
|
|
180
|
+
- `top_issues`: Performance drops when multiple players active
|
|
181
|
+
|
|
182
|
+
Fix plan:
|
|
183
|
+
|
|
184
|
+
**GDScript Example:**
|
|
185
|
+
|
|
186
|
+
- Add GUT test for jump height variation based on button hold time
|
|
187
|
+
- Add test for input buffering during state transitions
|
|
188
|
+
- Optimize player movement script using object pooling for effects
|
|
189
|
+
- Test with `gut.p()` parameterized tests for different player counts
|
|
190
|
+
|
|
191
|
+
**C# Example:**
|
|
192
|
+
|
|
193
|
+
- Add GoDotTest unit test for jump physics calculations
|
|
194
|
+
- Add integration test for input system using GodotTestDriver
|
|
195
|
+
- Refactor movement system to use Jobs/Tasks for parallel processing
|
|
196
|
+
- Verify with performance profiler
|
|
197
|
+
|
|
198
|
+
- Re-run tests and update Dev Agent Record + File List accordingly
|
|
199
|
+
|
|
200
|
+
## Key Principles
|
|
201
|
+
|
|
202
|
+
- Deterministic, risk-first prioritization
|
|
203
|
+
- Minimal, maintainable changes following Godot best practices
|
|
204
|
+
- Tests validate gameplay behavior and close gapså
|
|
205
|
+
- Respect Godot's node-based architecture and signal system
|
|
206
|
+
- Maintain clear separation between game logic and presentation
|
|
207
|
+
- Strict adherence to allowed story update areas
|
|
208
|
+
- Gate ownership remains with QA; Game Developer signals readiness via Status
|
|
209
|
+
|
|
210
|
+
## Testing Framework References
|
|
211
|
+
|
|
212
|
+
### GUT (GDScript)
|
|
213
|
+
|
|
214
|
+
- Documentation: https://github.com/bitwes/Gut/wiki
|
|
215
|
+
- Test structure: `extends GutTest`
|
|
216
|
+
- Assertions: `assert_eq()`, `assert_true()`, `assert_has_signal()`
|
|
217
|
+
- Mocking: `double()`, `stub()`, `spy_on()`
|
|
218
|
+
|
|
219
|
+
### GoDotTest/GodotTestDriver (C#)
|
|
220
|
+
|
|
221
|
+
- GoDotTest: xUnit-style testing for Godot C#
|
|
222
|
+
- GodotTestDriver: Integration testing with scene manipulation
|
|
223
|
+
- Test attributes: `[Fact]`, `[Theory]`, `[InlineData]`
|
|
224
|
+
- Scene testing: Load scenes, interact with nodes, verify state
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
<!-- Powered by BMAD™ Core -->
|
|
2
|
+
|
|
3
|
+
# Create Brownfield Epic Task
|
|
4
|
+
|
|
5
|
+
## Purpose
|
|
6
|
+
|
|
7
|
+
Create a single epic for smaller brownfield enhancements that don't require the full PRD and Architecture documentation process. This task is for isolated features or modifications that can be completed within a focused scope.
|
|
8
|
+
|
|
9
|
+
## When to Use This Task
|
|
10
|
+
|
|
11
|
+
**Use this task when:**
|
|
12
|
+
|
|
13
|
+
- The enhancement can be completed in 1-3 stories
|
|
14
|
+
- No significant architectural changes are required
|
|
15
|
+
- The enhancement follows existing project patterns
|
|
16
|
+
- Integration complexity is minimal
|
|
17
|
+
- Risk to existing system is low
|
|
18
|
+
|
|
19
|
+
**Use the full brownfield PRD/Architecture process when:**
|
|
20
|
+
|
|
21
|
+
- The enhancement requires multiple coordinated stories
|
|
22
|
+
- Architectural planning is needed
|
|
23
|
+
- Significant integration work is required
|
|
24
|
+
- Risk assessment and mitigation planning is necessary
|
|
25
|
+
|
|
26
|
+
## Instructions
|
|
27
|
+
|
|
28
|
+
### 1. Project Analysis (Required)
|
|
29
|
+
|
|
30
|
+
Before creating the epic, gather essential information about the existing project:
|
|
31
|
+
|
|
32
|
+
**Existing Project Context:**
|
|
33
|
+
|
|
34
|
+
- [ ] Project purpose and current functionality understood
|
|
35
|
+
- [ ] Existing technology stack identified
|
|
36
|
+
- [ ] Current architecture patterns noted
|
|
37
|
+
- [ ] Integration points with existing system identified
|
|
38
|
+
|
|
39
|
+
**Enhancement Scope:**
|
|
40
|
+
|
|
41
|
+
- [ ] Enhancement clearly defined and scoped
|
|
42
|
+
- [ ] Impact on existing functionality assessed
|
|
43
|
+
- [ ] Required integration points identified
|
|
44
|
+
- [ ] Success criteria established
|
|
45
|
+
|
|
46
|
+
### 2. Epic Creation
|
|
47
|
+
|
|
48
|
+
Create a focused epic following this structure:
|
|
49
|
+
|
|
50
|
+
#### Epic Title
|
|
51
|
+
|
|
52
|
+
{{Enhancement Name}} - Brownfield Enhancement
|
|
53
|
+
|
|
54
|
+
#### Epic Goal
|
|
55
|
+
|
|
56
|
+
{{1-2 sentences describing what the epic will accomplish and why it adds value}}
|
|
57
|
+
|
|
58
|
+
#### Epic Description
|
|
59
|
+
|
|
60
|
+
**Existing System Context:**
|
|
61
|
+
|
|
62
|
+
- Current relevant functionality: {{brief description}}
|
|
63
|
+
- Technology stack: {{relevant existing technologies}}
|
|
64
|
+
- Integration points: {{where new work connects to existing system}}
|
|
65
|
+
|
|
66
|
+
**Enhancement Details:**
|
|
67
|
+
|
|
68
|
+
- What's being added/changed: {{clear description}}
|
|
69
|
+
- How it integrates: {{integration approach}}
|
|
70
|
+
- Success criteria: {{measurable outcomes}}
|
|
71
|
+
|
|
72
|
+
#### Stories
|
|
73
|
+
|
|
74
|
+
List 1-3 focused stories that complete the epic:
|
|
75
|
+
|
|
76
|
+
1. **Story 1:** {{Story title and brief description}}
|
|
77
|
+
2. **Story 2:** {{Story title and brief description}}
|
|
78
|
+
3. **Story 3:** {{Story title and brief description}}
|
|
79
|
+
|
|
80
|
+
#### Compatibility Requirements
|
|
81
|
+
|
|
82
|
+
- [ ] Existing APIs remain unchanged
|
|
83
|
+
- [ ] Database schema changes are backward compatible
|
|
84
|
+
- [ ] UI changes follow existing patterns
|
|
85
|
+
- [ ] Performance impact is minimal
|
|
86
|
+
|
|
87
|
+
#### Risk Mitigation
|
|
88
|
+
|
|
89
|
+
- **Primary Risk:** {{main risk to existing system}}
|
|
90
|
+
- **Mitigation:** {{how risk will be addressed}}
|
|
91
|
+
- **Rollback Plan:** {{how to undo changes if needed}}
|
|
92
|
+
|
|
93
|
+
#### Definition of Done
|
|
94
|
+
|
|
95
|
+
- [ ] All stories completed with acceptance criteria met
|
|
96
|
+
- [ ] Existing functionality verified through testing
|
|
97
|
+
- [ ] Integration points working correctly
|
|
98
|
+
- [ ] Documentation updated appropriately
|
|
99
|
+
- [ ] No regression in existing features
|
|
100
|
+
|
|
101
|
+
### 3. Validation Checklist
|
|
102
|
+
|
|
103
|
+
Before finalizing the epic, ensure:
|
|
104
|
+
|
|
105
|
+
**Scope Validation:**
|
|
106
|
+
|
|
107
|
+
- [ ] Epic can be completed in 1-3 stories maximum
|
|
108
|
+
- [ ] No architectural documentation is required
|
|
109
|
+
- [ ] Enhancement follows existing patterns
|
|
110
|
+
- [ ] Integration complexity is manageable
|
|
111
|
+
|
|
112
|
+
**Risk Assessment:**
|
|
113
|
+
|
|
114
|
+
- [ ] Risk to existing system is low
|
|
115
|
+
- [ ] Rollback plan is feasible
|
|
116
|
+
- [ ] Testing approach covers existing functionality
|
|
117
|
+
- [ ] Team has sufficient knowledge of integration points
|
|
118
|
+
|
|
119
|
+
**Completeness Check:**
|
|
120
|
+
|
|
121
|
+
- [ ] Epic goal is clear and achievable
|
|
122
|
+
- [ ] Stories are properly scoped
|
|
123
|
+
- [ ] Success criteria are measurable
|
|
124
|
+
- [ ] Dependencies are identified
|
|
125
|
+
|
|
126
|
+
### 4. Handoff to Story Manager
|
|
127
|
+
|
|
128
|
+
Once the epic is validated, provide this handoff to the Story Manager:
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
**Story Manager Handoff:**
|
|
133
|
+
|
|
134
|
+
"Please develop detailed user stories for this brownfield epic. Key considerations:
|
|
135
|
+
|
|
136
|
+
- This is an enhancement to an existing system running {{technology stack}}
|
|
137
|
+
- Integration points: {{list key integration points}}
|
|
138
|
+
- Existing patterns to follow: {{relevant existing patterns}}
|
|
139
|
+
- Critical compatibility requirements: {{key requirements}}
|
|
140
|
+
- Each story must include verification that existing functionality remains intact
|
|
141
|
+
|
|
142
|
+
The epic should maintain system integrity while delivering {{epic goal}}."
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
## Success Criteria
|
|
147
|
+
|
|
148
|
+
The epic creation is successful when:
|
|
149
|
+
|
|
150
|
+
1. Enhancement scope is clearly defined and appropriately sized
|
|
151
|
+
2. Integration approach respects existing system architecture
|
|
152
|
+
3. Risk to existing functionality is minimized
|
|
153
|
+
4. Stories are logically sequenced for safe implementation
|
|
154
|
+
5. Compatibility requirements are clearly specified
|
|
155
|
+
6. Rollback plan is feasible and documented
|
|
156
|
+
|
|
157
|
+
## Important Notes
|
|
158
|
+
|
|
159
|
+
- This task is specifically for SMALL brownfield enhancements
|
|
160
|
+
- If the scope grows beyond 3 stories, consider the full brownfield PRD process
|
|
161
|
+
- Always prioritize existing system integrity over new functionality
|
|
162
|
+
- When in doubt about scope or complexity, escalate to full brownfield planning
|