Skip to content

Commit 3982400

Browse files
sjenningsclaude
andcommitted
fix: address PR #21 review feedback (round 2)
Six findings verified; four required fixes, two were correct as-shipped: VERIFIED + FIXED: - gds-create-prd/steps-c/step-12-complete.md: body referenced an undefined variable {checkImplementationReadinessWorkflow}. Frontmatter had the wrong variable (validationWorkflow, leftover from Phase 2a split, never consumed). Replaced with checkImplementationReadinessWorkflow pointing to skill:gds-check-implementation-readiness, matching upstream's Option-1 readiness-check semantics. - gds-edit-gdd and gds-validate-gdd: previously delegated to the PRD variants, which doesn't work — neither gds-edit-prd nor gds-validate-prd accepts a target-document parameter. Replaced both placeholder stubs with full GDD-specific implementations modeled on the PRD variants but rewritten for game-design content (mechanics, gameplay loop, pillars, genre conventions, engine constraints). 23 new files, ~5,000 lines: * gds-edit-gdd: 5-step edit flow + gdd-purpose data * gds-validate-gdd: 13-step validation flow + gdd-purpose + genre-complexity.csv (24 genres mapped to complexity tiers, signals, key concerns) Validate-gdd reuses gds-create-gdd/game-types.csv via {module_root} rather than duplicating it. TODO.md: removed the GDD-specific step bodies entry now that they exist. - gds-code-review/steps/step-04-present.md: bucket name inconsistent with step-03-triage.md. Triage uses decision_needed (underscore); step-04 mixed underscore and hyphen forms. Normalized all 8 occurrences in step-04 to underscore form. - gds-sprint-status/workflow.md: next_agent was hardcoded to "DEV" for all five recommendation paths and never exported as a template-output. Now sets per-path role labels (DEVELOPER, REVIEWER, STORY_AUTHOR, FACILITATOR) and adds {{next_agent}} to the template-output exports. Note clarifies that in the consolidated Phase 4 model all role labels resolve to the same agent (gds-agent-game-dev), kept distinct for downstream semantic use. VERIFIED + NO FIX NEEDED: - spec-template.md context-prefix guidance: matches upstream exactly. The reviewer's "implement validateContextPaths()" suggestion doesn't fit upstream's LLM-driven workflow architecture (no JS validators, prefix contract is the inline frontmatter comment). Diverging from upstream to add prose validators would conflict with the upstream- mirror directive. - gds-quick-dev/step-05-present.md spec-vs-sprint status: upstream intent is two distinct lifecycles. {spec_file} status=done means the artifact is finished from quick-dev's perspective; sprint-status story status=review means the story still needs human/code review before being marked done. sync-sprint-status.md line 15 explicitly codifies this ordering (review > in-progress, done > review). - gds-create-gdd "create-gdd" -> "gds-create-gdd" rename: grep returns zero bare references; rename was fully propagated in Phase 2b. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 33aae88 commit 3982400

28 files changed

Lines changed: 5244 additions & 71 deletions

TODO.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,4 @@
22

33
* Adapt document-project workflow to BMGD
44
* Add and adapt research agents to pre-production (either to designer agent or new analyst agent)
5-
* Author GDD-specific step bodies for `gds-edit-gdd/steps-e/*` and `gds-validate-gdd/steps-v/*`. Both skills currently delegate to their PRD counterparts as a structural placeholder. Model after `gds-edit-prd` and `gds-validate-prd`, but replace PRD-specific validation checks (project-type, brief coverage) with GDD equivalents (game-type, gameplay-loop coverage, mechanics completeness).
65
* Review whether `src/workflows/gds-quick-flow/` parent directory still earns its keep now that it contains only `gds-quick-dev/`. Candidate: promote `gds-quick-dev` up to `src/workflows/4-production/` or similar and retire the `gds-quick-flow/` wrapper.

src/workflows/2-design/gds-create-prd/steps-c/step-12-complete.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: 'Complete the PRD workflow, update status files, and suggest next s
44

55
# File References
66
outputFile: '{planning_artifacts}/prd.md'
7-
validationWorkflow: 'skill:gds-validate-prd'
7+
checkImplementationReadinessWorkflow: 'skill:gds-check-implementation-readiness'
88
---
99

1010
# Step 12: Workflow Completion
Lines changed: 224 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,224 @@
1+
# BMAD GDD Purpose
2+
3+
**The GDD is the primary planning artifact in the Game Dev Studio (GDS) module. It feeds every downstream phase: architecture, epics, production, and playtesting.**
4+
5+
In GDS, the PRD is optional and exists only for external-tool compatibility. The GDD is the canonical source of truth for game design intent.
6+
7+
---
8+
9+
## What is a BMAD GDD?
10+
11+
A dual-audience document serving:
12+
13+
1. **Human game designers, producers, and developers** - Vision, pillars, team alignment, playtest briefs
14+
2. **LLM downstream consumption** - Architecture → Epics → Dev stories → Playtest plans → Game Dev AI Agents
15+
16+
Each successive artifact becomes more granular and more AI-tailored. The GDD is where the design intent is captured in its purest form, before engine and implementation concerns enter the picture.
17+
18+
---
19+
20+
## Core Philosophy: Information Density
21+
22+
**High Signal-to-Noise Ratio on Game Mechanics**
23+
24+
Every sentence must carry design information. LLMs consume precise, dense content efficiently - and game design already suffers from pitch-deck-style fluff.
25+
26+
**Anti-Patterns (Eliminate These):**
27+
28+
- ❌ "The player will be able to..." → ✅ "The player can..."
29+
- ❌ "It is our intention to create a game that..." → ✅ State the design directly
30+
- ❌ "Players will experience fun and engaging gameplay" → ✅ Describe the specific mechanic that produces engagement
31+
- ❌ Marketing copy and pitch language → ✅ Concrete mechanics, systems, and numbers
32+
33+
**Goal:** Maximum design information per word. Zero fluff, zero marketing.
34+
35+
---
36+
37+
## The Traceability Chain
38+
39+
**GDD starts the chain:**
40+
41+
```
42+
Core Fantasy / Vision → Game Pillars → Core Gameplay Loop → Mechanics & Systems → Epics → Stories
43+
```
44+
45+
**In the GDD, establish:**
46+
47+
- Vision → Pillars alignment
48+
- Pillars → Gameplay Loop reinforcement (the loop should embody the pillars)
49+
- Gameplay Loop → Mechanics mapping (each mechanic serves the loop)
50+
- Mechanics → Epics (each epic delivers mechanics)
51+
- All content traceable to the core fantasy
52+
53+
**Why:** Every downstream artifact (architecture, epics, stories, playtest plans) must trace back to documented design intent. This chain is what prevents scope creep, feature bloat, and mechanics that exist for their own sake.
54+
55+
---
56+
57+
## What Makes Great Mechanics and Systems?
58+
59+
### Mechanics are Player-Facing Capabilities, Not Implementation
60+
61+
**Good:** "The player can dash in any of 8 directions, consuming 1 stamina pip. Stamina regenerates at 1 pip/second while grounded."
62+
**Bad:** "We use a Rigidbody2D with AddForce and a cooldown coroutine" (engine leakage - belongs in architecture)
63+
64+
**Good:** "Frame-perfect parries reward a 1.5x damage multiplier for 3 seconds."
65+
**Bad:** "Combat feels responsive and satisfying" (subjective, unmeasurable)
66+
67+
### SMART Quality Criteria (Adapted for Game Design)
68+
69+
**Specific:** Clear, precisely defined mechanic or system
70+
**Measurable:** Quantifiable values (timings, damages, costs, ranges)
71+
**Attainable:** Realistic within target platform, team, and timeline
72+
**Relevant:** Reinforces a game pillar or the core loop
73+
**Traceable:** Links to the vision, a pillar, or a specific player fantasy
74+
75+
### Mechanics Anti-Patterns
76+
77+
**Subjective Adjectives:**
78+
79+
- ❌ "fun", "satisfying", "immersive", "responsive", "deep"
80+
- ✅ Use concrete values: "chain combos extend the hit window by 6 frames per successful hit"
81+
82+
**Engine / Implementation Leakage:**
83+
84+
- ❌ Engine APIs, node names, specific shaders, class hierarchies
85+
- ✅ Focus on player experience and system behavior - the engine is architecture's problem
86+
87+
**Vague Quantifiers:**
88+
89+
- ❌ "many enemies", "several weapons", "various environments"
90+
- ✅ "12 enemy archetypes", "6 primary weapons + 18 unlockable variants", "3 biomes × 4 sub-zones"
91+
92+
**Missing Feel Criteria:**
93+
94+
- ❌ "The jump feels good"
95+
- ✅ "Jump height: 3 tiles. Air time: 0.55s. Coyote time: 6 frames. Buffer window: 8 frames."
96+
97+
---
98+
99+
## What Makes Great Technical Constraints?
100+
101+
### Target Specs Must Be Measurable
102+
103+
**Template:**
104+
105+
```
106+
"The game shall [metric] [platform/condition] [measurement method]"
107+
```
108+
109+
**Examples:**
110+
111+
- ✅ "Maintain 60 FPS sustained on Steam Deck at 720p Medium settings, as measured by in-engine profiler over a 10-minute combat loop"
112+
- ✅ "First-playable load time under 15s on PS5 from cold boot"
113+
- ✅ "Memory budget: 4GB on PS4, 6GB on PS5, as measured by PIX capture"
114+
115+
### Constraint Anti-Patterns
116+
117+
**Unmeasurable Claims:**
118+
119+
- ❌ "Runs well on all platforms" → ✅ "60 FPS on PS5/XSX, 30 FPS on PS4/XB1"
120+
- ❌ "Fast load times" → ✅ "Sub-5-second level transitions on target hardware"
121+
122+
**Missing Context:**
123+
124+
- ❌ "60 FPS target" → ✅ "60 FPS during combat encounters with up to 6 enemies on-screen, measured on Steam Deck"
125+
126+
---
127+
128+
## Genre-Specific Requirements
129+
130+
**Auto-Detect and Enforce Based on Game Type**
131+
132+
Certain genres carry conventions that must be documented:
133+
134+
- **Action/Platformer:** Precise movement values (jump arc, coyote time, input buffer), hit/hurt box conventions, damage formulae
135+
- **RPG:** Stat system, leveling curve, inventory rules, quest state machine, save/load boundaries
136+
- **Roguelike:** Run structure, meta-progression rules, seed determinism, balance bands
137+
- **Multiplayer (MOBA/Shooter):** Netcode model (lockstep/rollback/client-predict), tick rate, lag tolerance, matchmaking
138+
- **Puzzle:** Solution space guarantees, hint systems, difficulty ramp
139+
- **Narrative/Visual Novel:** Branching structure, variable/flag system, rewind/save model
140+
141+
**Why:** Missing genre conventions in the GDD means they surface as emergencies during production. Validation should catch these up front. Steps use a `genre-complexity.csv` data file to drive genre-specific expectations.
142+
143+
---
144+
145+
## Document Structure (Markdown, Human-Readable)
146+
147+
### Required Sections (canonical gds-create-gdd schema)
148+
149+
1. **Executive Summary** - Core concept, target audience, USPs
150+
2. **Goals and Context** - Project goals, background, rationale
151+
3. **Core Gameplay** - Pillars, core gameplay loop, win/loss conditions
152+
4. **Game Mechanics** - Primary mechanics, controls and input
153+
5. **Game-Type Specific Sections** - Genre-driven sections (e.g., RPG stats, roguelike run structure)
154+
6. **Progression and Balance** - Player progression, difficulty curve, economy
155+
7. **Level Design Framework** - Level types, progression
156+
8. **Art and Audio Direction** - Visual style, audio approach
157+
9. **Technical Specifications** - Performance targets, platform specs, asset budget
158+
10. **Development Epics** - High-level delivery breakdown
159+
11. **Success Metrics** - Technical and gameplay success criteria
160+
12. **Out of Scope** - Explicit scope boundaries
161+
13. **Assumptions and Dependencies** - External risks
162+
163+
### Formatting for Dual Consumption
164+
165+
**For Humans:**
166+
167+
- Clear, direct language - no pitch-deck bloat
168+
- Logical flow from vision to execution
169+
- Easy for producers, leads, and external collaborators to review
170+
171+
**For LLMs:**
172+
173+
- `##` Level 2 headers for all main sections (enables extraction)
174+
- Consistent structure and patterns
175+
- Concrete numbers wherever possible
176+
- High information density
177+
178+
---
179+
180+
## Downstream Impact
181+
182+
**How the GDD Feeds Next Artifacts:**
183+
184+
**Architecture:**
185+
186+
- Mechanics → system design (physics, AI, state machines)
187+
- Technical specs → engine choice, rendering pipeline, memory layout
188+
- Genre conventions → framework decisions (netcode model, save system)
189+
190+
**Epics & Stories:**
191+
192+
- Mechanics → epics (1 mechanic often = 1 epic)
193+
- Level framework → content stories
194+
- Progression → systems stories
195+
- Traceability → stories map back to pillars
196+
197+
**Playtesting / Gametest:**
198+
199+
- Pillars → playtest focus areas
200+
- Success metrics → playtest success criteria
201+
- Core loop → the thing we're actually testing
202+
203+
**Development AI Agents:**
204+
205+
- Precise mechanics → implementation clarity
206+
- Measurable specs → automated performance gates
207+
- Genre conventions → framework selection
208+
- Success metrics → telemetry targets
209+
210+
---
211+
212+
## Summary: What Makes a Great BMAD GDD?
213+
214+
**High Information Density** - Every sentence carries design weight, zero pitch-deck fluff
215+
**Measurable Mechanics** - Concrete numbers for timings, damages, costs, ranges
216+
**Clear Traceability** - Each mechanic links to a pillar or core loop, each pillar to the vision
217+
**Genre Awareness** - Genre-specific sections auto-detected and included
218+
**Zero Anti-Patterns** - No subjective adjectives, no engine leakage, no vague quantifiers
219+
**Dual Audience Optimized** - Human-readable AND LLM-consumable
220+
**Markdown Format** - Professional, clean, accessible to designers and AI tools alike
221+
222+
---
223+
224+
**Remember:** The GDD is the foundation of GDS. Quality here ripples through architecture, epics, stories, and playtesting. A dense, precise, well-traced GDD makes every downstream phase dramatically more effective - and prevents the "we never actually decided what this game is" spiral that kills projects.

0 commit comments

Comments
 (0)