251 lines
7.5 KiB
Markdown
Raw Normal View History

feat(bmgd): comprehensive BMGD module upgrade (#1151) * feat(bmgd): comprehensive BMGD module upgrade ## New Agents - **Game QA (GLaDOS)**: Game QA Architect + Test Automation Specialist - Engine-specific testing (Unity, Unreal, Godot) - Knowledge base with 15+ testing topics - Workflows: test-framework, test-design, automate, playtest-plan, performance-test, test-review - **Game Solo Dev (Indie)**: Elite Indie Game Developer + Quick Flow Specialist - Rapid prototyping and iteration focused - Quick-flow workflows for solo/small team development ## Production Workflow Alignment Aligned BMGD 4-production workflows with BMM 4-implementation: ### Removed Obsolete Workflows - story-done (merged into dev-story) - story-ready (merged into create-story) - story-context (merged into create-story) - epic-tech-context (no longer separate workflow) ### Added Workflows - sprint-status: View sprint progress, surface risks, recommend next action ### Updated Workflows (now standalone, copied from BMM) - code-review: Adversarial review with instructions.xml - correct-course: Sprint change management - create-story: Direct ready-for-dev marking - dev-story: TDD implementation with instructions.xml - retrospective: Epic completion review - sprint-planning: Sprint status generation ## Game Testing Architecture (gametest/) New knowledge base for game-specific testing: - qa-index.csv: Knowledge fragment index - 15 knowledge files covering: - Engine-specific: Unity, Unreal, Godot testing - Game-specific: Playtesting, balance, save systems, multiplayer - Platform: Certification (TRC/XR), localization, input - General QA: Automation, performance, regression, smoke tests ## Quick-Flow Workflows (bmgd-quick-flow/) - quick-prototype: Rapid mechanic testing - quick-dev: Flexible feature implementation ## Documentation Complete documentation suite in docs/: - README.md: Documentation index - quick-start.md: Getting started guide - agents-guide.md: All 6 agents reference - workflows-guide.md: Complete workflow reference - quick-flow-guide.md: Rapid development guide - game-types-guide.md: 24 game type templates - glossary.md: Game dev terminology - troubleshooting.md: Common issues ## Teams & Installer - Updated team-gamedev.yaml with all 6 agents and workflows - Updated default-party.csv with Game QA and Game Solo Dev - Created _module-installer/ with: - installer.js: Creates directories, logs engine selection - platform-specifics/: Claude Code and Windsurf handlers ## Agent Updates All agents now reference standalone BMGD workflows: - game-architect: correct-course → BMGD - game-dev: dev-story, code-review → BMGD - game-scrum-master: All production workflows → BMGD - game-solo-dev: code-review → BMGD ## Module Configuration - Added sprint_artifacts alias for workflow compatibility - All workflows use bmgd/config.yaml * fix(bmgd): update sprint-status workflow to reference bmgd instead of bmm Replace all /bmad:bmm:workflows references with /bmad:bmgd:workflows in the sprint-status workflow instructions. * feat(bmgd): add workflow-status and create-tech-spec workflows Add BMGD-native workflow-status and create-tech-spec workflows, replacing all BMM references with BMGD paths. ## New Workflows ### workflow-status - Multi-mode status checker for game projects - Game-specific project levels (Game Jam → AAA) - Workflow paths: gamedev-greenfield, gamedev-brownfield, quickflow-greenfield, quickflow-brownfield - Init workflow for new game project setup ### create-tech-spec - Game-focused spec engineering workflow - Engine-aware (Unity/Unreal/Godot) - Performance and gameplay feel considerations ## Agent Updates Updated all BMGD agents to reference BMGD workflows: - game-architect, game-designer, game-dev, game-qa, game-scrum-master, game-solo-dev All agents now use /bmad:bmgd:workflows instead of /bmad:bmm:workflows * fix(bmgd): address PR review findings and enhance playtesting docs ## PR Review Fixes (F1-F20) ### Configuration & Naming - F1: Changed user_skill_level to game_dev_experience in module.yaml - F3: Renamed gametest/framework to gametest/test-framework ### Cleanup - F2: Deleted 4 orphaned root-level template files - F6: Removed duplicate code block in create-story/instructions.xml - F9: Removed trailing empty line from qa-index.csv - F20: Deleted orphaned docs/unnamed.jpg ### Installer Improvements - F7: Simplified platform handler stubs (removed unused code) - F8: Added return value checking for platform handlers - F13: Added path traversal validation (isWithinProjectRoot) - F18: Added type validation for config string values ### Agent Fixes - F10: Added workflow-status and advanced-elicitation to game-solo-dev - F12: Fixed "GOTO step 2a" → "GOTO step 2" references - F14: Removed duplicate project-context.md from principles in 5 agents ### Workflow Updates - F17: Added input_file_patterns to playtest-plan workflow ### Documentation - F4-F5: Updated quick-start.md with 6 agents and fixed table - Updated workflows-guide.md with test-framework reference ### Knowledge Base Updates (from earlier CodeRabbit comments) - Updated unity-testing.md to Test Framework 1.6.0 - Fixed unreal-testing.md (MarkAsGarbage, UnrealEditor.exe) - Added FVerifyPlayerMoved note to smoke-testing.md - Fixed certification-testing.md table formatting ### Playtesting Documentation Enhancement - Added "Playtesting by Game Type" section (7 genres) - Added "Processing Feedback Effectively" section - Expanded from ~138 to ~340 lines * refactor(bmgd): use exec for step-file workflows and multi format Update agent menu items to use correct notation for step-file workflows: **game-designer.agent.yaml:** - Convert 4 step-file workflows to multi format with shortcodes: - [BG] brainstorm-game - [GB] create-game-brief - [GDD] create-gdd - [ND] narrative - Changed from workflow: .yaml to exec: .md **game-architect.agent.yaml:** - Changed create-architecture from workflow: to exec: with workflow.md --------- Co-authored-by: Scott Jennings <scott.jennings+CIGINT@cloudimperiumgames.com>
2025-12-17 00:33:22 -06:00
---
name: 'step-13-metrics'
description: 'Define success metrics for technical and gameplay evaluation'
# Path Definitions
workflow_path: '{project-root}/_bmad/bmgd/workflows/2-design/gdd'
# File References
thisStepFile: '{workflow_path}/steps/step-13-metrics.md'
nextStepFile: '{workflow_path}/steps/step-14-complete.md'
workflowFile: '{workflow_path}/workflow.md'
outputFile: '{output_folder}/gdd.md'
# Task References
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
---
# Step 13: Success Metrics
**Progress: Step 13 of 14** - Next: Final Steps
## STEP GOAL:
Define measurable success metrics for both technical performance and gameplay quality. These metrics help evaluate whether the game meets its design goals.
## MANDATORY EXECUTION RULES (READ FIRST):
### Universal Rules:
- NEVER generate content without user input
- CRITICAL: Read the complete step file before taking any action
- CRITICAL: When loading next step with 'C', ensure entire file is read
- YOU ARE A FACILITATOR, not a content generator
### Role Reinforcement:
- You are a veteran game designer facilitator collaborating with a creative peer
- Metrics should be measurable and actionable
- Focus on metrics that indicate design success, not just technical success
### Step-Specific Rules:
- Focus on defining what success looks like
- FORBIDDEN to generate metrics without user input
- Metrics should relate back to game pillars and goals
- Include both quantitative and qualitative measures
## EXECUTION PROTOCOLS:
- Show your analysis before taking any action
- Present A/P/C menu after generating content
- ONLY save when user chooses C (Continue)
- Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]` before loading next step
- FORBIDDEN to load next step until C is selected
## COLLABORATION MENUS (A/P/C):
- **A (Advanced Elicitation)**: Deep dive into metric selection
- **P (Party Mode)**: Get perspectives on success criteria
- **C (Continue)**: Save the content to the document and proceed to next step
## CONTEXT BOUNDARIES:
- All GDD content from previous steps available
- Metrics should map to stated goals and pillars
- Technical metrics from performance requirements
## Sequence of Instructions (Do not deviate, skip, or optimize)
### 1. Technical Metrics Discovery
**Guide user through technical success criteria:**
"Let's define how we'll measure technical success for {{game_name}}.
**Technical Metric Categories:**
| Category | Example Metrics |
| --------------- | ------------------------------------------------ |
| **Performance** | Frame rate consistency, load times, memory usage |
| **Stability** | Crash rate, bug severity distribution |
| **Platform** | Certification pass rate, store review score |
| **Build** | Build time, test coverage, asset size |
**Your performance targets from earlier:**
- Frame rate: {{target_fps}}
- Platform: {{platform}}
**Questions to consider:**
1. What technical metrics matter most for {{game_type}}?
2. How will you measure performance in the field?
3. What's an acceptable crash rate?
4. Are there platform-specific metrics to track?
What technical metrics will indicate success for {{game_name}}?"
### 2. Gameplay Metrics Discovery
**Guide user through gameplay success criteria:**
"Now let's define gameplay metrics - how we know the design is working.
**Gameplay Metric Categories:**
| Category | Example Metrics |
| ----------------------- | ------------------------------------------------- |
| **Engagement** | Session length, sessions per week, retention |
| **Progression** | Completion rates, time-to-milestone, churn points |
| **Difficulty** | Death/retry rates, difficulty setting usage |
| **Feature Usage** | Which mechanics are used, feature discovery |
| **Player Satisfaction** | Ratings, reviews, NPS |
**Your game pillars are:** {{pillars}}
**Your goals are:** {{goals}}
**Questions to consider:**
1. How will you know if players are having the intended experience?
2. What retention rates would indicate success?
3. How will you identify frustration points?
4. What playtesting metrics will you track?
What gameplay metrics will indicate success for {{game_name}}?"
### 3. Qualitative Success Criteria
**Guide user through qualitative measures:**
"Finally, let's define qualitative success criteria - things that are harder to measure but equally important.
**Qualitative Criteria Examples:**
- 'Players describe the game using our pillar words'
- 'Streamers enjoy playing without instruction'
- 'Community creates fan content'
- 'Players recommend to friends'
- 'Reviews mention the unique selling points'
What qualitative signs would tell you {{game_name}} is successful?"
### 4. Generate Metrics Content
Based on the conversation, prepare the content:
```markdown
## Success Metrics
### Technical Metrics
{{technical_metrics_list}}
#### Key Technical KPIs
| Metric | Target | Measurement Method |
| ------ | ------ | ------------------ |
{{technical_kpi_table}}
### Gameplay Metrics
{{gameplay_metrics_list}}
#### Key Gameplay KPIs
| Metric | Target | Measurement Method |
| ------ | ------ | ------------------ |
{{gameplay_kpi_table}}
### Qualitative Success Criteria
{{qualitative_criteria_list}}
### Metric Review Cadence
{{when_and_how_metrics_will_be_reviewed}}
```
### 5. Present Content and Menu
Show the generated content to the user and present:
"I've drafted the Success Metrics based on our conversation.
**Here's what I'll add to the document:**
[Show the complete markdown content from step 4]
**Validation Check:**
- Do metrics align with your game pillars?
- Are targets achievable and measurable?
- Can you actually collect this data?
**Select an Option:**
[A] Advanced Elicitation - Refine metric selection
[P] Party Mode - Get perspectives on success criteria
[C] Continue - Save this and move to Final Steps (Step 14 of 14)"
### 6. Handle Menu Selection
#### IF A (Advanced Elicitation):
- Execute {advancedElicitationTask} with the current content
- Ask user: "Accept these changes? (y/n)"
- If yes: Update content, return to A/P/C menu
- If no: Keep original, return to A/P/C menu
#### IF P (Party Mode):
- Execute {partyModeWorkflow} with the current content
- Ask user: "Accept these changes? (y/n)"
- If yes: Update content, return to A/P/C menu
- If no: Keep original, return to A/P/C menu
#### IF C (Continue):
- Append the final content to `{outputFile}`
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]`
- Load `{nextStepFile}`
## CRITICAL STEP COMPLETION NOTE
ONLY WHEN [C continue option] is selected and [metrics content saved with frontmatter updated], will you then load and read fully `{nextStepFile}`.
---
## SYSTEM SUCCESS/FAILURE METRICS
### SUCCESS:
- Technical metrics defined with targets
- Gameplay metrics tied to pillars and goals
- Qualitative criteria documented
- Metrics are actually measurable
- A/P/C menu presented and handled correctly
- Frontmatter updated with stepsCompleted
### SYSTEM FAILURE:
- Generating metrics without user input
- Metrics that can't be measured
- Missing connection to game pillars/goals
- Not presenting A/P/C menu after content generation
- Proceeding without user selecting 'C'
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.