* 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>
11 KiB
| name | description | workflow_path | thisStepFile | nextStepFile | workflowFile | outputFile | gameTypesCSV | gameTypesFolder | advancedElicitationTask | partyModeWorkflow |
|---|---|---|---|---|---|---|---|---|---|---|
| step-02-context | Load game context from brief and determine the game type | {project-root}/_bmad/bmgd/workflows/2-design/gdd | {workflow_path}/steps/step-02-context.md | {workflow_path}/steps/step-03-platforms.md | {workflow_path}/workflow.md | {output_folder}/gdd.md | {workflow_path}/game-types.csv | {workflow_path}/game-types | {project-root}/_bmad/core/tasks/advanced-elicitation.xml | {project-root}/_bmad/core/workflows/party-mode/workflow.md |
Step 2: Game Context & Type
Progress: Step 2 of 14 - Next: Platforms & Audience
STEP GOAL:
Load and analyze the game brief (if available), determine the game type from game-types.csv, load the corresponding game type guide, and capture the core game concept that will drive the entire GDD.
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
- We engage in collaborative dialogue, not command-response
- You bring structured game design thinking and facilitation skills, while the user brings their game vision
Step-Specific Rules:
- Focus on understanding the game concept and determining the correct game type
- CRITICAL: Load game-types.csv to understand available game types
- FORBIDDEN to generate detailed content without real user input
- Approach: Leverage existing documents while validating with user
EXECUTION PROTOCOLS:
- Show your analysis before taking any action
- Present A/P/C menu after generating core concept content
- ONLY save when user chooses C (Continue)
- Update frontmatter
stepsCompleted: [1, 2]before loading next step - FORBIDDEN to load next step until C is selected
COLLABORATION MENUS (A/P/C):
This step will generate content and present choices:
- A (Advanced Elicitation): Use discovery protocols to develop deeper insights about the game concept
- P (Party Mode): Bring multiple perspectives to discuss and improve the game concept
- C (Continue): Save the content to the document and proceed to next step
PROTOCOL INTEGRATION:
- When 'A' selected: Execute {advancedElicitationTask}
- When 'P' selected: Execute {partyModeWorkflow}
- PROTOCOLS always return to this step's A/P/C menu
- User accepts/rejects protocol changes before proceeding
CONTEXT BOUNDARIES:
- Current document and frontmatter from step 1 are available
- Input documents already loaded are in memory (game briefs, research, brainstorming)
- Document counts available in frontmatter
documentCounts - Game types CSV data will be loaded in this step
- This will be the first content section appended to the document
Sequence of Instructions (Do not deviate, skip, or optimize)
1. Read Document State from Frontmatter
CRITICAL FIRST ACTION: Read the frontmatter from {outputFile} to get document counts.
Read documentCounts from gdd.md frontmatter:
- briefCount = documentCounts.briefs
- researchCount = documentCounts.research
- brainstormingCount = documentCounts.brainstorming
- projectDocsCount = documentCounts.projectDocs
ANNOUNCE your understanding:
"From step 1, I have loaded:
- Game briefs: {{briefCount}} files
- Research: {{researchCount}} files
- Brainstorming: {{brainstormingCount}} files
- Project docs: {{projectDocsCount}} files
{if projectDocsCount > 0}This is a brownfield project - I'll focus on understanding what you want to add or change.{else}This is a greenfield project - I'll help you define the full game vision.{/if}"
2. Load Game Types Data
Load and prepare CSV data for intelligent game type classification:
- Load
{gameTypesCSV}completely - Parse columns: id, name, description, key_mechanics, detection_signals
- Store in memory for classification matching
3. Begin Discovery Conversation
SELECT EXACTLY ONE DISCOVERY PATH based on document state:
PATH A: Has Game Brief (briefCount > 0)
Use this path when: briefCount > 0
"As your game design peer, I've reviewed your game brief and have a great starting point. Let me share what I understand and you can refine or correct as needed.
Based on your game brief:
Game Name: {{extracted_name_from_brief}}
Core Concept: {{extracted_concept_from_brief}}
Genre/Type: {{extracted_genre_from_brief}}
Target Experience: {{extracted_experience_from_brief}}
{if projectDocsCount > 0}I also see you have existing project documentation. This GDD will define how new features integrate with your existing game.{/if}
How does this align with your vision? Should we refine any of these points or are there important aspects I'm missing?"
AFTER this message, SKIP to Section 4.
PATH B: No Brief but Has Brainstorming (briefCount == 0 AND brainstormingCount > 0)
Use this path when: briefCount == 0 AND brainstormingCount > 0
"As your game design peer, I've reviewed your brainstorming documents.
Ideas I've extracted: {{summarize key concepts from brainstorming}}
Let's crystallize these ideas into a clear game concept:
- What's the core gameplay experience you want to create?
- What genre or type of game is this?
- What's the one thing that makes this game special?
I'll use this to identify the right game type framework for our GDD."
AFTER this message, SKIP to Section 4.
PATH C: No Documents - Greenfield (briefCount == 0 AND brainstormingCount == 0)
Use this path when: briefCount == 0 AND brainstormingCount == 0
"Let's start by understanding your game vision!
Tell me about what you want to create:
- What kind of game is it? (genre, style, references)
- What does the player do? (core actions, moment-to-moment gameplay)
- What makes it special or different?
- What experience or feeling do you want players to have?
I'll be listening for signals to help us identify the right game type framework."
AFTER this message, SKIP to Section 4.
4. Determine Game Type
As the user describes their game, match against detection_signals from game-types.csv:
Game Type Detection Logic
Compare user description against game-types.csv entries:
- Look for keyword matches from semicolon-separated detection_signals
- Examples: "platform;jump;run;2D;side-scroll" -> action-platformer
- Examples: "RPG;level;quest;stats;inventory" -> rpg
- Examples: "story;choices;narrative;dialogue" -> visual-novel
Store the best matching game_type id.
5. Present Classification for Validation
Present to user:
"Based on our conversation, I'm classifying this as:
Game Type: {matched_game_type_name} ({matched_game_type_id})
Why this type: {explain the detection signals that matched}
This game type includes these focus areas: {key_mechanics from game-types.csv}
Does this sound right? If not, tell me what type better fits your vision and I'll adjust."
6. Load Game Type Guide
After user confirms game type:
- Load the corresponding game type guide:
{gameTypesFolder}/{game_type}.md - Store the guide content for use in step-07 (game-type specific sections)
- Update frontmatter:
game_type: '{game_type}'
7. Capture Game Name
"What would you like to call this game? (Working title is fine)"
- Store in frontmatter:
game_name: '{user_provided_name}'
8. Generate Core Concept Content
Based on the conversation, prepare the content to append to the document:
Content Structure:
## Executive Summary
### Game Name
{{game_name}}
### Core Concept
{{description - 2-3 paragraphs describing the game concept}}
### Game Type
**Type:** {{game_type_name}}
**Framework:** This GDD uses the {{game_type}} template with type-specific sections for {{key_mechanics}}
9. Present Content and Menu
Show the generated content to the user and present:
"I've drafted the Executive Summary based on our conversation. This will be the opening section of your GDD.
Here's what I'll add to the document:
[Show the complete markdown content from step 8]
Select an Option: [A] Advanced Elicitation - Let's dive deeper and refine this content [P] Party Mode - Bring in different perspectives to improve this [C] Continue - Save this and move to Platforms & Audience (Step 3 of 14)"
10. Handle Menu Selection
IF A (Advanced Elicitation):
- Execute {advancedElicitationTask} with the current content
- Process the enhanced content that comes back
- Ask user: "Accept these changes to the Core Concept? (y/n)"
- If yes: Update the content with improvements, then return to A/P/C menu
- If no: Keep original content, then return to A/P/C menu
IF P (Party Mode):
- Execute {partyModeWorkflow} with the current content
- Process the collaborative improvements that come back
- Ask user: "Accept these changes to the Core Concept? (y/n)"
- If yes: Update the content with improvements, then return to A/P/C menu
- If no: Keep original content, then return to A/P/C menu
IF C (Continue):
- Append the final content to
{outputFile} - Update frontmatter:
stepsCompleted: [1, 2],game_type: '{game_type}',game_name: '{game_name}' - Load
{nextStepFile}
CRITICAL STEP COMPLETION NOTE
ONLY WHEN [C continue option] is selected and [core concept content finalized and saved to document with frontmatter updated including game_type and game_name], will you then load and read fully {nextStepFile} to execute and begin platforms definition.
SYSTEM SUCCESS/FAILURE METRICS
SUCCESS:
- Document counts read from frontmatter and announced
- Game types CSV loaded and used effectively
- Correct discovery path selected based on document counts
- Input documents analyzed and leveraged for head start
- Game type identified and validated with user
- Game type guide loaded and stored for later use
- Game name captured and stored in frontmatter
- Core concept content generated collaboratively
- A/P/C menu presented and handled correctly
- Content properly appended to document when C selected
- Frontmatter updated with stepsCompleted: [1, 2], game_type, game_name
SYSTEM FAILURE:
- Not reading documentCounts from frontmatter first
- Executing multiple discovery paths instead of exactly one
- Not loading game-types.csv for classification
- Not validating game type with user before proceeding
- Generating detailed content without real user input
- Not loading the game type guide file
- Not capturing game name
- Not presenting A/P/C menu after content generation
- Appending content without user selecting 'C'
Master Rule: Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.