
Micro Game Jam
Build a tiny, complete, themed micro-game from a one-word or one-line prompt — a 60-second arcade or one-mechanic toy that fully fits in a single HTML file with a clear goal and a win/lose. Interprets the theme into one tight mechanic and a scope you can actually finish first, then builds the whole game in one pass. The jam discipline is ruthless scope: pick ONE mechanic that expresses the theme, lock a tiny acceptance bar, and ship it playable rather than sprawling — the ordering that gets a small model to a finished game instead of an unfinished engine.
Steps
Entry step: theme-design. Each step names the specialist role it wants; the full working prompt is expandable.
- Theme designgame-designerentry
interpret the theme into ONE finishable mechanic
Show working prompt
Turn the theme into a finishable micro-game. (1) Restate the theme/prompt in one line and brainstorm the single mechanic that best expresses it — pick exactly ONE (resist scope creep). (2) Define controls, the goal, and a clear win AND lose in one screen. (3) Time-box the scope: what is in (one mechanic, one screen, score or timer) and explicitly what is OUT. (4) Pick a tiny visual style (a few shapes, a 3-color palette with hex). (5) Write a SHORT acceptance-criteria checklist of 4-6 binary items, e.g. 'the theme is recognizable in the mechanic', 'controls work', 'a win condition can be reached', 'a lose condition can be reached', 'a restart exists', 'runs with no console error'. Write to notes/theme-design.md and via write_task_note. No code yet.
- Builddeveloper
implement the whole micro-game in one index.html
Show working prompt
Build the entire micro-game in a single index.html (inline CSS + JS) satisfying the small checklist. (1) <canvas> + 2d context, the one mechanic, real input handling, and a game loop. (2) Implement the goal and BOTH win and lose states on the single screen, plus a restart (press a key / click). (3) Apply the tiny visual style and show score or timer. (4) Keep it small and complete — finishing beats features. Vanilla JS, no CDN, no external assets. On a loop-back, fix only the named gaps without regressing passing criteria. write_task_note the path and passing criteria.
- Evaluatereviewer
Grade the deliverable against every acceptance criterion. All pass → finish; any fail → loop back and fix the gap.
Show working prompt
Play the micro-game. Open index.html if possible, else trace the loop. Check EACH criterion from notes/theme-design.md and write PASS/FAIL with a reason: is the theme recognizable in the mechanic, do controls work, can you reach BOTH a win and a lose, does restart work, zero console errors? It must be a complete tiny game, not an unfinished engine — if win or lose is unreachable, FAIL and loop back to build. Then route — this is the whole point of the loop: - **Every criterion PASSES →** call `advance_task_step({ ref, stepId: "evaluate", next: "finish" })`. - **Any criterion FAILS →** write the specific gaps to notes, then call `advance_task_step({ ref, stepId: "evaluate", next: "build" })` to loop back. The builder fixes exactly those gaps. Never route to `finish` while any criterion is unmet. The build phase's completion gate already blocked a grossly-incomplete deliverable; your job is the judgment an automated check cannot make (does it actually work, read well, look right). After ~3 unproductive loops, stop and report DONE_WITH_CONCERNS so the user can step in. - Finishdeveloper
All acceptance criteria met. Stamp a short summary and report DONE.
Show working prompt
Every acceptance criterion passed. Write a one-paragraph DONE summary to task notes via `write_task_note`: what was built, the deliverable path(s), and a one-line confirmation that each criterion is met. Then report DONE.
Triggers
Phrases that suggest this craftbook to a crew.
- game jam
- tiny game
- themed game
- make a quick game
- one mechanic game
- micro game
Source
View this craftbook on GitHub · MIT license