Ten levels already exist. Nobody has to invent a game — just finish the one standing in the repo.
The Discovery That Changed the Job
The plan was: design 10 levels. Then somebody actually looked.
All ten already exist. Gameplay/Platformer/Levels/ holds LVL1 through LVL10 as real scenes — wired to scripts, chip goals, hub flow. LVL1_LOBBY is already a 236 KB hub with baked lighting and vendotrons. LVL2_GARDEN has 31 CSG shapes of course geometry. The rooms at the end of the roster — Vault, Breach, Breakroom — are named, placed, and in some cases already furnished.
So this document is not a pitch. It’s the operating manual for what’s standing there: what each level teaches, how the difficulty climbs, and the one rule that keeps all ten honest.
One caveat before the table: the geometry that matters most (LVL3–5) is currently the thinnest. That’s not a problem — it’s the opportunity. Empty CSG rooms take blockout best.
The One Rule: One Player, One Truth
Every gap, ledge, and ladder in every level obeys the same physics, because there’s only one player character. (After the player-base graft onto Character.tscn settles, an in-engine jump eval locks the actual numbers — the tiers below are stated relative to the measured jump, not pinned to constants that could go stale.)
That gives us three gap tiers and two ledge tiers, defined as fractions of what the player can actually do:
- Comfort gap — 0.8× jump distance. The “you can’t fail this” baseline for teaching.
- Honest gap — 1.0×. Full jump, no tricks. The standard challenge spacing.
- Stretch gap — 1.2×. Demands sprint, slide-jump, or bunny-hop. Never required without the verb being taught first.
- Walk ledge — below standing jump height. Jump ledge — at max jump height. Trick ledge — reachable only with slide-jump.
The classic platformer failure mode is designing gaps by vibes and discovering in playtesting that level 7 is physically impossible. The metrics gym — a throwaway scene with gaps at 0.8×/1.0×/1.2× of the measured jump — exists so the question “can the player make this?” is answered with a ruler, not a hunch.

The Verb Ladder
One verb per level. Teach it, test it, twist it. Never ask the player to combine verbs they haven’t been individually taught — that’s what level 9 is for.
| # | Level | Verb taught | The twist |
|---|---|---|---|
| 1 | LOBBY (hub) | walk + interact | Zero threats. Vendotrons, water cooler, and the level-select doors — the entire game’s grammar, taught in a room with no failure state |
| 2 | GARDEN | standard jump | Moving platforms. The most-developed course — it’s the tutorial benchmark; retrofit its gaps to the 0.8×/1.0× tiers |
| 3 | REFACTORY | sprint + sprint-jump | Bunny-hop chains. Bare CSG blockout is ideal here — lay the full 0.8×/1.0×/1.2× gap series while nothing’s dressed |
| 4 | VOIDCHAMBER | depth reading | The trust-the-jump level: light the landing, never the path. Lowest-gravity or darkness variant. Thinnest scene today, most design ahead |
| 5 | OBSERVATIONDECK | crouch + crouch-jump | Slide under doors. Deck = sightline level — landmarks visible from spawn so the player can read the route before taking it |
| 6 | CONVERGENCEROOM | slide + slide-jump | Trick ledges and slide-jump chains — the geometry literally converges into funnels |
| 7 | MEMORYADJUSTMENT | wall-slide / wall-jump | The two-wall ascent. (Fix the LvL7 lowercase ID typo in the shipped string while in there) |
| 8 | VAULT | ladders + climbing | Vertical level. Ladders are the slow-safe route; slide-jumps are the risky fast route — the level presents the choice |
| 9 | BREACH | everything (exam) | No new verbs. Boss-tier gap/ledge mix, every old verb twisted. Optional timer or pursuit pressure |
| 10 | BREAKROOM | (victory lap) | The diegetic ending. Already the most dressed room — keep the chill, minimal platforming, payoff scene |
Pacing check: rest → spike → rest. Two tutorial levels, two push levels, two mid-verb levels, two advanced levels, one exam, one exhale. The curve holds.
Level Philosophy Notes
Voidchamber Is a Feeling, Not a Room
The name is the design doc. A void level works by withholding information — the player commits to jumps they can’t fully see, trusting shadow and landmark. The rule “light the landing, not the path” is what makes that feel fair rather than cruel. Every other level teaches with information; this one teaches with its absence.
The Vault’s Choice
Ladders are mechanically simple but emotionally slow. That’s the point: the Vault offers a safe slog and a dangerous shortcut through the same vertical space, and lets the player’s confidence pick. It’s the first level where mastery of earlier verbs (slide-jump from level 6) beats the level’s own headline verb.
Breach Doesn’t Teach
By level 9, the exam needs no tutorial text. Every obstacle is an old verb with a new costume. If a playtester fails Breach, the failure belongs to an earlier level’s teaching, not Breach’s difficulty.
The Lobby Is the Contract
Hubs teach the game’s promise: nothing here can hurt you, everything here can be touched. The vendotron and the water cooler matter as much as any jump — they establish that the world responds. The level-select doors are the Paintings equivalent: the hub is the menu.
The Other Game: SpiceShip
The original 5 ship levels are a separate discipline — flight, ZeroG gravity-flip triggers (×4 in levels 2+), thrust boosters, StopWatch + ANTICHEAT runs. The jump-metrics kit applies only to their on-foot interiors (level 5’s spice station, the tutorials); the flight sections need sightline and thrust-readability rules instead: the next hazard must be readable at the speed the ship travels.
The survey’s verdict on the revision job: levels 1–4 are thin scaffolding (dress and lay them out), level 5 + WinLevel are asset-heavy (keep the finale), and the -1/0 tutorials are the natural place to teach thrust. One structural flag to resolve first: level_paths.gd defaults point at a Gameplay/Levels/ path the scenes don’t live in — either the .tres overrides it or the flow is stale. One-line check before any revision work.
Same rule applies here as everywhere: one player, one truth. Revised SpiceShip obeys the same measured jump numbers as the platformer levels.

What’s Deliberately Not In This Bible
- No locked jump constants. The tiers are relative to a measured jump; the numbers get filled in when the in-engine eval runs on the final player base. Constants written too early go stale the moment the controller changes.
- No level layout prose. Per-level spawn→verb→twist→chip-exit walkthroughs are the next artifact, written per level as each goes into blockout — starting with LVL4.
- No new scenes. All ten exist. Revise, don’t author.
docs/level_design_doc.OBSOLETE.md(the old 9-level rocket-climb) is dead — don’t resurrect its structure.
Summary
- All 10 platformer levels already exist as scenes — the job is revision and completion, not creation
- One verb per level, taught → tested → twisted; pacing runs rest→spike→rest across the ten
- Every gap obeys one player, one truth: tiers defined as fractions of a measured jump (0.8×/1.0×/1.2×), numbers locked by an in-engine eval, never by vibes
- Voidchamber (LVL4) is the thinnest scene and the greybox starting point — light the landing, not the path
- SpiceShip revision is a different discipline: dress levels 1–4, keep the finale, teach thrust in the tutorials, resolve the stale
level_pathsflag first
