Create · Atom first
Start from a spark you can touch
Maybe it starts with a protagonist you can't stop flipping. A chord that sets a mood. A card that reads right. Iterate the atom until it sings — then let it tell you what game it wants to be.
Honestly: this is the slowest door to a running game — and the most likely to find an original one.
The Workshop's tabs, on a project that's two days old: the solid ones exist, the dashed ones don't yet. A tab appears the day its content does — Play arrives last, and that's fine.
The concept comes last, not first
You iterate a real thing — a sprite, a chord, a card — until it starts suggesting a game. The design doc is written when there's something true to write down.
The Workshop shows it from day zero
A project is a Timeline and its atoms before it's a game. Tabs appear as content does — a day-zero project is one tab, and the UI grows as the project grows.
Pivots cost a paragraph
The Timeline is a log, not a contract. Change your mind, append an entry, keep the old one — before a game loop exists, following a better atom is cheap by design.
The rigor doesn't go away — it moves. Behind the scenes your agent still runs the Design Codex: an atom earns its game by becoming load-bearing in one tension, not by being pretty. You see the concept it proposes, never the machinery.
Hand it to your agent
Paste this into Claude Code, Cursor, or any coding agent. It asks about your spark first — the concept comes when the atom earns it.
I want to grow a game from a spark, not a pitch. Set up an atom-first hayao project and iterate it with me. 1. Scaffold a seed-stage project (a Timeline + atoms, NO game yet): npm create hayao@latest my-spark -- --seed && cd my-spark && npm install 2. Ask me what the spark is — a character, a sound, a look, a verb — and replace atoms/first-light.ts with a real first atom for it. 3. Run npm run dev and send me to /workshop/ — I'll look, listen, and turn knobs there while you iterate the atom in code. Small steps; my reactions drive the next change. 4. When the atom is genuinely good ALONE, name what it radiates (fantasy / verb / tension) and run the seed method: https://github.com/hellojanpacan/hayao-js/blob/main/design/00-process/the-seed.md — audition tensions until the atom is load-bearing, then propose the concept to me and write it into TIMELINE.md as the Original Concept. 5. Only then start game.ts — and prove it like any hayao game. If an atom stops radiating, say so plainly and we archive it. Pivots are cheap here; that's the point. Start by asking about my spark.
Already know what the game is?Design the concept— orquickstart a working game.