BEHIND THE CARTRIDGE
Every floor was solved before you saw it.
EGRESS.EXE is a Game Boy Color game about going down: dig through the carpet, let the CRTs fall where they fall, find the keycards and the door. The rooms are generated, but none of them is a guess. This is how they are made, how they fit, and where the game is going next.
- 16×14
- CELLS IN A ROOM
- 768
- SOLVED ROOMS ON THE CARTRIDGE
- 10
- FLOORS DOWN, ONE WATCHED
- 80 KB
- OF A 1.9 MB BUDGET
01 / ONE RULE, TWO MACHINES
The room is the same C on the cartridge and on the computer.
A room is made from two numbers, a seed and a tier, by one file of C that is compiled twice: once for the cartridge and once for the computer that tests it. The same file holds the gravity step. CRTs fall when nothing holds them up, roll off each other's shoulders, rest on you while you stand under them, and hurt when they land on you. Because both builds run the same rules on the same seed, a room on the computer is byte-for-byte the room the cartridge draws.



02 / SOLVED FIRST
A solver walks every room to the door before it ships.
On the computer, a search plays each room one meaningful act at a time (dig, pick up a keycard, push a CRT, break drywall, step out from under a CRT you were holding up) and lets the board settle after each. Every plan it finds is replayed through the cartridge's own gravity, so it cannot rely on a shortcut the real game does not allow. A seed is kept only if the room is not trivial (no keycard or door reachable without moving anything) and the solver finishes it within that tier's bounds.
The cartridge cannot afford to solve, so it carries the answers instead: the first 128 accepted seeds for each of six tiers. Then a test harness boots the real ROM, checks that the cartridge's room matches the computer's, and drives the solver's plan through the game, button by button, to the door.
A real run from the harness: floor one, seed 40, tier 0. The solver found a 15-step plan (8 digs, 1 drywall broken, 3 CRTs dropped, no pushes) and the cartridge, driven by it, reached floor two.
03 / A RUN
Ten floors. Three landings. Something at the bottom.
- Floors 1 to 9 are drawn from the solved table, getting harder by tier: 0, 0, 1, 1, 2, 2, 3, 4, 5.
- Mites come out of the carpet. One weapon answers them: a lash with a three-hit combo, a charged spin, and a dodge roll.
- Landings after floors 3, 6 and 9: one of six factions talks, you answer, and they trade mods, a battery or coffee for tokens, priced by how they feel about you.
- Floor 10 is built, not generated: THE WATCHMAN, a fan of orbs, summoned mites, and a dive that leaves it stunned under a gallery of CRTs.




04 / WHAT LEANS
The story is never rolled. It is leaned.
Underneath the run is a small matrix of three questions (what is this place, where is the way out, why are you here) with three answers each. Nothing picks an answer at random. Every floor's acts and every reply on a landing lean it a little, and the ending is a question built from where it leans. A bounded trace of it survives between runs in the battery save, so the next run starts already tilted, a little, toward the last one.
The six factions (COMPILE, CHARGE, SKY, WATCH, ROOT, LOCK) each think they know what happened. Their faces come from the same face generator as CRUCIBLE.EXE's, and so do the faces on this page.


05 / UNDER TWO MEGABYTES
A hard line at 1,900,000 bytes.
The cartridge is linked as a 2 MiB MBC5 with battery-backed save RAM, then trimmed after its last bank. The build fails if anything is linked into a bank that would end past 1,900,000 bytes, or if any byte that is not padding lies past the cut; then it writes the header and checksums over the trimmed file. Saves are two records, each with a CRC-16, so a power cut mid-write loses one and keeps the other.
06 / WHAT COMES NEXT
A world that falls into place, and falls apart behind you.
The cartridge you can play today is a milestone, and it is about to change. The next version is designed and mocked up but not built yet; the room you scrolled through at the top of this page is a preview of it. Rooms will not be drawn in one go: cards drop, rise, slide or glitch in around you, ordered by distance, and the cell that makes the puzzle click can arrive last. Behind you, cells crack, split into quarters and fall into the void.
- Built backwards. Each room is grown from the exit: the door needs something, something has a trait, the trait comes from combining two things, the things sit behind obstacles. The solver then checks that the trick is necessary, that red herrings cannot soft-lock you, and that there are only one or two ways through.
- Combining. A portable bench, like CRUCIBLE's: fire and water make steam, and the same reaction table works on rooms and on enemies.
- Heirs. When you die, your child carries on, with a family resemblance and a small genome of their own.




Honestly: these are mock-ups drawn with the game's own tiles and palettes, at the cartridge's 160×144. None of them is in the ROM yet.
07 / THE ROOM ON THIS PAGE
Drawn by the same engine, in the cartridge's colours.
The scene at the top is rendered by KEEL, the engine behind CRUCIBLE.EXE, at a low resolution with ordered dithering and palette ramps taken from EGRESS's own tiles. The slabs carry the cartridge's floor cards, the objects are its 16×16 pieces, and the handheld plays the real ROM through an emulator in the browser. Every motion is a function of how far you have scrolled, so scrolling back undoes exactly what scrolling forward did.
08 / WHY GENERATE IT
Why the rooms are generated and checked, not drawn.
A puzzle game lives or dies on whether its rooms are fair. Generating rooms and proving each one with a solver gave this project hundreds of floors that are each known to be solvable, not trivial, and within their tier's difficulty, and every rule change could be re-checked across all of them at once. The art, music and code were made with AI-assisted tools and measured as they went (bytes, cycles, solver bounds). That is this project's experience with these constraints, not a statement about level designers or artists; hand-made puzzles are a craft this game borrows from everywhere.