Game Dev Loop — idea → docs → build → test → polish
One loop that chains the vault's game-dev skills into a single build process. It
does not replace any of them — it is the sequence and the handoff between them.
game idea → GDD/TDD → engine+template → implement → test/debug → quality loop → guide → memory
└────────────────────← bug / goal unmet / quality short ←────────────────────┘
When to Use
- Starting a real game build (web, single-file, Phaser, Three.js, or UE) that needs design, docs, code, testing, and polish chained in order.
- A task large enough that "just write code" would drift — you need a GDD and a plan on paper first.
- The user asks to go "from idea to playable", or to ship ONE polished scene.
The loop
- Persist the goal. Capture the objective once; keep it intact for the whole run. (
goal-persistence)
- Classify the idea. Pick the archetype and the right engine/template before writing anything. A mismatched engine is the most expensive mistake. (
game-archetype-classifier, or reason inline for non-2D ideas.)
- Write GDD + TDD. Game Design Document first, then the Technical Design Document that makes each GDD section a buildable contract. (
gdd-markdown-template, technical-design-document)
- Scaffold. Pick the engine/template and get a runnable skeleton before adding features:
- 2D Phaser →
phaser-gamedev
- single-file zero-dependency HTML →
single-file-html-game
- parallel multi-agent DDD swarm →
kimi3-game-gen
- Three.js PBR / high-fidelity 3D →
three-pbr-workflow
- AI-editable 3D engine (core/adapters + tokenized world) →
cat-game-architecture
- Implement in vertical slices. One feature → one test → repeat. Don't write all code then all tests. (
test-driven-development / tdd)
- Test + debug. Deterministic E2E with screenshots/assertions; for UE shader/GPU issues use the UE-specific skills. (
playwright-testing, webapp-testing, ue4-shader-debug, ue-renderdoc-auto-capture)
- Quality loop. Screenshot → evaluate → improve, until it meets the bar. (
render-quality-loop for visuals; intro-scene-until-perfect for the single-scene polish discipline)
- Playthrough guide. Turn the verified probes into a human-readable how-to. (
guide-from-probes)
- Write long-term memory. Decisions, gotchas, and next steps land in the durable store the same turn they happen.
Loop back: a failing test, an unmet goal, or a quality shortfall returns to the plan (step 3), not straight to more code.
2D / template-based variant: for a 2D template project, game-dev-agent-workflow is the
concrete phase script for steps 2–6 (classify → scaffold → design → assets → config/registration →
implement → verify). Use it instead of re-deriving those phases; game-template /
game-template-engineering cover scaffolding and the KEEP/COPY hook discipline,
game-debug the living debug protocol, game-build-verification the pre-ship checklist.
Pillars → skills
| Pillar |
Skill |
Contribution |
| Goal |
goal-persistence |
durable objective, anti-drift steering, completion audit |
| Design — GDD |
gdd-markdown-template |
13-section design doc |
| Design — TDD |
technical-design-document |
engineering spec that complements the GDD |
| Classify |
game-archetype-classifier |
physics-first archetype before scaffolding |
| Build — Phaser |
phaser-gamedev |
2D scenes, sprites, physics, tilemaps |
| Build — single-file |
single-file-html-game |
zero-dep HTML, tiered against GAME_TIERS.json |
| Build — swarm |
kimi3-game-gen |
DDD + parallel coder agents, no asset files |
| Build — 3D PBR |
three-pbr-workflow |
runnable Three.js PBR scene, token-friendly |
| Build — AI-editable 3D |
cat-game-architecture |
C.A.T framework, core/adapters split |
| Test |
playwright-testing, webapp-testing |
deterministic E2E, screenshots, assertions |
| UE debug |
ue4-shader-debug, ue-renderdoc-auto-capture |
shader X30xx + GPU frame capture |
| Quality |
render-quality-loop |
screenshot → evaluate → improve |
| Polish |
intro-scene-until-perfect |
ONE scene, vertical slice, infinite polish |
| Guide |
guide-from-probes |
assertions (not pixels) → playthrough guide |
| Long-term memory |
(this skill) |
durable memory file |
Rules
- Goal first, never narrowed. Re-inject the objective every turn; audit completion against real state, never self-declared.
- Classify before code. The engine/template choice is the most expensive decision; make it in step 2, on paper.
- GDD before TDD before code. A game without a GDD drifts; a GDD without a TDD isn't buildable. Don't skip either for a real build.
- Vertical slices. One feature → one test → repeat. Don't write all features then all tests.
- Measure quality. "It runs" is not a result; a screenshot evaluation against a bar is. (
render-quality-loop)
- Write memory as you go. Decisions and gotchas land in the durable store the same turn they happen.
- Loop back on failure. Return to the plan (GDD/TDD), not to more code.
Stage handoff
Each stage hands a written artifact to the next:
- goal → objective + status + completion evidence
- classify → archetype + engine/template choice + why
- GDD/TDD → design doc + engineering spec (each section a build contract)
- scaffold → runnable skeleton (proves the engine choice before features)
- implement → code + what changed (vertical slices)
- test/debug → red-green results + fixed error signatures
- quality → screenshot evaluation vs bar + improvements
- guide → playthrough how-to (from probe assertions)
- memory → durable facts / decisions / lessons appended to the store
Per-round gate (answer at the end of EVERY round)
A round does not close until all four questions are answered explicitly. Do not
advance to the next step — or repeat — on an unanswered gate.
- Success / fail criteria? State the acceptance bar for THIS round: what must be true (tests green? quality met? blocking issues = 0?) for the round to count as success vs failure. No criteria = drift, not a round.
- What should touch / not touch? State the scope boundary: which files / areas / behaviors this round may modify, and which are off-limits. Anything outside the boundary is a scope violation, not a fix.
- Report criteria? State what the end-of-round report must contain — use the fixed report format below, nothing else as the round summary.
- Self-review rounds + next step? State how many critic rounds you will run before accepting (
source-anchored-design: repeat until blocking = 0; set a hard cap if the round has a budget), and whether the next step auto-starts and repeats.
Round report (fixed format)
At the end of every round, emit exactly this block — nothing else as the round's
summary. The agent does NOT judge success/failure itself; it restates the
original criteria, reports each one's current status, and gives only a
confidence score so the human can judge:
success criteria: <restate this round's original criteria verbatim>
criteria status: <one line per criterion: met / not met / partial, with evidence>
success confidence: <0-10>
failure confidence: <0-10>
touch: <files/areas modified>
not touch: <files/areas deliberately left alone>
next: <single next action>
self review status: <critic rounds run, blocking issues remaining>
next step status: <auto-start | wait-for-user | done>
The two confidence scores (0–10) are the agent's own estimate of how likely the
round succeeded and how likely it failed — they are NOT a verdict. The human
decides success/failure from the criteria status, not from the scores.
Termination
The loop ends when the goal's completion audit passes against real state — tests green, quality meets the bar, memory and guide written — and the final round report shows all criteria met with next step status: done. The agent never declares the loop a success itself; the human does, from the criteria status. A failing test, an unmet goal, or a quality shortfall is not termination; it is a return to step 3 (plan).
When NOT to use
- Trivial one-shot edits — a one-line change does not need the whole loop.
- A task one skill already covers — don't compose for the sake of composing.
- Pure asset/art generation with no code — use the asset-direction or creative skills directly.
1---2name: game-dev-loop3description: "Game development only (game design, engine, playtest). The complete game-development loop — persist the goal → classify the game idea → write GDD + TDD → pick an engine and scaffold → implement → test and debug → render-quality + playthrough guide → polish → write durable memory. Use when starting or running a real game build, when a task needs design, docs, code, testing, and polish chained in order, or when the user asks for a game \"from idea to playable\". Not for general software work - use software-dev-loop."45version: 1.1.16metadata:7 source: https://skillmd.com/skills/yhyu13/game-dev-loop8 category: game-dev9 created_by: agent10---1112# Game Dev Loop — idea → docs → build → test → polish1314One loop that chains the vault's game-dev skills into a single build process. It15does not replace any of them — it is the sequence and the handoff between them.1617```18game idea → GDD/TDD → engine+template → implement → test/debug → quality loop → guide → memory19 └────────────────────← bug / goal unmet / quality short ←────────────────────┘20```2122## When to Use2324- Starting a real game build (web, single-file, Phaser, Three.js, or UE) that needs design, docs, code, testing, and polish chained in order.25- A task large enough that "just write code" would drift — you need a GDD and a plan on paper first.26- The user asks to go "from idea to playable", or to ship ONE polished scene.2728## The loop29301. **Persist the goal.** Capture the objective once; keep it intact for the whole run. (`goal-persistence`)312. **Classify the idea.** Pick the archetype and the right engine/template before writing anything. A mismatched engine is the most expensive mistake. (`game-archetype-classifier`, or reason inline for non-2D ideas.)323. **Write GDD + TDD.** Game Design Document first, then the Technical Design Document that makes each GDD section a buildable contract. (`gdd-markdown-template`, `technical-design-document`)334. **Scaffold.** Pick the engine/template and get a runnable skeleton before adding features:34 - 2D Phaser → `phaser-gamedev`35 - single-file zero-dependency HTML → `single-file-html-game`36 - parallel multi-agent DDD swarm → `kimi3-game-gen`37 - Three.js PBR / high-fidelity 3D → `three-pbr-workflow`38 - AI-editable 3D engine (core/adapters + tokenized world) → `cat-game-architecture`395. **Implement in vertical slices.** One feature → one test → repeat. Don't write all code then all tests. (`test-driven-development` / `tdd`)406. **Test + debug.** Deterministic E2E with screenshots/assertions; for UE shader/GPU issues use the UE-specific skills. (`playwright-testing`, `webapp-testing`, `ue4-shader-debug`, `ue-renderdoc-auto-capture`)417. **Quality loop.** Screenshot → evaluate → improve, until it meets the bar. (`render-quality-loop` for visuals; `intro-scene-until-perfect` for the single-scene polish discipline)428. **Playthrough guide.** Turn the verified probes into a human-readable how-to. (`guide-from-probes`)439. **Write long-term memory.** Decisions, gotchas, and next steps land in the durable store the same turn they happen.4445**Loop back:** a failing test, an unmet goal, or a quality shortfall returns to the plan (step 3), not straight to more code.4647**2D / template-based variant:** for a 2D template project, `game-dev-agent-workflow` is the48concrete phase script for steps 2–6 (classify → scaffold → design → assets → config/registration →49implement → verify). Use it instead of re-deriving those phases; `game-template` /50`game-template-engineering` cover scaffolding and the KEEP/COPY hook discipline,51`game-debug` the living debug protocol, `game-build-verification` the pre-ship checklist.5253## Pillars → skills5455| Pillar | Skill | Contribution |56|---|---|---|57| Goal | `goal-persistence` | durable objective, anti-drift steering, completion audit |58| Design — GDD | `gdd-markdown-template` | 13-section design doc |59| Design — TDD | `technical-design-document` | engineering spec that complements the GDD |60| Classify | `game-archetype-classifier` | physics-first archetype before scaffolding |61| Build — Phaser | `phaser-gamedev` | 2D scenes, sprites, physics, tilemaps |62| Build — single-file | `single-file-html-game` | zero-dep HTML, tiered against GAME_TIERS.json |63| Build — swarm | `kimi3-game-gen` | DDD + parallel coder agents, no asset files |64| Build — 3D PBR | `three-pbr-workflow` | runnable Three.js PBR scene, token-friendly |65| Build — AI-editable 3D | `cat-game-architecture` | C.A.T framework, core/adapters split |66| Test | `playwright-testing`, `webapp-testing` | deterministic E2E, screenshots, assertions |67| UE debug | `ue4-shader-debug`, `ue-renderdoc-auto-capture` | shader X30xx + GPU frame capture |68| Quality | `render-quality-loop` | screenshot → evaluate → improve |69| Polish | `intro-scene-until-perfect` | ONE scene, vertical slice, infinite polish |70| Guide | `guide-from-probes` | assertions (not pixels) → playthrough guide |71| Long-term memory | (this skill) | durable memory file |7273## Rules74751. **Goal first, never narrowed.** Re-inject the objective every turn; audit completion against real state, never self-declared.762. **Classify before code.** The engine/template choice is the most expensive decision; make it in step 2, on paper.773. **GDD before TDD before code.** A game without a GDD drifts; a GDD without a TDD isn't buildable. Don't skip either for a real build.784. **Vertical slices.** One feature → one test → repeat. Don't write all features then all tests.795. **Measure quality.** "It runs" is not a result; a screenshot evaluation against a bar is. (`render-quality-loop`)806. **Write memory as you go.** Decisions and gotchas land in the durable store the same turn they happen.817. **Loop back on failure.** Return to the plan (GDD/TDD), not to more code.8283## Stage handoff8485Each stage hands a written artifact to the next:8687- **goal** → objective + status + completion evidence88- **classify** → archetype + engine/template choice + why89- **GDD/TDD** → design doc + engineering spec (each section a build contract)90- **scaffold** → runnable skeleton (proves the engine choice before features)91- **implement** → code + what changed (vertical slices)92- **test/debug** → red-green results + fixed error signatures93- **quality** → screenshot evaluation vs bar + improvements94- **guide** → playthrough how-to (from probe assertions)95- **memory** → durable facts / decisions / lessons appended to the store9697## Per-round gate (answer at the end of EVERY round)9899A round does not close until all four questions are answered explicitly. Do not100advance to the next step — or repeat — on an unanswered gate.1011021. **Success / fail criteria?** State the acceptance bar for THIS round: what must be true (tests green? quality met? blocking issues = 0?) for the round to count as success vs failure. No criteria = drift, not a round.1032. **What should touch / not touch?** State the scope boundary: which files / areas / behaviors this round may modify, and which are off-limits. Anything outside the boundary is a scope violation, not a fix.1043. **Report criteria?** State what the end-of-round report must contain — use the fixed report format below, nothing else as the round summary.1054. **Self-review rounds + next step?** State how many critic rounds you will run before accepting (`source-anchored-design`: repeat until blocking = 0; set a hard cap if the round has a budget), and whether the next step auto-starts and repeats.106107## Round report (fixed format)108109At the end of every round, emit exactly this block — nothing else as the round's110summary. The agent does NOT judge success/failure itself; it restates the111original criteria, reports each one's current status, and gives only a112confidence score so the human can judge:113114```115success criteria: <restate this round's original criteria verbatim>116criteria status: <one line per criterion: met / not met / partial, with evidence>117success confidence: <0-10>118failure confidence: <0-10>119touch: <files/areas modified>120not touch: <files/areas deliberately left alone>121next: <single next action>122self review status: <critic rounds run, blocking issues remaining>123next step status: <auto-start | wait-for-user | done>124```125126The two confidence scores (0–10) are the agent's own estimate of how likely the127round succeeded and how likely it failed — they are NOT a verdict. The human128decides success/failure from the criteria status, not from the scores.129130## Termination131132The loop ends when the goal's completion audit passes against real state — tests green, quality meets the bar, memory and guide written — and the final round report shows all criteria `met` with `next step status: done`. The agent never declares the loop a success itself; the human does, from the criteria status. A failing test, an unmet goal, or a quality shortfall is not termination; it is a return to step 3 (plan).133134## When NOT to use135136- Trivial one-shot edits — a one-line change does not need the whole loop.137- A task one skill already covers — don't compose for the sake of composing.138- Pure asset/art generation with no code — use the asset-direction or creative skills directly.