bmad-method 6.0.0-alpha.17 → 6.0.0-alpha.18
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/CHANGELOG.md +97 -0
- package/package.json +1 -1
- package/src/modules/bmgd/_module-installer/installer.js +160 -0
- package/src/modules/bmgd/_module-installer/platform-specifics/claude-code.js +23 -0
- package/src/modules/bmgd/_module-installer/platform-specifics/windsurf.js +18 -0
- package/src/modules/bmgd/agents/game-architect.agent.yaml +23 -8
- package/src/modules/bmgd/agents/game-designer.agent.yaml +38 -18
- package/src/modules/bmgd/agents/game-dev.agent.yaml +30 -14
- package/src/modules/bmgd/agents/game-qa.agent.yaml +64 -0
- package/src/modules/bmgd/agents/game-scrum-master.agent.yaml +27 -39
- package/src/modules/bmgd/agents/game-solo-dev.agent.yaml +56 -0
- package/src/modules/bmgd/docs/README.md +180 -0
- package/src/modules/bmgd/docs/agents-guide.md +407 -0
- package/src/modules/bmgd/docs/game-types-guide.md +503 -0
- package/src/modules/bmgd/docs/glossary.md +294 -0
- package/src/modules/bmgd/docs/quick-flow-guide.md +288 -0
- package/src/modules/bmgd/docs/quick-start.md +250 -0
- package/src/modules/bmgd/docs/troubleshooting.md +259 -0
- package/src/modules/bmgd/docs/workflow-overview.jpg +0 -0
- package/src/modules/bmgd/docs/workflows-guide.md +463 -0
- package/src/modules/bmgd/gametest/knowledge/balance-testing.md +220 -0
- package/src/modules/bmgd/gametest/knowledge/certification-testing.md +319 -0
- package/src/modules/bmgd/gametest/knowledge/compatibility-testing.md +228 -0
- package/src/modules/bmgd/gametest/knowledge/godot-testing.md +376 -0
- package/src/modules/bmgd/gametest/knowledge/input-testing.md +315 -0
- package/src/modules/bmgd/gametest/knowledge/localization-testing.md +304 -0
- package/src/modules/bmgd/gametest/knowledge/multiplayer-testing.md +322 -0
- package/src/modules/bmgd/gametest/knowledge/performance-testing.md +204 -0
- package/src/modules/bmgd/gametest/knowledge/playtesting.md +384 -0
- package/src/modules/bmgd/gametest/knowledge/qa-automation.md +190 -0
- package/src/modules/bmgd/gametest/knowledge/regression-testing.md +280 -0
- package/src/modules/bmgd/gametest/knowledge/save-testing.md +280 -0
- package/src/modules/bmgd/gametest/knowledge/smoke-testing.md +404 -0
- package/src/modules/bmgd/gametest/knowledge/test-priorities.md +271 -0
- package/src/modules/bmgd/gametest/knowledge/unity-testing.md +383 -0
- package/src/modules/bmgd/gametest/knowledge/unreal-testing.md +388 -0
- package/src/modules/bmgd/gametest/qa-index.csv +17 -0
- package/src/modules/bmgd/module.yaml +25 -9
- package/src/modules/bmgd/teams/default-party.csv +2 -0
- package/src/modules/bmgd/teams/team-gamedev.yaml +12 -1
- package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/steps/step-01-init.md +164 -0
- package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/steps/step-02-context.md +210 -0
- package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/steps/step-03-ideation.md +289 -0
- package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/steps/step-04-complete.md +275 -0
- package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/workflow.md +49 -0
- package/src/modules/bmgd/workflows/1-preproduction/brainstorm-game/workflow.yaml +29 -8
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-01-init.md +223 -0
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-01b-continue.md +151 -0
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-02-vision.md +218 -0
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-03-market.md +218 -0
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-04-fundamentals.md +231 -0
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-05-scope.md +242 -0
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-06-references.md +224 -0
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-07-content.md +282 -0
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/steps/step-08-complete.md +296 -0
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/workflow.md +62 -0
- package/src/modules/bmgd/workflows/1-preproduction/game-brief/workflow.yaml +40 -9
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-01-init.md +248 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-01b-continue.md +173 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-02-context.md +332 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-03-platforms.md +245 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-04-vision.md +229 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-05-core-gameplay.md +258 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-06-mechanics.md +249 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-07-game-type.md +266 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-08-progression.md +272 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-09-levels.md +264 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-10-art-audio.md +255 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-11-technical.md +275 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-12-epics.md +284 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-13-metrics.md +250 -0
- package/src/modules/bmgd/workflows/2-design/gdd/steps/step-14-complete.md +335 -0
- package/src/modules/bmgd/workflows/2-design/gdd/workflow.md +61 -0
- package/src/modules/bmgd/workflows/2-design/gdd/workflow.yaml +27 -7
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-01-init.md +228 -0
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-01b-continue.md +163 -0
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-02-foundation.md +262 -0
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-03-story.md +238 -0
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-04-characters.md +297 -0
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-05-world.md +262 -0
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-06-dialogue.md +250 -0
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-07-environmental.md +244 -0
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-08-delivery.md +264 -0
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-09-integration.md +254 -0
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-10-production.md +262 -0
- package/src/modules/bmgd/workflows/2-design/narrative/steps/step-11-complete.md +331 -0
- package/src/modules/bmgd/workflows/2-design/narrative/workflow.md +57 -0
- package/src/modules/bmgd/workflows/2-design/narrative/workflow.yaml +53 -8
- package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-01-init.md +223 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-01b-continue.md +153 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-02-context.md +262 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-03-starter.md +290 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-04-decisions.md +300 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-05-crosscutting.md +319 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-06-structure.md +304 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-07-patterns.md +349 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-08-validation.md +293 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/steps/step-09-complete.md +302 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/workflow.md +55 -0
- package/src/modules/bmgd/workflows/3-technical/game-architecture/workflow.yaml +50 -21
- package/src/modules/bmgd/workflows/4-production/code-review/checklist.md +23 -0
- package/src/modules/bmgd/workflows/4-production/code-review/instructions.xml +225 -0
- package/src/modules/bmgd/workflows/4-production/code-review/workflow.yaml +18 -15
- package/src/modules/bmgd/workflows/4-production/correct-course/checklist.md +1 -1
- package/src/modules/bmgd/workflows/4-production/correct-course/instructions.md +1 -1
- package/src/modules/bmgd/workflows/4-production/correct-course/workflow.yaml +11 -6
- package/src/modules/bmgd/workflows/4-production/create-story/checklist.md +332 -214
- package/src/modules/bmgd/workflows/4-production/create-story/instructions.xml +298 -0
- package/src/modules/bmgd/workflows/4-production/create-story/template.md +3 -5
- package/src/modules/bmgd/workflows/4-production/create-story/workflow.yaml +12 -7
- package/src/modules/bmgd/workflows/4-production/dev-story/checklist.md +65 -23
- package/src/modules/bmgd/workflows/4-production/dev-story/instructions.xml +409 -0
- package/src/modules/bmgd/workflows/4-production/dev-story/workflow.yaml +13 -3
- package/src/modules/bmgd/workflows/4-production/retrospective/instructions.md +4 -4
- package/src/modules/bmgd/workflows/4-production/retrospective/workflow.yaml +12 -7
- package/src/modules/bmgd/workflows/4-production/sprint-planning/instructions.md +32 -41
- package/src/modules/bmgd/workflows/4-production/sprint-planning/sprint-status-template.yaml +13 -13
- package/src/modules/bmgd/workflows/4-production/sprint-planning/workflow.yaml +6 -1
- package/src/modules/bmgd/workflows/4-production/sprint-status/instructions.md +229 -0
- package/src/modules/bmgd/workflows/4-production/sprint-status/workflow.yaml +35 -0
- package/src/modules/bmgd/workflows/bmgd-quick-flow/create-tech-spec/instructions.md +140 -0
- package/src/modules/bmgd/workflows/bmgd-quick-flow/create-tech-spec/workflow.yaml +27 -0
- package/src/modules/bmgd/workflows/bmgd-quick-flow/quick-dev/checklist.md +37 -0
- package/src/modules/bmgd/workflows/bmgd-quick-flow/quick-dev/instructions.md +220 -0
- package/src/modules/bmgd/workflows/bmgd-quick-flow/quick-dev/workflow.yaml +45 -0
- package/src/modules/bmgd/workflows/bmgd-quick-flow/quick-prototype/checklist.md +26 -0
- package/src/modules/bmgd/workflows/bmgd-quick-flow/quick-prototype/instructions.md +156 -0
- package/src/modules/bmgd/workflows/bmgd-quick-flow/quick-prototype/workflow.yaml +36 -0
- package/src/modules/bmgd/workflows/gametest/automate/checklist.md +93 -0
- package/src/modules/bmgd/workflows/gametest/automate/instructions.md +317 -0
- package/src/modules/bmgd/workflows/gametest/automate/workflow.yaml +50 -0
- package/src/modules/bmgd/workflows/gametest/performance/checklist.md +96 -0
- package/src/modules/bmgd/workflows/gametest/performance/instructions.md +323 -0
- package/src/modules/bmgd/workflows/gametest/performance/performance-template.md +256 -0
- package/src/modules/bmgd/workflows/gametest/performance/workflow.yaml +48 -0
- package/src/modules/bmgd/workflows/gametest/playtest-plan/checklist.md +93 -0
- package/src/modules/bmgd/workflows/gametest/playtest-plan/instructions.md +297 -0
- package/src/modules/bmgd/workflows/gametest/playtest-plan/playtest-template.md +208 -0
- package/src/modules/bmgd/workflows/gametest/playtest-plan/workflow.yaml +59 -0
- package/src/modules/bmgd/workflows/gametest/test-design/checklist.md +98 -0
- package/src/modules/bmgd/workflows/gametest/test-design/instructions.md +280 -0
- package/src/modules/bmgd/workflows/gametest/test-design/test-design-template.md +205 -0
- package/src/modules/bmgd/workflows/gametest/test-design/workflow.yaml +47 -0
- package/src/modules/bmgd/workflows/gametest/test-framework/checklist.md +103 -0
- package/src/modules/bmgd/workflows/gametest/test-framework/instructions.md +348 -0
- package/src/modules/bmgd/workflows/gametest/test-framework/workflow.yaml +48 -0
- package/src/modules/bmgd/workflows/gametest/test-review/checklist.md +87 -0
- package/src/modules/bmgd/workflows/gametest/test-review/instructions.md +272 -0
- package/src/modules/bmgd/workflows/gametest/test-review/test-review-template.md +203 -0
- package/src/modules/bmgd/workflows/gametest/test-review/workflow.yaml +48 -0
- package/src/modules/bmgd/workflows/workflow-status/init/instructions.md +299 -0
- package/src/modules/bmgd/workflows/workflow-status/init/workflow.yaml +29 -0
- package/src/modules/bmgd/workflows/workflow-status/instructions.md +395 -0
- package/src/modules/bmgd/workflows/workflow-status/paths/gamedev-brownfield.yaml +65 -0
- package/src/modules/bmgd/workflows/workflow-status/paths/gamedev-greenfield.yaml +71 -0
- package/src/modules/bmgd/workflows/workflow-status/paths/quickflow-brownfield.yaml +29 -0
- package/src/modules/bmgd/workflows/workflow-status/paths/quickflow-greenfield.yaml +39 -0
- package/src/modules/bmgd/workflows/workflow-status/project-levels.yaml +63 -0
- package/src/modules/bmgd/workflows/workflow-status/workflow-status-template.yaml +24 -0
- package/src/modules/bmgd/workflows/workflow-status/workflow.yaml +30 -0
- package/tools/cli/commands/install.js +9 -0
- package/tools/cli/installers/lib/core/installer.js +109 -109
- package/tools/cli/installers/lib/core/installer.js.bak +3204 -0
- package/tools/cli/installers/lib/modules/manager.js +16 -4
- package/tools/cli/lib/agent/compiler.js +99 -0
- package/tools/cli/lib/ui.js +78 -27
- package/src/modules/bmgd/workflows/2-design/gdd/instructions-gdd.md +0 -502
- package/src/modules/bmgd/workflows/4-production/code-review/instructions.md +0 -398
- package/src/modules/bmgd/workflows/4-production/create-story/instructions.md +0 -256
- package/src/modules/bmgd/workflows/4-production/dev-story/instructions.md +0 -267
- package/src/modules/bmgd/workflows/4-production/epic-tech-context/checklist.md +0 -17
- package/src/modules/bmgd/workflows/4-production/epic-tech-context/instructions.md +0 -164
- package/src/modules/bmgd/workflows/4-production/epic-tech-context/template.md +0 -76
- package/src/modules/bmgd/workflows/4-production/epic-tech-context/workflow.yaml +0 -58
- package/src/modules/bmgd/workflows/4-production/story-context/checklist.md +0 -16
- package/src/modules/bmgd/workflows/4-production/story-context/context-template.xml +0 -34
- package/src/modules/bmgd/workflows/4-production/story-context/instructions.md +0 -209
- package/src/modules/bmgd/workflows/4-production/story-context/workflow.yaml +0 -63
- package/src/modules/bmgd/workflows/4-production/story-done/instructions.md +0 -111
- package/src/modules/bmgd/workflows/4-production/story-done/workflow.yaml +0 -28
- package/src/modules/bmgd/workflows/4-production/story-ready/instructions.md +0 -117
- package/src/modules/bmgd/workflows/4-production/story-ready/workflow.yaml +0 -25
- /package/src/modules/bmgd/workflows/1-preproduction/game-brief/{template.md → templates/game-brief-template.md} +0 -0
- /package/src/modules/bmgd/workflows/2-design/gdd/{gdd-template.md → templates/gdd-template.md} +0 -0
- /package/src/modules/bmgd/workflows/2-design/narrative/{narrative-template.md → templates/narrative-template.md} +0 -0
- /package/src/modules/bmgd/workflows/3-technical/game-architecture/{architecture-template.md → templates/architecture-template.md} +0 -0
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
<!-- Powered by BMAD-CORE™ -->
|
|
2
|
+
|
|
3
|
+
# Game Test Design
|
|
4
|
+
|
|
5
|
+
**Workflow ID**: `_bmad/bmgd/gametest/test-design`
|
|
6
|
+
**Version**: 1.0 (BMad v6)
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Overview
|
|
11
|
+
|
|
12
|
+
Create comprehensive test scenarios for game projects, covering gameplay mechanics, progression systems, multiplayer functionality, and platform requirements. This workflow produces a prioritized test plan based on risk assessment and player impact.
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Preflight Requirements
|
|
17
|
+
|
|
18
|
+
- ✅ Game design documentation available (GDD, feature specs)
|
|
19
|
+
- ✅ Understanding of target platforms
|
|
20
|
+
- ✅ Knowledge of core gameplay loop
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Step 1: Gather Context
|
|
25
|
+
|
|
26
|
+
### Actions
|
|
27
|
+
|
|
28
|
+
1. **Read Game Design Documentation**
|
|
29
|
+
- Locate GDD or game-design.md
|
|
30
|
+
- Identify core mechanics and features
|
|
31
|
+
- Note target platforms and certification requirements
|
|
32
|
+
|
|
33
|
+
2. **Identify Critical Systems**
|
|
34
|
+
- Core gameplay loop
|
|
35
|
+
- Progression/save systems
|
|
36
|
+
- Multiplayer (if applicable)
|
|
37
|
+
- Monetization (if applicable)
|
|
38
|
+
|
|
39
|
+
3. **Assess Risk Areas**
|
|
40
|
+
- Player-facing features (highest priority)
|
|
41
|
+
- Data persistence (save/load)
|
|
42
|
+
- Platform certification requirements
|
|
43
|
+
- Performance-critical paths
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Step 2: Define Test Categories
|
|
48
|
+
|
|
49
|
+
### Core Gameplay Testing
|
|
50
|
+
|
|
51
|
+
**Knowledge Base Reference**: `knowledge/playtesting.md`
|
|
52
|
+
|
|
53
|
+
| Category | Focus | Priority |
|
|
54
|
+
| ------------------ | -------------------------- | -------- |
|
|
55
|
+
| Core Loop | Primary mechanic execution | P0 |
|
|
56
|
+
| Combat/Interaction | Hit detection, feedback | P0 |
|
|
57
|
+
| Movement | Physics, collision, feel | P0 |
|
|
58
|
+
| UI/UX | Menu navigation, HUD | P1 |
|
|
59
|
+
| Audio | Sound triggers, music | P2 |
|
|
60
|
+
|
|
61
|
+
### Progression Testing
|
|
62
|
+
|
|
63
|
+
**Knowledge Base Reference**: `knowledge/save-testing.md`
|
|
64
|
+
|
|
65
|
+
| Category | Focus | Priority |
|
|
66
|
+
| ------------ | ------------------ | -------- |
|
|
67
|
+
| Save/Load | Data persistence | P0 |
|
|
68
|
+
| Unlocks | Content gating | P1 |
|
|
69
|
+
| Economy | Currency, rewards | P1 |
|
|
70
|
+
| Achievements | Trigger conditions | P2 |
|
|
71
|
+
|
|
72
|
+
### Multiplayer Testing (if applicable)
|
|
73
|
+
|
|
74
|
+
**Knowledge Base Reference**: `knowledge/multiplayer-testing.md`
|
|
75
|
+
|
|
76
|
+
| Category | Focus | Priority |
|
|
77
|
+
| --------------- | ------------------- | -------- |
|
|
78
|
+
| Connectivity | Join/leave handling | P0 |
|
|
79
|
+
| Synchronization | State consistency | P0 |
|
|
80
|
+
| Latency | Degraded network | P1 |
|
|
81
|
+
| Matchmaking | Player grouping | P1 |
|
|
82
|
+
|
|
83
|
+
### Platform Testing
|
|
84
|
+
|
|
85
|
+
**Knowledge Base Reference**: `knowledge/certification-testing.md`
|
|
86
|
+
|
|
87
|
+
| Category | Focus | Priority |
|
|
88
|
+
| ------------- | ------------------- | -------- |
|
|
89
|
+
| Certification | TRC/XR requirements | P0 |
|
|
90
|
+
| Input | Controller support | P0 |
|
|
91
|
+
| Performance | FPS, loading times | P1 |
|
|
92
|
+
| Accessibility | Assist features | P1 |
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## Step 3: Create Test Scenarios
|
|
97
|
+
|
|
98
|
+
### Scenario Format
|
|
99
|
+
|
|
100
|
+
For each critical feature, create scenarios using this format:
|
|
101
|
+
|
|
102
|
+
```
|
|
103
|
+
SCENARIO: [Descriptive Name]
|
|
104
|
+
GIVEN [Initial state/preconditions]
|
|
105
|
+
WHEN [Action taken]
|
|
106
|
+
THEN [Expected outcome]
|
|
107
|
+
PRIORITY: P0/P1/P2/P3
|
|
108
|
+
CATEGORY: [gameplay/progression/multiplayer/platform]
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### Example Scenarios
|
|
112
|
+
|
|
113
|
+
**Gameplay - Combat**
|
|
114
|
+
|
|
115
|
+
```
|
|
116
|
+
SCENARIO: Basic Attack Hits Enemy
|
|
117
|
+
GIVEN player is within attack range of enemy
|
|
118
|
+
AND enemy has 100 health
|
|
119
|
+
WHEN player performs basic attack
|
|
120
|
+
THEN enemy receives damage
|
|
121
|
+
AND damage feedback plays (visual + audio)
|
|
122
|
+
AND enemy health decreases
|
|
123
|
+
PRIORITY: P0
|
|
124
|
+
CATEGORY: gameplay
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
**Progression - Save System**
|
|
128
|
+
|
|
129
|
+
```
|
|
130
|
+
SCENARIO: Save Preserves Player Progress
|
|
131
|
+
GIVEN player has 500 gold and 3 items
|
|
132
|
+
AND player is at checkpoint
|
|
133
|
+
WHEN game saves
|
|
134
|
+
AND game is reloaded
|
|
135
|
+
THEN player has 500 gold
|
|
136
|
+
AND player has same 3 items
|
|
137
|
+
AND player is at same checkpoint
|
|
138
|
+
PRIORITY: P0
|
|
139
|
+
CATEGORY: progression
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
**Multiplayer - Network Degradation**
|
|
143
|
+
|
|
144
|
+
```
|
|
145
|
+
SCENARIO: Gameplay Under High Latency
|
|
146
|
+
GIVEN 2 players in session
|
|
147
|
+
AND network latency is 200ms
|
|
148
|
+
WHEN Player 1 attacks Player 2
|
|
149
|
+
THEN damage is applied correctly
|
|
150
|
+
AND positions remain synchronized
|
|
151
|
+
AND no desync occurs
|
|
152
|
+
PRIORITY: P1
|
|
153
|
+
CATEGORY: multiplayer
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
## Step 4: Prioritize Test Coverage
|
|
159
|
+
|
|
160
|
+
### Priority Assignment
|
|
161
|
+
|
|
162
|
+
**Knowledge Base Reference**: `knowledge/test-priorities.md`
|
|
163
|
+
|
|
164
|
+
| Priority | Criteria | Coverage Target |
|
|
165
|
+
| -------- | ---------------------------- | --------------- |
|
|
166
|
+
| P0 | Ship blockers, certification | 100% automated |
|
|
167
|
+
| P1 | Major features, common paths | 80% automated |
|
|
168
|
+
| P2 | Secondary features | 60% automated |
|
|
169
|
+
| P3 | Edge cases, polish | Manual only |
|
|
170
|
+
|
|
171
|
+
### Risk-Based Ordering
|
|
172
|
+
|
|
173
|
+
1. **Critical Path** - Main gameplay loop
|
|
174
|
+
2. **Data Integrity** - Save/load, progression
|
|
175
|
+
3. **Platform Requirements** - Certification items
|
|
176
|
+
4. **User Experience** - Feel, polish, accessibility
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
## Step 5: Generate Test Design Document
|
|
181
|
+
|
|
182
|
+
### Document Structure
|
|
183
|
+
|
|
184
|
+
```markdown
|
|
185
|
+
# Game Test Design: [Project Name]
|
|
186
|
+
|
|
187
|
+
## Overview
|
|
188
|
+
|
|
189
|
+
- Game type and core mechanics
|
|
190
|
+
- Target platforms
|
|
191
|
+
- Test scope and objectives
|
|
192
|
+
|
|
193
|
+
## Risk Assessment
|
|
194
|
+
|
|
195
|
+
- High-risk areas identified
|
|
196
|
+
- Mitigation strategies
|
|
197
|
+
|
|
198
|
+
## Test Categories
|
|
199
|
+
|
|
200
|
+
### Gameplay Tests
|
|
201
|
+
|
|
202
|
+
[Scenarios...]
|
|
203
|
+
|
|
204
|
+
### Progression Tests
|
|
205
|
+
|
|
206
|
+
[Scenarios...]
|
|
207
|
+
|
|
208
|
+
### Multiplayer Tests (if applicable)
|
|
209
|
+
|
|
210
|
+
[Scenarios...]
|
|
211
|
+
|
|
212
|
+
### Platform Tests
|
|
213
|
+
|
|
214
|
+
[Scenarios...]
|
|
215
|
+
|
|
216
|
+
## Coverage Matrix
|
|
217
|
+
|
|
218
|
+
| Feature | P0 | P1 | P2 | P3 |
|
|
219
|
+
| ------- | --- | --- | --- | --- |
|
|
220
|
+
| Combat | 5 | 10 | 8 | 4 |
|
|
221
|
+
|
|
222
|
+
| ...
|
|
223
|
+
|
|
224
|
+
## Automation Strategy
|
|
225
|
+
|
|
226
|
+
- Unit test candidates
|
|
227
|
+
- Integration test candidates
|
|
228
|
+
- Manual-only scenarios
|
|
229
|
+
|
|
230
|
+
## Next Steps
|
|
231
|
+
|
|
232
|
+
1. Implement P0 tests
|
|
233
|
+
2. Set up CI integration
|
|
234
|
+
3. Plan playtesting sessions
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
---
|
|
238
|
+
|
|
239
|
+
## Deliverables
|
|
240
|
+
|
|
241
|
+
1. **Test Design Document** - `{output_folder}/game-test-design.md`
|
|
242
|
+
2. **Scenario List** - Prioritized test scenarios
|
|
243
|
+
3. **Coverage Matrix** - Feature vs priority breakdown
|
|
244
|
+
4. **Automation Recommendations** - What to automate vs manual test
|
|
245
|
+
|
|
246
|
+
---
|
|
247
|
+
|
|
248
|
+
## Output Summary
|
|
249
|
+
|
|
250
|
+
```markdown
|
|
251
|
+
## Test Design Complete
|
|
252
|
+
|
|
253
|
+
**Project**: {project_name}
|
|
254
|
+
**Scenarios Created**: {count}
|
|
255
|
+
**Priority Breakdown**:
|
|
256
|
+
|
|
257
|
+
- P0 (Critical): {p0_count}
|
|
258
|
+
- P1 (High): {p1_count}
|
|
259
|
+
- P2 (Medium): {p2_count}
|
|
260
|
+
- P3 (Low): {p3_count}
|
|
261
|
+
|
|
262
|
+
**Focus Areas Covered**:
|
|
263
|
+
|
|
264
|
+
- ✅ Core Gameplay
|
|
265
|
+
- ✅ Progression/Save
|
|
266
|
+
- ✅ Platform Requirements
|
|
267
|
+
- {✅/⬜} Multiplayer
|
|
268
|
+
|
|
269
|
+
**Next Steps**:
|
|
270
|
+
|
|
271
|
+
1. Review scenarios with team
|
|
272
|
+
2. Use `automate` workflow to generate test code
|
|
273
|
+
3. Use `playtest-plan` for manual testing sessions
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
---
|
|
277
|
+
|
|
278
|
+
## Validation
|
|
279
|
+
|
|
280
|
+
Refer to `checklist.md` for validation criteria.
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
# Game Test Design: {PROJECT_NAME}
|
|
2
|
+
|
|
3
|
+
**Version**: 1.0
|
|
4
|
+
**Created**: {DATE}
|
|
5
|
+
**Author**: {AUTHOR}
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Overview
|
|
10
|
+
|
|
11
|
+
### Game Description
|
|
12
|
+
|
|
13
|
+
{Brief description of the game, genre, and core mechanics}
|
|
14
|
+
|
|
15
|
+
### Target Platforms
|
|
16
|
+
|
|
17
|
+
- [ ] PC (Steam/Epic)
|
|
18
|
+
- [ ] PlayStation 5
|
|
19
|
+
- [ ] Xbox Series X|S
|
|
20
|
+
- [ ] Nintendo Switch
|
|
21
|
+
- [ ] Mobile (iOS/Android)
|
|
22
|
+
|
|
23
|
+
### Test Scope
|
|
24
|
+
|
|
25
|
+
{What is in scope and out of scope for testing}
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Risk Assessment
|
|
30
|
+
|
|
31
|
+
### High-Risk Areas
|
|
32
|
+
|
|
33
|
+
| Area | Risk | Mitigation |
|
|
34
|
+
| ------ | ----------------- | --------------- |
|
|
35
|
+
| {area} | {potential issue} | {test strategy} |
|
|
36
|
+
|
|
37
|
+
### Risk Priority Matrix
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
IMPACT
|
|
41
|
+
Low High
|
|
42
|
+
┌─────────┬─────────┐
|
|
43
|
+
High │ P2 │ P0 │
|
|
44
|
+
LIKELIHOOD ├─────────┼─────────┤
|
|
45
|
+
Low │ P3 │ P1 │
|
|
46
|
+
└─────────┴─────────┘
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Test Categories
|
|
52
|
+
|
|
53
|
+
### 1. Core Gameplay Tests
|
|
54
|
+
|
|
55
|
+
#### 1.1 Core Loop
|
|
56
|
+
|
|
57
|
+
```
|
|
58
|
+
SCENARIO: {Scenario Name}
|
|
59
|
+
GIVEN {preconditions}
|
|
60
|
+
WHEN {action}
|
|
61
|
+
THEN {expected outcome}
|
|
62
|
+
PRIORITY: P0
|
|
63
|
+
CATEGORY: gameplay
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
#### 1.2 Combat/Interaction
|
|
67
|
+
|
|
68
|
+
{scenarios}
|
|
69
|
+
|
|
70
|
+
#### 1.3 Movement/Physics
|
|
71
|
+
|
|
72
|
+
{scenarios}
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
### 2. Progression Tests
|
|
77
|
+
|
|
78
|
+
#### 2.1 Save/Load System
|
|
79
|
+
|
|
80
|
+
```
|
|
81
|
+
SCENARIO: Basic Save/Load Round Trip
|
|
82
|
+
GIVEN player has made progress
|
|
83
|
+
WHEN game is saved and reloaded
|
|
84
|
+
THEN all progress is preserved
|
|
85
|
+
PRIORITY: P0
|
|
86
|
+
CATEGORY: progression
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
#### 2.2 Unlock System
|
|
90
|
+
|
|
91
|
+
{scenarios}
|
|
92
|
+
|
|
93
|
+
#### 2.3 Economy
|
|
94
|
+
|
|
95
|
+
{scenarios}
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
### 3. Multiplayer Tests (if applicable)
|
|
100
|
+
|
|
101
|
+
#### 3.1 Connectivity
|
|
102
|
+
|
|
103
|
+
{scenarios}
|
|
104
|
+
|
|
105
|
+
#### 3.2 Synchronization
|
|
106
|
+
|
|
107
|
+
{scenarios}
|
|
108
|
+
|
|
109
|
+
#### 3.3 Network Degradation
|
|
110
|
+
|
|
111
|
+
{scenarios}
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
### 4. Platform Tests
|
|
116
|
+
|
|
117
|
+
#### 4.1 Certification Requirements
|
|
118
|
+
|
|
119
|
+
{scenarios for TRC/XR items}
|
|
120
|
+
|
|
121
|
+
#### 4.2 Input Handling
|
|
122
|
+
|
|
123
|
+
{scenarios}
|
|
124
|
+
|
|
125
|
+
#### 4.3 Performance
|
|
126
|
+
|
|
127
|
+
{scenarios}
|
|
128
|
+
|
|
129
|
+
#### 4.4 Accessibility
|
|
130
|
+
|
|
131
|
+
{scenarios}
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
## Coverage Matrix
|
|
136
|
+
|
|
137
|
+
| Feature | P0 | P1 | P2 | P3 | Total |
|
|
138
|
+
| ------------- | --- | --- | --- | --- | ----- |
|
|
139
|
+
| Core Gameplay | | | | | |
|
|
140
|
+
| Combat | | | | | |
|
|
141
|
+
| Progression | | | | | |
|
|
142
|
+
| Save/Load | | | | | |
|
|
143
|
+
| Multiplayer | | | | | |
|
|
144
|
+
| Platform | | | | | |
|
|
145
|
+
| **Total** | | | | | |
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## Automation Strategy
|
|
150
|
+
|
|
151
|
+
### Recommended for Automation (Unit/Integration)
|
|
152
|
+
|
|
153
|
+
- {feature/scenario} - Reason
|
|
154
|
+
- {feature/scenario} - Reason
|
|
155
|
+
|
|
156
|
+
### Manual Testing Required
|
|
157
|
+
|
|
158
|
+
- {feature/scenario} - Reason (e.g., requires human judgment on "feel")
|
|
159
|
+
- {feature/scenario} - Reason
|
|
160
|
+
|
|
161
|
+
### Automation Tools
|
|
162
|
+
|
|
163
|
+
- **Engine**: {Unity/Unreal/Godot}
|
|
164
|
+
- **Framework**: {Unity Test Framework/Unreal Automation/GUT}
|
|
165
|
+
- **CI Integration**: {GitHub Actions/Jenkins/etc.}
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## Playtesting Recommendations
|
|
170
|
+
|
|
171
|
+
### Internal Playtests
|
|
172
|
+
|
|
173
|
+
- Focus: Core loop validation
|
|
174
|
+
- Participants: QA + dev team
|
|
175
|
+
- Duration: {hours}
|
|
176
|
+
|
|
177
|
+
### External Playtests
|
|
178
|
+
|
|
179
|
+
- Focus: User experience, difficulty curve
|
|
180
|
+
- Participants: Target audience
|
|
181
|
+
- Duration: {hours}
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
## Next Steps
|
|
186
|
+
|
|
187
|
+
1. [ ] Review test design with team
|
|
188
|
+
2. [ ] Prioritize P0 test implementation
|
|
189
|
+
3. [ ] Set up test framework (use `framework` workflow)
|
|
190
|
+
4. [ ] Generate automated tests (use `automate` workflow)
|
|
191
|
+
5. [ ] Plan playtesting sessions (use `playtest-plan` workflow)
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
## Appendix
|
|
196
|
+
|
|
197
|
+
### Glossary
|
|
198
|
+
|
|
199
|
+
{Game-specific terms and definitions}
|
|
200
|
+
|
|
201
|
+
### References
|
|
202
|
+
|
|
203
|
+
- Game Design Document
|
|
204
|
+
- Platform Certification Guidelines
|
|
205
|
+
- Knowledge Base: `qa-index.csv`
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# Game QA workflow: test-design
|
|
2
|
+
name: gametest-test-design
|
|
3
|
+
description: "Create comprehensive game test scenarios covering gameplay, progression, and quality requirements"
|
|
4
|
+
author: "BMad"
|
|
5
|
+
|
|
6
|
+
# Critical variables from config
|
|
7
|
+
config_source: "{project-root}/_bmad/bmgd/config.yaml"
|
|
8
|
+
output_folder: "{config_source}:output_folder"
|
|
9
|
+
user_name: "{config_source}:user_name"
|
|
10
|
+
communication_language: "{config_source}:communication_language"
|
|
11
|
+
document_output_language: "{config_source}:document_output_language"
|
|
12
|
+
date: system-generated
|
|
13
|
+
|
|
14
|
+
# Workflow components
|
|
15
|
+
installed_path: "{project-root}/_bmad/bmgd/workflows/gametest/test-design"
|
|
16
|
+
instructions: "{installed_path}/instructions.md"
|
|
17
|
+
validation: "{installed_path}/checklist.md"
|
|
18
|
+
template: "{installed_path}/test-design-template.md"
|
|
19
|
+
|
|
20
|
+
# Variables and inputs
|
|
21
|
+
variables:
|
|
22
|
+
design_level: "full" # full, targeted, minimal
|
|
23
|
+
focus_area: "auto" # auto, gameplay, progression, multiplayer, performance
|
|
24
|
+
|
|
25
|
+
# Output configuration
|
|
26
|
+
default_output_file: "{output_folder}/game-test-design.md"
|
|
27
|
+
|
|
28
|
+
# Required tools
|
|
29
|
+
required_tools:
|
|
30
|
+
- read_file
|
|
31
|
+
- write_file
|
|
32
|
+
- list_files
|
|
33
|
+
- search_repo
|
|
34
|
+
|
|
35
|
+
tags:
|
|
36
|
+
- qa
|
|
37
|
+
- planning
|
|
38
|
+
- game-testing
|
|
39
|
+
- risk-assessment
|
|
40
|
+
- coverage
|
|
41
|
+
|
|
42
|
+
execution_hints:
|
|
43
|
+
interactive: false
|
|
44
|
+
autonomous: true
|
|
45
|
+
iterative: true
|
|
46
|
+
|
|
47
|
+
web_bundle: false
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# Game Test Framework Setup - Validation Checklist
|
|
2
|
+
|
|
3
|
+
This checklist ensures the framework workflow completes successfully.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Prerequisites
|
|
8
|
+
|
|
9
|
+
- [ ] Game project exists with identifiable engine
|
|
10
|
+
- [ ] Engine type detected (Unity, Unreal, or Godot)
|
|
11
|
+
- [ ] No existing test framework conflicts
|
|
12
|
+
- [ ] Write permissions to create directories
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Engine Detection
|
|
17
|
+
|
|
18
|
+
- [ ] Engine type correctly identified
|
|
19
|
+
- [ ] Engine version detected
|
|
20
|
+
- [ ] Project structure understood
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Unity-Specific Checks
|
|
25
|
+
|
|
26
|
+
- [ ] `Assets/Tests/` directory created
|
|
27
|
+
- [ ] `EditMode/` subdirectory created with `.asmdef`
|
|
28
|
+
- [ ] `PlayMode/` subdirectory created with `.asmdef`
|
|
29
|
+
- [ ] Assembly definitions reference game assembly
|
|
30
|
+
- [ ] `UNITY_INCLUDE_TESTS` constraint set
|
|
31
|
+
- [ ] Sample Edit Mode test created
|
|
32
|
+
- [ ] Sample Play Mode test created
|
|
33
|
+
- [ ] Tests compile without errors
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Unreal-Specific Checks
|
|
38
|
+
|
|
39
|
+
- [ ] `Source/<ProjectName>Tests/` directory created
|
|
40
|
+
- [ ] `<ProjectName>Tests.Build.cs` created
|
|
41
|
+
- [ ] Module references game module correctly
|
|
42
|
+
- [ ] Sample automation test created
|
|
43
|
+
- [ ] Test flags set correctly (`ProductFilter`)
|
|
44
|
+
- [ ] Tests compile without errors
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Godot-Specific Checks
|
|
49
|
+
|
|
50
|
+
- [ ] GUT plugin installed in `addons/gut/`
|
|
51
|
+
- [ ] `tests/` directory created
|
|
52
|
+
- [ ] `tests/unit/` subdirectory created
|
|
53
|
+
- [ ] `tests/integration/` subdirectory created
|
|
54
|
+
- [ ] `gut_config.json` created
|
|
55
|
+
- [ ] Sample test extends `GutTest`
|
|
56
|
+
- [ ] `before_each`/`after_each` patterns used
|
|
57
|
+
- [ ] Tests run without errors
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## Sample Tests
|
|
62
|
+
|
|
63
|
+
- [ ] Sample tests follow engine conventions
|
|
64
|
+
- [ ] Tests use Arrange-Act-Assert pattern
|
|
65
|
+
- [ ] Tests include proper cleanup
|
|
66
|
+
- [ ] Tests demonstrate framework capabilities
|
|
67
|
+
- [ ] Tests are syntactically correct
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## Documentation
|
|
72
|
+
|
|
73
|
+
- [ ] `tests/README.md` created
|
|
74
|
+
- [ ] Setup instructions included
|
|
75
|
+
- [ ] Running tests section included
|
|
76
|
+
- [ ] CI integration commands included
|
|
77
|
+
- [ ] Best practices section included
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## Quality Checks
|
|
82
|
+
|
|
83
|
+
- [ ] No compilation/syntax errors
|
|
84
|
+
- [ ] No placeholder text left
|
|
85
|
+
- [ ] No hardcoded paths (use engine conventions)
|
|
86
|
+
- [ ] Cleanup prevents orphan objects
|
|
87
|
+
- [ ] Tests are deterministic
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## Completion Criteria
|
|
92
|
+
|
|
93
|
+
- [ ] Engine correctly detected
|
|
94
|
+
- [ ] Directory structure created
|
|
95
|
+
- [ ] Configuration files generated
|
|
96
|
+
- [ ] Sample tests run successfully
|
|
97
|
+
- [ ] Documentation complete
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
**Completed by:** {name}
|
|
102
|
+
**Date:** {date}
|
|
103
|
+
**Engine:** {Unity | Unreal | Godot}
|