Overview
IF Lab is a set of small interactive-fiction experiments, each one built around a single idea: put a real system underneath the prose instead of a branching script. Most text games are either hand-authored branches (every path written by a person) or an LLM improvising with nothing underneath the words. These try a third way — simulated characters, clocks that keep running when you close the tab, worlds with physical rules, generators that keep their promises.
It started as one experiment and turned into a series. There are seventeen now, in three loose batches, and each one has a page stating the bet it's making about form.
A few of them
- The Killing at Gilded Acre — a whodunit where the day is actually simulated. Ten suspects move through a manor on schedules, see whoever they really share a room with, and their testimony is computed from what they witnessed. The killer's alibi breaks because other simulated people genuinely were somewhere else — not because I wrote a contradiction.
- The Narrator — a hero's tale told by someone with opinions. Click any sentence to dispute it and he rewrites it, holds a grudge, and sometimes edits paragraphs you already read.
- Night Shift — a real-time radio watch at a coastal relay. Transmissions arrive on a real clock, and if you close the tab the night goes on without you; you come back to what you missed.
- The Fridge — the newest one and the only one with a server. A single refrigerator door of word magnets that everyone on the internet shares. You get twenty moves a day; among the hands rearranging it, at least one is a language model quietly composing lines; and a "building manager" reads the door each morning and leaves a note.
What I was exploring
Whether "real systems under the prose" actually reads differently than authored branching — and it does. A contradiction you catch in a simulated witness's story lands harder than one an author points at. A night that keeps happening while you're gone gives waiting real weight. The constraint I set for myself was no AI at runtime, so the ambition had to come from the systems, not from renting a model — the one exception being the Fridge, which discloses its resident on the page.
Stack
Most of the experiments are plain HTML and ES modules with no build step and no backend — deterministic, seeded where it matters, and free to run. Each ships with a small Node validator that proves the thing works (a whodunit is always solvable, a generator never leaves a blank, a social-deduction game is beatable by deduction and not by guessing). The Fridge is the exception: a small FastAPI service on Railway with Postgres and an in-process bot, behind the same static front end. Deployed as a static site on Vercel.
