* Godot Game Dev expansion pack for BMAD * Workflow changes * Workflow changes * Fixing config.yaml, editing README.md to indicate correct workflow * Fixing references to config.yaml, adding missing QA review to game-dev agent * More game story creation fixes * More game story creation fixes * Adding built web agent file * - Adding ability for QA agent to have preloaded context files similar to Dev agent. - Fixing stray Unity references in game-architecture-tmpl.yaml --------- Co-authored-by: Brian <bmadcode@gmail.com>
369 lines
9.2 KiB
Markdown
369 lines
9.2 KiB
Markdown
<!-- Powered by BMAD™ Core -->
|
||
|
||
# game-risk-profile
|
||
|
||
Generate a comprehensive risk assessment matrix for a Godot game story implementation using probability × impact analysis focused on game development challenges.
|
||
|
||
## Inputs
|
||
|
||
```yaml
|
||
required:
|
||
- story_id: '{epic}.{story}' # e.g., "1.3"
|
||
- story_path: 'docs/stories/{epic}.{story}.*.md'
|
||
- story_title: '{title}' # If missing, derive from story file H1
|
||
- story_slug: '{slug}' # If missing, derive from title (lowercase, hyphenated)
|
||
```
|
||
|
||
## Purpose
|
||
|
||
Identify, assess, and prioritize risks in Godot game feature implementation. Provide risk mitigation strategies and playtesting focus areas based on game development risk levels.
|
||
|
||
## Risk Assessment Framework
|
||
|
||
### Risk Categories
|
||
|
||
**Category Prefixes:**
|
||
|
||
- `TECH`: Technical/Engine Risks
|
||
- `PERF`: Performance/Optimization Risks
|
||
- `GAME`: Gameplay/Mechanics Risks
|
||
- `ART`: Art/Asset Pipeline Risks
|
||
- `PLAT`: Platform/Deployment Risks
|
||
- `PLAY`: Player Experience Risks
|
||
|
||
1. **Technical/Engine Risks (TECH)**
|
||
- Godot version compatibility issues
|
||
- GDScript/C# integration problems
|
||
- Node tree architecture complexity
|
||
- Signal connection failures
|
||
- Plugin/addon conflicts
|
||
- Memory leak in scene transitions
|
||
|
||
2. **Performance/Optimization Risks (PERF)**
|
||
- Frame rate drops below 60 FPS
|
||
- Draw call bottlenecks
|
||
- Physics engine slowdowns
|
||
- Particle system overload
|
||
- Texture memory exhaustion
|
||
- Shader compilation spikes
|
||
|
||
3. **Gameplay/Mechanics Risks (GAME)**
|
||
- Game balance issues
|
||
- Control responsiveness problems
|
||
- Collision detection failures
|
||
- AI behavior bugs
|
||
- Progression breaking bugs
|
||
- Save/load system corruption
|
||
|
||
4. **Art/Asset Pipeline Risks (ART)**
|
||
- Asset import failures
|
||
- Texture atlas overflow
|
||
- Animation sync issues
|
||
- Audio streaming problems
|
||
- Font rendering issues
|
||
- Sprite batching failures
|
||
|
||
5. **Platform/Deployment Risks (PLAT)**
|
||
- Export template issues
|
||
- Platform-specific bugs
|
||
- Mobile performance degradation
|
||
- Web build compatibility
|
||
- Console certification failures
|
||
- Steam/itch.io integration problems
|
||
|
||
6. **Player Experience Risks (PLAY)**
|
||
- Tutorial unclear or broken
|
||
- Difficulty curve too steep/shallow
|
||
- Multiplayer desync issues
|
||
- Achievements not triggering
|
||
- Localization text overflow
|
||
- Accessibility features missing
|
||
|
||
## Risk Analysis Process
|
||
|
||
### 1. Risk Identification
|
||
|
||
For each category, identify specific risks:
|
||
|
||
```yaml
|
||
risk:
|
||
id: 'PERF-001' # Use prefixes: TECH, PERF, GAME, ART, PLAT, PLAY
|
||
category: performance
|
||
title: 'Particle system causing frame drops in boss battle'
|
||
description: 'Multiple particle emitters active during boss fight drops FPS below 30'
|
||
affected_components:
|
||
- 'BossArena.tscn'
|
||
- 'ParticleManager.gd'
|
||
- 'BossAttackEffects'
|
||
detection_method: 'Profiler showed 80% GPU usage on particles'
|
||
```
|
||
|
||
### 2. Risk Assessment
|
||
|
||
Evaluate each risk using probability × impact:
|
||
|
||
**Probability Levels:**
|
||
|
||
- `High (3)`: Likely to occur (>70% chance)
|
||
- `Medium (2)`: Possible occurrence (30-70% chance)
|
||
- `Low (1)`: Unlikely to occur (<30% chance)
|
||
|
||
**Impact Levels:**
|
||
|
||
- `High (3)`: Severe consequences (game unplayable, save corruption, platform rejection)
|
||
- `Medium (2)`: Moderate consequences (noticeable lag, minor bugs, progression issues)
|
||
- `Low (1)`: Minor consequences (visual glitches, UI issues, quality of life problems)
|
||
|
||
### Risk Score = Probability × Impact
|
||
|
||
- 9: Critical Risk (Red)
|
||
- 6: High Risk (Orange)
|
||
- 4: Medium Risk (Yellow)
|
||
- 2-3: Low Risk (Green)
|
||
- 1: Minimal Risk (Blue)
|
||
|
||
### 3. Risk Prioritization
|
||
|
||
Create risk matrix:
|
||
|
||
```markdown
|
||
## Risk Matrix
|
||
|
||
| Risk ID | Description | Probability | Impact | Score | Priority |
|
||
| -------- | ---------------------------- | ----------- | ---------- | ----- | -------- |
|
||
| GAME-001 | Boss fight progression block | High (3) | High (3) | 9 | Critical |
|
||
| PERF-001 | Particle FPS drops | Medium (2) | Medium (2) | 4 | Medium |
|
||
| PLAT-001 | Mobile export crashes | Low (1) | High (3) | 3 | Low |
|
||
```
|
||
|
||
### 4. Risk Mitigation Strategies
|
||
|
||
For each identified risk, provide mitigation:
|
||
|
||
```yaml
|
||
mitigation:
|
||
risk_id: 'PERF-001'
|
||
strategy: 'preventive' # preventive|detective|corrective
|
||
actions:
|
||
- 'Implement particle pooling system'
|
||
- 'Add LOD (Level of Detail) for particle effects'
|
||
- 'Use GPU particles instead of CPU particles'
|
||
- 'Limit max particle count per emitter'
|
||
testing_requirements:
|
||
- 'Performance profiling on min spec hardware'
|
||
- 'Stress test with all effects active'
|
||
- 'FPS monitoring during boss encounters'
|
||
residual_risk: 'Low - May still drop to 45 FPS on very low-end devices'
|
||
owner: 'game-dev'
|
||
timeline: 'Before beta release'
|
||
```
|
||
|
||
## Outputs
|
||
|
||
### Output 1: Gate YAML Block
|
||
|
||
Generate for pasting into gate file under `risk_summary`:
|
||
|
||
**Output rules:**
|
||
|
||
- Only include assessed risks; do not emit placeholders
|
||
- Sort risks by score (desc) when emitting highest and any tabular lists
|
||
- If no risks: totals all zeros, omit highest, keep recommendations arrays empty
|
||
|
||
```yaml
|
||
# risk_summary (paste into gate file):
|
||
risk_summary:
|
||
totals:
|
||
critical: X # score 9
|
||
high: Y # score 6
|
||
medium: Z # score 4
|
||
low: W # score 2-3
|
||
highest:
|
||
id: GAME-001
|
||
score: 9
|
||
title: 'Boss fight progression blocker'
|
||
recommendations:
|
||
must_fix:
|
||
- 'Fix collision detection in boss arena'
|
||
monitor:
|
||
- 'Track FPS metrics during gameplay'
|
||
```
|
||
|
||
### Output 2: Markdown Report
|
||
|
||
**Save to:** `qa.qaLocation/assessments/{epic}.{story}-risk-{YYYYMMDD}.md`
|
||
|
||
```markdown
|
||
# Risk Profile: Story {epic}.{story}
|
||
|
||
Date: {date}
|
||
Reviewer: Linus (Test Architect)
|
||
|
||
## Executive Summary
|
||
|
||
- Total Risks Identified: X
|
||
- Critical Risks: Y
|
||
- High Risks: Z
|
||
- Risk Score: XX/100 (calculated)
|
||
|
||
## Critical Risks Requiring Immediate Attention
|
||
|
||
### 1. [ID]: Risk Title
|
||
|
||
**Score: 9 (Critical)**
|
||
**Probability**: High - Detailed reasoning
|
||
**Impact**: High - Potential consequences
|
||
**Mitigation**:
|
||
|
||
- Immediate action required
|
||
- Specific steps to take
|
||
**Testing Focus**: Specific test scenarios needed
|
||
|
||
## Risk Distribution
|
||
|
||
### By Category
|
||
|
||
- Technical/Engine: X risks (Y critical)
|
||
- Performance: X risks (Y critical)
|
||
- Gameplay: X risks (Y critical)
|
||
- Art/Assets: X risks (Y critical)
|
||
- Platform: X risks (Y critical)
|
||
- Player Experience: X risks (Y critical)
|
||
|
||
### By Component
|
||
|
||
- Game Scenes: X risks
|
||
- Player Controller: X risks
|
||
- Enemy AI: X risks
|
||
- UI/Menus: X risks
|
||
- Audio System: X risks
|
||
- Save System: X risks
|
||
|
||
## Detailed Risk Register
|
||
|
||
[Full table of all risks with scores and mitigations]
|
||
|
||
## Risk-Based Testing Strategy
|
||
|
||
### Priority 1: Critical Risk Tests
|
||
|
||
- Playtesting scenarios for game-breaking bugs
|
||
- Performance testing on target platforms
|
||
- Save/load integrity testing
|
||
- Multiplayer stress testing (if applicable)
|
||
|
||
### Priority 2: High Risk Tests
|
||
|
||
- Integration test scenarios
|
||
- Edge case coverage
|
||
|
||
### Priority 3: Medium/Low Risk Tests
|
||
|
||
- Standard functional tests
|
||
- Regression test suite
|
||
|
||
## Risk Acceptance Criteria
|
||
|
||
### Must Fix Before Production
|
||
|
||
- All critical risks (score 9)
|
||
- High risks affecting security/data
|
||
|
||
### Can Deploy with Mitigation
|
||
|
||
- Medium risks with compensating controls
|
||
- Low risks with monitoring in place
|
||
|
||
### Accepted Risks
|
||
|
||
- Document any risks team accepts
|
||
- Include sign-off from appropriate authority
|
||
|
||
## Monitoring Requirements
|
||
|
||
Post-release monitoring for:
|
||
|
||
- Frame rate metrics and performance stats
|
||
- Crash reports and error logs
|
||
- Player progression analytics
|
||
- Achievement completion rates
|
||
- Player retention metrics
|
||
|
||
## Risk Review Triggers
|
||
|
||
Review and update risk profile when:
|
||
|
||
- Major gameplay mechanics added
|
||
- New platforms targeted
|
||
- Godot engine version upgraded
|
||
- Performance issues reported by playtesters
|
||
- Art style or asset pipeline changes
|
||
- Multiplayer features added
|
||
```
|
||
|
||
## Risk Scoring Algorithm
|
||
|
||
Calculate overall story risk score:
|
||
|
||
```text
|
||
Base Score = 100
|
||
For each risk:
|
||
- Critical (9): Deduct 20 points
|
||
- High (6): Deduct 10 points
|
||
- Medium (4): Deduct 5 points
|
||
- Low (2-3): Deduct 2 points
|
||
|
||
Minimum score = 0 (extremely risky)
|
||
Maximum score = 100 (minimal risk)
|
||
```
|
||
|
||
## Risk-Based Recommendations
|
||
|
||
Based on risk profile, recommend:
|
||
|
||
1. **Testing Priority**
|
||
- Which tests to run first
|
||
- Additional test types needed
|
||
- Test environment requirements
|
||
|
||
2. **Development Focus**
|
||
- Code review emphasis areas
|
||
- Additional validation needed
|
||
- Security controls to implement
|
||
|
||
3. **Deployment Strategy**
|
||
- Phased rollout for high-risk changes
|
||
- Feature flags for risky features
|
||
- Rollback procedures
|
||
|
||
4. **Monitoring Setup**
|
||
- Metrics to track
|
||
- Alerts to configure
|
||
- Dashboard requirements
|
||
|
||
## Integration with Quality Gates
|
||
|
||
**Deterministic gate mapping:**
|
||
|
||
- Any risk with score ≥ 9 → Gate = FAIL (unless waived)
|
||
- Else if any score ≥ 6 → Gate = CONCERNS
|
||
- Else → Gate = PASS
|
||
- Unmitigated risks → Document in gate
|
||
|
||
### Output 3: Story Hook Line
|
||
|
||
**Print this line for review task to quote:**
|
||
|
||
```text
|
||
Risk profile: qa.qaLocation/assessments/{epic}.{story}-risk-{YYYYMMDD}.md
|
||
```
|
||
|
||
## Key Principles
|
||
|
||
- Identify risks early and systematically
|
||
- Use consistent probability × impact scoring
|
||
- Provide actionable mitigation strategies
|
||
- Link risks to specific test requirements
|
||
- Track residual risk after mitigation
|
||
- Update risk profile as story evolves
|