bmad初始化
This commit is contained in:
222
bmad/bmm/workflows/2-plan-workflows/gdd/README.md
Normal file
222
bmad/bmm/workflows/2-plan-workflows/gdd/README.md
Normal file
@@ -0,0 +1,222 @@
|
||||
# Game Design Document (GDD) Workflow
|
||||
|
||||
This folder contains the GDD workflow for game projects, replacing the traditional PRD approach with game-specific documentation.
|
||||
|
||||
## Overview
|
||||
|
||||
The GDD workflow creates a comprehensive Game Design Document that captures:
|
||||
|
||||
- Core gameplay mechanics and pillars
|
||||
- Game type-specific elements (RPG systems, platformer movement, puzzle mechanics, etc.)
|
||||
- Level design framework
|
||||
- Art and audio direction
|
||||
- Technical specifications (platform-agnostic)
|
||||
- Development epics
|
||||
|
||||
## Architecture
|
||||
|
||||
### Universal Template
|
||||
|
||||
`gdd-template.md` contains sections common to ALL game types:
|
||||
|
||||
- Executive Summary
|
||||
- Goals and Context
|
||||
- Core Gameplay
|
||||
- Win/Loss Conditions
|
||||
- Progression and Balance
|
||||
- Level Design Framework
|
||||
- Art and Audio Direction
|
||||
- Technical Specs
|
||||
- Development Epics
|
||||
- Success Metrics
|
||||
|
||||
### Game-Type-Specific Injection
|
||||
|
||||
The template includes a `{{GAME_TYPE_SPECIFIC_SECTIONS}}` placeholder that gets replaced with game-type-specific content.
|
||||
|
||||
### Game Types Registry
|
||||
|
||||
`game-types.csv` defines 24+ game types with:
|
||||
|
||||
- **id**: Unique identifier (e.g., `action-platformer`, `rpg`, `roguelike`)
|
||||
- **name**: Human-readable name
|
||||
- **description**: Brief description of the game type
|
||||
- **genre_tags**: Searchable tags
|
||||
- **fragment_file**: Path to type-specific template fragment
|
||||
|
||||
### Game-Type Fragments
|
||||
|
||||
Located in `game-types/` folder, these markdown files contain sections specific to each game type:
|
||||
|
||||
**action-platformer.md**:
|
||||
|
||||
- Movement System (jump mechanics, air control, special moves)
|
||||
- Combat System (attack types, combos, enemy AI)
|
||||
- Level Design Patterns (platforming challenges, combat arenas)
|
||||
- Player Abilities and Unlocks
|
||||
|
||||
**rpg.md**:
|
||||
|
||||
- Character System (stats, classes, leveling)
|
||||
- Inventory and Equipment
|
||||
- Quest System
|
||||
- World and Exploration
|
||||
- NPC and Dialogue
|
||||
- Combat System
|
||||
|
||||
**puzzle.md**:
|
||||
|
||||
- Core Puzzle Mechanics
|
||||
- Puzzle Progression
|
||||
- Level Structure
|
||||
- Player Assistance
|
||||
- Replayability
|
||||
|
||||
**roguelike.md**:
|
||||
|
||||
- Run Structure
|
||||
- Procedural Generation
|
||||
- Permadeath and Progression
|
||||
- Item and Upgrade System
|
||||
- Character Selection
|
||||
- Difficulty Modifiers
|
||||
|
||||
...and 20+ more game types!
|
||||
|
||||
## Workflow Flow
|
||||
|
||||
1. **Router Detection** (instructions-router.md):
|
||||
- Step 3 asks for project type
|
||||
- If "Game" selected → sets `workflow_type = "gdd"`
|
||||
- Skips standard level classification
|
||||
- Jumps to GDD-specific assessment
|
||||
|
||||
2. **Game Type Selection** (instructions-gdd.md Step 1):
|
||||
- Presents 9 common game types + "Other"
|
||||
- Maps selection to `game-types.csv`
|
||||
- Loads corresponding fragment file
|
||||
- Stores `game_type` for injection
|
||||
|
||||
3. **Universal GDD Sections** (Steps 2-5, 7-13):
|
||||
- Platform and target audience
|
||||
- Goals and context
|
||||
- Core gameplay (pillars, loop, win/loss)
|
||||
- Mechanics and controls
|
||||
- Progression and balance
|
||||
- Level design
|
||||
- Art and audio
|
||||
- Technical specs
|
||||
- Epics and metrics
|
||||
|
||||
4. **Game-Type Injection** (Step 6):
|
||||
- Loads fragment from `game-types/{game_type}.md`
|
||||
- For each `{{placeholder}}` in fragment, elicits details
|
||||
- Injects completed sections into `{{GAME_TYPE_SPECIFIC_SECTIONS}}`
|
||||
|
||||
5. **Solutioning Handoff** (Step 14):
|
||||
- Routes to `3-solutioning` workflow
|
||||
- Platform/engine specifics handled by solutioning registry
|
||||
- Game-\* entries in solutioning `registry.csv` provide engine-specific guidance
|
||||
|
||||
## Platform vs. Game Type Separation
|
||||
|
||||
**GDD (this workflow)**: Game-type specifics
|
||||
|
||||
- What makes an RPG an RPG (stats, quests, inventory)
|
||||
- What makes a platformer a platformer (jump mechanics, level design)
|
||||
- Genre-defining mechanics and systems
|
||||
|
||||
**Solutioning (3-solutioning workflow)**: Platform/engine specifics
|
||||
|
||||
- Unity vs. Godot vs. Phaser vs. Unreal
|
||||
- 2D vs. 3D rendering
|
||||
- Physics engines
|
||||
- Input systems
|
||||
- Platform constraints (mobile, web, console)
|
||||
|
||||
This separation allows:
|
||||
|
||||
- Single universal GDD regardless of platform
|
||||
- Platform decisions made during architecture phase
|
||||
- Easy platform pivots without rewriting GDD
|
||||
|
||||
## Output
|
||||
|
||||
**GDD.md**: Complete game design document with:
|
||||
|
||||
- All universal sections filled
|
||||
- Game-type-specific sections injected
|
||||
- Ready for solutioning handoff
|
||||
|
||||
## Example Game Types
|
||||
|
||||
| ID | Name | Key Sections |
|
||||
| ----------------- | ----------------- | ------------------------------------------------- |
|
||||
| action-platformer | Action Platformer | Movement, Combat, Level Patterns, Abilities |
|
||||
| rpg | RPG | Character System, Inventory, Quests, World, NPCs |
|
||||
| puzzle | Puzzle | Puzzle Mechanics, Progression, Level Structure |
|
||||
| roguelike | Roguelike | Run Structure, Procgen, Permadeath, Items |
|
||||
| shooter | Shooter | Weapon Systems, Enemy AI, Arena Design |
|
||||
| strategy | Strategy | Resources, Units, AI, Victory Conditions |
|
||||
| metroidvania | Metroidvania | Interconnected World, Ability Gating, Exploration |
|
||||
| visual-novel | Visual Novel | Branching Story, Dialogue Trees, Choices |
|
||||
| tower-defense | Tower Defense | Waves, Tower Types, Placement, Economy |
|
||||
| card-game | Card Game | Deck Building, Card Mechanics, Turn System |
|
||||
|
||||
...and 14+ more!
|
||||
|
||||
## Adding New Game Types
|
||||
|
||||
1. Add row to `game-types.csv`:
|
||||
|
||||
```csv
|
||||
new-type,New Type Name,"Description",tags,new-type.md
|
||||
```
|
||||
|
||||
2. Create `game-types/new-type.md`:
|
||||
|
||||
```markdown
|
||||
## New Type Specific Elements
|
||||
|
||||
### System Name
|
||||
|
||||
{{system_placeholder}}
|
||||
|
||||
**Details:**
|
||||
|
||||
- Element 1
|
||||
- Element 2
|
||||
```
|
||||
|
||||
3. The workflow automatically uses it!
|
||||
|
||||
## Integration with Solutioning
|
||||
|
||||
When a game project completes the GDD and moves to solutioning:
|
||||
|
||||
1. Solutioning workflow reads `project_type == "game"`
|
||||
2. Loads GDD.md instead of PRD.md
|
||||
3. Matches game platforms to solutioning `registry.csv` game-\* entries
|
||||
4. Provides engine-specific guidance (Unity, Godot, Phaser, etc.)
|
||||
5. Generates architecture.md with platform decisions
|
||||
6. Creates per-epic tech specs
|
||||
|
||||
Example solutioning registry entries:
|
||||
|
||||
- `game-unity-2d`: Unity 2D games
|
||||
- `game-godot-3d`: Godot 3D games
|
||||
- `game-phaser`: Phaser web games
|
||||
- `game-unreal-3d`: Unreal Engine games
|
||||
- `game-custom-3d-rust`: Custom Rust game engines
|
||||
|
||||
## Philosophy
|
||||
|
||||
**Game projects are fundamentally different from software products**:
|
||||
|
||||
- Gameplay feel > feature lists
|
||||
- Playtesting > user testing
|
||||
- Game pillars > product goals
|
||||
- Mechanics > requirements
|
||||
- Fun > utility
|
||||
|
||||
The GDD workflow respects these differences while maintaining BMAD Method rigor.
|
||||
Reference in New Issue
Block a user