mirror of
https://github.com/bmadcode/BMAD-METHOD.git
synced 2025-12-29 16:14:59 +00:00
250 lines
7.7 KiB
Markdown
250 lines
7.7 KiB
Markdown
|
|
---
|
||
|
|
name: 'step-06-mechanics'
|
||
|
|
description: 'Define primary game mechanics and control schemes'
|
||
|
|
|
||
|
|
# Path Definitions
|
||
|
|
workflow_path: '{project-root}/_bmad/bmgd/workflows/2-design/gdd'
|
||
|
|
|
||
|
|
# File References
|
||
|
|
thisStepFile: '{workflow_path}/steps/step-06-mechanics.md'
|
||
|
|
nextStepFile: '{workflow_path}/steps/step-07-game-type.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 6: Game Mechanics
|
||
|
|
|
||
|
|
**Progress: Step 6 of 14** - Next: Game Type Specifics
|
||
|
|
|
||
|
|
## STEP GOAL:
|
||
|
|
|
||
|
|
Define the primary game mechanics that players interact with and the control scheme/input methods for the target platform(s).
|
||
|
|
|
||
|
|
## 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
|
||
|
|
- Mechanics must serve the pillars and core loop defined in step 5
|
||
|
|
- Controls must work for the target platform defined in step 3
|
||
|
|
|
||
|
|
### Step-Specific Rules:
|
||
|
|
|
||
|
|
- Focus on moment-to-moment player interactions
|
||
|
|
- FORBIDDEN to generate mechanics without real user input
|
||
|
|
- Challenge: Does each mechanic serve a pillar?
|
||
|
|
- Approach: Start with verbs - what does the player DO?
|
||
|
|
|
||
|
|
## 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]` before loading next step
|
||
|
|
- FORBIDDEN to load next step until C is selected
|
||
|
|
|
||
|
|
## COLLABORATION MENUS (A/P/C):
|
||
|
|
|
||
|
|
- **A (Advanced Elicitation)**: Deep dive into mechanic interactions and edge cases
|
||
|
|
- **P (Party Mode)**: Test mechanic clarity with multiple perspectives
|
||
|
|
- **C (Continue)**: Save the content to the document and proceed to next step
|
||
|
|
|
||
|
|
## CONTEXT BOUNDARIES:
|
||
|
|
|
||
|
|
- All previous context available (especially pillars and platform)
|
||
|
|
- Mechanics are the building blocks of gameplay
|
||
|
|
- Controls must feel good on target platform(s)
|
||
|
|
|
||
|
|
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
||
|
|
|
||
|
|
### 1. Primary Mechanics Discovery
|
||
|
|
|
||
|
|
**Guide user through mechanics definition:**
|
||
|
|
|
||
|
|
"Let's define the primary mechanics - the core actions players perform to engage with your game.
|
||
|
|
|
||
|
|
**Mechanics Framework:**
|
||
|
|
|
||
|
|
Think in terms of VERBS - what does the player DO?
|
||
|
|
|
||
|
|
| Mechanic Category | Example Verbs |
|
||
|
|
| ----------------- | ---------------------------------------- |
|
||
|
|
| **Movement** | Run, jump, dash, climb, swim, fly |
|
||
|
|
| **Combat** | Attack, block, dodge, parry, aim, shoot |
|
||
|
|
| **Interaction** | Talk, pickup, use, craft, build, destroy |
|
||
|
|
| **Resource** | Collect, spend, trade, manage, invest |
|
||
|
|
| **Information** | Discover, read, scan, analyze, remember |
|
||
|
|
| **Social** | Cooperate, compete, trade, communicate |
|
||
|
|
|
||
|
|
**For {{game_type}} games, key mechanics typically include:**
|
||
|
|
{typical_mechanics_for_game_type}
|
||
|
|
|
||
|
|
**Your core loop is:** {{core_loop}}
|
||
|
|
**Your pillars are:** {{pillars}}
|
||
|
|
|
||
|
|
**Questions to consider:**
|
||
|
|
|
||
|
|
1. What are the 3-5 most important things players do?
|
||
|
|
2. Which mechanics support which pillars?
|
||
|
|
3. How do mechanics combine or interact?
|
||
|
|
|
||
|
|
What are the primary mechanics in {{game_name}}?"
|
||
|
|
|
||
|
|
### 2. Mechanics Deep Dive
|
||
|
|
|
||
|
|
**For each mechanic identified, ask:**
|
||
|
|
|
||
|
|
"Let's detail **{{mechanic_name}}**:
|
||
|
|
|
||
|
|
- **When does the player use this?** (constantly, situationally, rarely)
|
||
|
|
- **What skill does it test?** (timing, positioning, strategy, knowledge)
|
||
|
|
- **How does it feel?** (snappy, weighty, floaty, precise)
|
||
|
|
- **How does it progress?** (unlocks, upgrades, mastery)
|
||
|
|
- **How does it interact with other mechanics?**"
|
||
|
|
|
||
|
|
### 3. Controls Discovery
|
||
|
|
|
||
|
|
**Guide user through control scheme definition:**
|
||
|
|
|
||
|
|
"Now let's map these mechanics to controls for {{primary_platform}}.
|
||
|
|
|
||
|
|
**Control Considerations:**
|
||
|
|
|
||
|
|
| Platform | Key Considerations |
|
||
|
|
| ----------- | ------------------------------------------------------------------ |
|
||
|
|
| **PC** | Keyboard/mouse precision, rebindable keys, many available inputs |
|
||
|
|
| **Console** | Limited buttons, shoulder triggers, stick deadzone, rumble |
|
||
|
|
| **Mobile** | Touch targets, gesture clarity, screen real estate, one-hand play? |
|
||
|
|
| **VR** | Motion control, tracked hands, comfort, physical space |
|
||
|
|
|
||
|
|
**Control Design Principles:**
|
||
|
|
|
||
|
|
1. **Frequency = Accessibility:** Common actions get easy-to-reach inputs
|
||
|
|
2. **Similar actions, similar buttons:** Jump/interact shouldn't be opposite hands
|
||
|
|
3. **No hand gymnastics:** Avoid requiring uncomfortable button combos
|
||
|
|
4. **Platform conventions:** Use expected mappings where appropriate
|
||
|
|
|
||
|
|
**For {{game_type}} on {{platform}}, typical control schemes include:**
|
||
|
|
{typical_controls_for_game_type_and_platform}
|
||
|
|
|
||
|
|
How do you want controls to work in {{game_name}}?"
|
||
|
|
|
||
|
|
### 4. Generate Mechanics Content
|
||
|
|
|
||
|
|
Based on the conversation, prepare the content:
|
||
|
|
|
||
|
|
```markdown
|
||
|
|
## Game Mechanics
|
||
|
|
|
||
|
|
### Primary Mechanics
|
||
|
|
|
||
|
|
{{mechanics_list_with_details}}
|
||
|
|
|
||
|
|
### Mechanic Interactions
|
||
|
|
|
||
|
|
{{how_mechanics_combine}}
|
||
|
|
|
||
|
|
### Mechanic Progression
|
||
|
|
|
||
|
|
{{how_mechanics_evolve_or_unlock}}
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Controls and Input
|
||
|
|
|
||
|
|
### Control Scheme ({{primary_platform}})
|
||
|
|
|
||
|
|
{{control_mapping_table_or_description}}
|
||
|
|
|
||
|
|
### Input Feel
|
||
|
|
|
||
|
|
{{how_controls_should_feel}}
|
||
|
|
|
||
|
|
### Accessibility Controls
|
||
|
|
|
||
|
|
{{planned_accessibility_options}}
|
||
|
|
```
|
||
|
|
|
||
|
|
### 5. Present Content and Menu
|
||
|
|
|
||
|
|
Show the generated content to the user and present:
|
||
|
|
|
||
|
|
"I've drafted the Mechanics & Controls sections based on our conversation.
|
||
|
|
|
||
|
|
**Here's what I'll add to the document:**
|
||
|
|
|
||
|
|
[Show the complete markdown content from step 4]
|
||
|
|
|
||
|
|
**Validation Check:**
|
||
|
|
|
||
|
|
- Does each mechanic serve at least one pillar?
|
||
|
|
- Do controls feel natural for the platform?
|
||
|
|
- Are common actions easily accessible?
|
||
|
|
|
||
|
|
**Select an Option:**
|
||
|
|
[A] Advanced Elicitation - Deep dive into mechanic feel and edge cases
|
||
|
|
[P] Party Mode - Test these mechanics with other perspectives
|
||
|
|
[C] Continue - Save this and move to Game Type Specifics (Step 7 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]`
|
||
|
|
- Load `{nextStepFile}`
|
||
|
|
|
||
|
|
## CRITICAL STEP COMPLETION NOTE
|
||
|
|
|
||
|
|
ONLY WHEN [C continue option] is selected and [mechanics content saved with frontmatter updated], will you then load and read fully `{nextStepFile}`.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## SYSTEM SUCCESS/FAILURE METRICS
|
||
|
|
|
||
|
|
### SUCCESS:
|
||
|
|
|
||
|
|
- 3-5 primary mechanics clearly defined
|
||
|
|
- Each mechanic linked to pillars
|
||
|
|
- Mechanic interactions described
|
||
|
|
- Control scheme appropriate for platform
|
||
|
|
- Input feel considerations captured
|
||
|
|
- A/P/C menu presented and handled correctly
|
||
|
|
- Frontmatter updated with stepsCompleted: [1, 2, 3, 4, 5, 6]
|
||
|
|
|
||
|
|
### SYSTEM FAILURE:
|
||
|
|
|
||
|
|
- Mechanics that don't serve pillars
|
||
|
|
- Controls inappropriate for target platform
|
||
|
|
- Generating content without real user input
|
||
|
|
- Missing mechanic interactions
|
||
|
|
- 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.
|