sjennings ccb64623bc
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 14:33:22 +08:00

6.8 KiB

name description workflow_path thisStepFile nextStepFile workflowFile outputFile advancedElicitationTask partyModeWorkflow
step-02-context Load and understand project context from GDD and supporting documents {project-root}/_bmad/bmgd/workflows/3-technical/game-architecture {workflow_path}/steps/step-02-context.md {workflow_path}/steps/step-03-starter.md {workflow_path}/workflow.md {output_folder}/game-architecture.md {project-root}/_bmad/core/tasks/advanced-elicitation.xml {project-root}/_bmad/core/workflows/party-mode/workflow.md

Step 2: Project Context

Progress: Step 2 of 9 - Next: Engine/Starter Selection

STEP GOAL:

Load and analyze the GDD and supporting documents to understand the game's technical requirements, systems, and constraints that will drive architectural decisions.

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
  • NEVER mention time estimates

Role Reinforcement:

  • You are a veteran game architect facilitator
  • Extract technical implications from game design
  • Identify complexity drivers and novel requirements

Step-Specific Rules:

  • Load ALL referenced input documents
  • Identify systems that need architectural support
  • Flag novel concepts requiring special attention

EXECUTION PROTOCOLS:

  • Show your analysis before taking any action
  • Present A/P/C menu after context analysis
  • ONLY proceed when user chooses C (Continue)
  • Update frontmatter stepsCompleted: [1, 2] before loading next step

COLLABORATION MENUS (A/P/C):

  • A (Advanced Elicitation): Deep dive into technical requirements
  • P (Party Mode): Get multiple perspectives on complexity
  • C (Continue): Confirm understanding and proceed

Sequence of Instructions (Do not deviate, skip, or optimize)

1. Load GDD Document

Load the full GDD:

Read the GDD file identified in initialization. Extract:

  • Game title and core concept
  • Platform targets
  • Core mechanics and systems
  • Technical requirements section
  • Performance constraints
  • Multiplayer/networking needs
  • Any technical risks identified

2. Load Supporting Documents

Load any available supporting documents:

  • Epics: User stories and acceptance criteria
  • Game Brief: Vision and scope constraints
  • Narrative: Story-driven technical needs

3. Analyze Technical Requirements

Extract and categorize technical needs:

Core Systems Identified:

System Complexity GDD Reference
{{system_name}} {{low/medium/high}} {{section}}

Platform Requirements:

  • Primary platform: {{platform}}
  • Secondary platforms: {{if_any}}
  • Cross-platform considerations: {{if_applicable}}

Performance Constraints:

  • Frame rate target: {{fps}}
  • Resolution support: {{resolutions}}
  • Memory constraints: {{if_specified}}
  • Load time requirements: {{if_specified}}

Networking Requirements:

  • Multiplayer type: {{none/local/online}}
  • Network architecture: {{p2p/client-server/hybrid}}
  • Sync requirements: {{if_applicable}}

4. Identify Complexity Drivers

Flag areas requiring architectural attention:

"Based on my analysis, these are the complexity drivers:

High Complexity: {{list_of_high_complexity_items}}

Novel Concepts: {{unique_features_without_standard_patterns}}

Technical Risks: {{risks_from_gdd}}"

5. Reflect Understanding

Present analysis to user:

"{{user_name}}, I've analyzed the technical requirements for {{game_name}}.

Project Summary:

  • {{core_concept}}
  • Platform: {{platform}}
  • {{key_distinguishing_features}}

Key Systems Requiring Architecture:

  1. {{system_1}} - {{brief_description}}
  2. {{system_2}} - {{brief_description}}
  3. {{system_3}} - {{brief_description}}

Complexity Assessment:

  • Overall complexity: {{low/medium/high}}
  • Novel elements: {{count}} requiring custom patterns
  • Critical decisions: {{estimated_count}}

Technical Constraints: {{summary_of_constraints}}

Does this match your understanding of the project?"

6. Generate Context Section

Based on the analysis, prepare the content:

## Project Context

### Game Overview

**{{game_name}}** - {{core_concept}}

### Technical Scope

**Platform:** {{platform}}
**Genre:** {{genre}}
**Project Level:** {{complexity_level}}

### Core Systems

{{systems_table}}

### Technical Requirements

{{requirements_summary}}

### Complexity Drivers

{{complexity_analysis}}

### Technical Risks

{{identified_risks}}

7. Present Content and Menu

Show the generated content to the user and present:

"I've drafted the Project Context section based on my analysis.

Here's what I'll add to the document:

[Show the complete markdown content from step 6]

Validation Check:

  • Have I captured all core systems?
  • Are the complexity assessments accurate?
  • Any technical constraints I missed?

Select an Option: [A] Advanced Elicitation - Deep dive into technical requirements [P] Party Mode - Get multiple perspectives on complexity [C] Continue - Save this and move to Engine Selection (Step 3 of 9)"

8. 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]
  • Load {nextStepFile}

CRITICAL STEP COMPLETION NOTE

ONLY WHEN [C continue option] is selected and [context content saved with frontmatter updated], will you then load and read fully {nextStepFile}.


SYSTEM SUCCESS/FAILURE METRICS

SUCCESS:

  • GDD fully loaded and analyzed
  • Supporting documents incorporated
  • Systems and complexity identified
  • Technical constraints documented
  • User confirmed understanding accuracy
  • A/P/C menu presented and handled correctly
  • Frontmatter updated with stepsCompleted: [1, 2]

SYSTEM FAILURE:

  • Generating analysis without reading documents
  • Missing critical systems from GDD
  • Proceeding without user confirmation
  • Not presenting A/P/C menu after analysis
  • Proceeding without user selecting 'C'

Master Rule: Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.