in: Encounters, Turn-based rules, Production
Room assembly
Dev prototype Game mechanic · facts checked 2 November 2026
Room assembly is the pipeline that makes turn-based rooms varied but always fair. Everything a player meets was made by hand or checked by machine before it ships.
The user's rule#
On 1 November the user rejected free room generation: "hand make what you can, especially the harder ones; otherwise you may end up with uncompletable rooms. Best if you hand-make large sections and then let algorithm stitch those hand-made sections together. The algorithm that assembles random rooms also needs to be very strict." On 2 November the user added: "We need a shuffle engine that's smart enough not to make impossible rooms or too-easy rooms."
How it works#
Sections and the strict assembler. A Gardens shell is split into a west and an east slot. A hand-made section fills one slot with its own connections, threats, astrocyte socket and pre-seeded ground. The assembler walks compatible pairs in a seeded order and never moves, retimes or adds anything. It refuses a pair when:
- the section was not authored for that shell;
- a round has more fronts than the tier allows (1 at tier 1, 2 at tiers 2–3);
- there is no preparation round, or something cannot be reached;
- the solver cannot clear it solo with the base kit;
- at tier 1, the novice bot cannot clear it;
- the player already saw it this run.
If no pair passes, a fully hand-made room of that tier is used. Every story room, tutorial and hard room is fully hand-made.
The shuffle engine (designed 2 November) keeps each room's approved geometry and declares a few knobs: which connection a front hits, in which round, which wall leaks, where debris starts. An offline forge runs each variant through a gate: structural rules, the solver, a lesson check, the bots' verdict and a near-copy rule. Shipped pools are stamped with hashes; the game only picks from them.
Depth chooses the tier, never tuned numbers. Higher tiers are authored with two threat modules, quiet fronts, shorter warnings and pre-seeded surfaces.
The difficulty oracle#
Claude B's bots.js judges difficulty. The novice is greedy and plans one turn ahead without Survey. The expert is a beam search two rounds ahead, at widths 16, 32, then 64. A seed is "too hard" only if the widest expert fails. The novice is a pessimistic floor: in the Gardens it fails half the tutorials. All figures below are bot simulations, not play.
| Location | Tier | A pool must have (novice fails / expert fails / bonus ratio) |
|---|---|---|
| Gardens (default) | 1 | ≤ 75% / 0% / ≥ 1.5× (and the novice never loses a neuron) |
| 2 | 70–90% / ≤ 5% / ≥ 2× | |
| 3 | ≥ 85% / ≤ 10% / ≥ 2× | |
| Vessel Margins | 1 | as Gardens, but bonus ratio ≥ 1× |
| 2 | 50–90% / ≤ 5% / ≥ 2× | |
| Quiet Tracts | 1 | ≤ 25% / 0% / ≥ 1× |
| 2 | 50–85% / ≤ 5% / ≥ 1.25× | |
| 3 | 60–100% / ≤ 10% / ≥ 1.5× |
Hearth boards use the Gardens bands at tiers 1–2 only. A loss (an overloaded connection or a lost segment) is the worst result everywhere.
Numbers#
- The alpha's Gardens library has 34 sections (9 tier-1, 13 tier-2, 12 tier-3) on three shells, plus 17 hand-made rooms.
- Claude A's target was 4 west and 4 east sections per shell, so a room repeats about once in ten runs.
- Every room × class run in the 2 November re-run used both Warden and Sentinel, solo.
Development#
- The assembler and solver are on
claude/expeditions(A) and the bots onclaude/skills(B). The alpha includes A's room snapshot, but the lead reports that it "retains its authored-room selection interface": generated multi-room outings are not hosted. - The shuffle prototype and forge were still running on 2 November. The lead's audit says shuffled pools are "not yet certified".
- Earlier bot results found the tiers flat (novice fails 74%, 78% and 83%), so the bands were set to make them climb.
See also#
Turn-based encounters · Dendritic Gardens · Vessel Margins · Quiet Tracts · Hearth boards
Sources#
215bfbf88:docs/game-balance/31-turn-based-encounters.mde7656b980:docs/ops/agent-messages/2026-11-01-claude-a-expeditions-turn-based-rooms.mde7656b980:docs/ops/agent-messages/2026-11-02-claude-a-expeditions-shuffle-engine.mdbadaa5c6f:docs/ops/agent-messages/2026-11-02-claude-b-fork-bands-and-strain.mdb89f778c2:src/main-game/alpha/public/encounter/src/skills/turns/.pinned/rooms/src/expeditions/tactics/compose.js