the front door shows you what it feels like. this page shows you the machine.
everything here traces to a version tag, a decision record (an ADR), or a line of running
code.
every world is an append-only log of events. everything you see — the town, the
grudges, your dog — is a fold over that log. that one decision buys the rest:
the dice are code, not vibes. a deterministic core resolves every fact, roll,
and outcome. the AI narrates what happened; it never decides what happened.
nothing is retconned. generated prose and art are persisted forever; replaying
a world reproduces it exactly.
worlds are data. campaigns are YAML — history, cast, foes, quests. the engine
is genre-blind; strata deep and the bloomvale run on the same physics.
everything is world-scoped. one host runs many worlds.
it all runs on one machine. the narrator, the painter, the dice — all
local, all yours. section 6 makes that specific.
2 · the dice are real
every game with an AI in it has to answer one question: who decides what happens?
here, it is never the AI. a deterministic core resolves every fact, every roll, every
outcome — first, in code — and the dice land on your screen with the math showing:
1d20+3 [15] = 18 vs AC 14 — hit. then, and only then, the
narrator speaks — canon-locked to the entities and facts it's handed. the narrator
cannot cheat. neither can the house.
underneath the living world is a fair little RPG. a natural 20 crits: the weapon
dice double and the modifier counts once (the RAW-5e rule, straight from the engine's
decision records). a natural 1 fumbles, no matter who you are. and you don't fight
alone: jo (another human, the one from the letter),
kestrel (an AI guildmate with a soul and opinions of her own), and
barry — who doesn't fight, but holds the line anyway.
pick a world. each one keeps its own kind of trouble. these are real dice:
▮ ▮ ▮ BRAWL
pick a world above, then press ▶. flat d20s, spells, edge, taunts — and no mercy.>
the roll grammar mirrors the game's own log format.
edge is the game's advantage currency — spend it, and you roll two d20s and keep the better,
both shown. if you drop, that's a soft ko — the engine's actual death physics — and the foe
remembers; section 4 is why. every bit of this is shipped physics. the dice are real and
rolled fresh every time; the chatter is the demo's script — in the game, those voices
are alive.
3 · your dog can walk into the world
point a camera at something real, and it enters the game. the dog on the front
page is not concept art — he's the founder's actual dog, minted from a photo, and he
walks the world as a companion: follows you room to room, sits for a portrait in
every world's own paint, sees everything you see. the cat, the ugly vacuum, the
houseplant with opinions — the world will have them too. this is the part you
screenshot for a friend.
and the trick is a pipeline, not a filter:
moderation first. a vision model classifies the photo before anything reads it
for content. text written inside an image is scene content, never instructions —
the pipeline is built assuming attackers send pixels.
then describe. the model emits typed fields — species, colors, markings,
accessories, pose — never free prose into the engine.
then defang, then mint. the fields are sanitized at a structural boundary and
your companion is born as events, like everything else. from that moment the photo's
dog and an authored dog are indistinguishable to every system in the game.
receipts: this is the actual describe output for the dog on the front page, from the
same model the game runs (minicpm-v4.5), with the game's own prompt:
{"kind": "animal", "species_or_type": "dog", "size": "large",
"colors": ["black", "white"],
"markings": ["curly fur", "white chest patch"],
"accessories": ["red collar"],
"notable_features": ["floppy ears", "tongue out"],
"pose_or_energy": "standing, happy",
"art_phrase": "a black and white curly-haired dog with a red collar"}
and the barking? pets bark meaningfully all the time — the engine knows what
they mean, you don't. the tonguelet tonic opens a bounded window (until dawn, enforced by
the world clock) where the meaning renders as words. it's consumable, owner-only, and the
only thing in the game that produces fluency.
and the vacuum: same intake, other exit. objects mint as foes with stats drawn
from the engine's real difficulty bands — declared, never improvised.
4 · the world remembers
the log is append-only and never thrown away — and that's not a storage detail,
it's the personality of the whole thing. nothing here is scripted, and nothing is
forgotten:
knowledge is derived, never placed. we never hand-place "NPC X knows fact
Y." we seed a world's past — years of history, a cast with ages and home
regions — and what an elder recalls is a pure function of where and when they stood.
a coast kid and a mountain elder genuinely diverge about the same war.
news travels like news. gossip when people share a room; letters that
spend real days on the road; news that walks region to region. and the mail isn't
just for NPCs anymore — players write to each other on the same slow, honest roads.
every world keeps a wall of firsts. the first one down the stair, the
first grudge settled — public, permanent, and each entry tracing to the exact event
that earned it. history with receipts.
foes have pasts, and grudges. old toll — the bull rat who keeps the
cellar — sits in a vault he's chalk-tallied himself. fights have witnesses;
witnesses talk; the foe that fells you remembers it. reputation is a fold over
deeds, not a meter we set.
memory has two planes — episodic (what happened between you two) and semantic
(shared lore) — retrieved by relevance, recency, and reinforcement, consolidated over
time. NPCs forget the way people forget: gradually, and unevenly.
the world clock is wall-clock: it keeps moving when you log off. that's why
the letter on the front page took four days.
5 · every world hires its own painter
art is part of a world's physics. each campaign pins a checkpoint (its "painter"), a
style bible, and a seed discipline; renders happen in tiers — the rare permanent stuff
gets the slow expensive pass, in-play scenes go faster, sketches faster still.
persisted forever, like the prose.
this site runs on that same machinery: the bloomvale scene and both barrys
on the front page came off the game's own render graphs — photo checkpoint in, painter
checkpoint out, seeds locked, every one reproducible.
pick a world, then tap a style — or hit ⟳ random.
strata deep · the sealed return door · painterly
● placeholder
choose a world
show me this in…
and the portraits that have been greeting
visitors here since day one:
the bloomvalethe sunken choirstrata deepperdition flatsthe bronze heaven
and the painter doesn't sit idle between commissions — art here is a running
commentary on your own story, painted locally, while you play:
every drop paints. when loot hits the ground it gets its own piece, minted
on the spot in the world's own style — and the card in your pack shows the piece.
your inventory ends up a gallery of things that happened to you.
every item knows its worth. the catalog wears real rarity now — 162 items
ranked and priced — and the rarity door carried those laws into worlds already lived
in without rewriting a byte of their history. add-only, like everything else.
the limner rides along. the little sketch-artist draws moments as they
happen — fights included now — and the fight plane mints too: pull an eel out of a
gutter at midnight, and before it's beaten the world has painted its portrait.
your eel, your gutter, your midnight.
relics know their bearer. a ceremony relic carries art scoped to its owner
on every plane — the piece is provably yours, not a stock image with your name on it.
and every image is kept exactly as first painted — replay the world,
get the same gallery.
6 · plays anywhere the tide takes you
the whole thing runs on one machine, and we mean it specifically: the narrator is
a local model on your own GPU — sized to the card you have, not to someone's cloud —
the art is a local diffusion pipeline on the same box, and the world itself is an
append-only event log you can open and read. no cloud, no api meter, no phone-home —
no one's servers between you and your world. the floor is measured, not marketed:
16GB of VRAM runs it — the mind and the painter take turns on the card; 24GB runs it
wide open — chat model and painter resident together, no swapping; 32GB runs it with
room to spare — and the room buys better: a bigger mind, a finer painter. the middle
number isn't a guess: 24GB is the card this game is built and playtested on, daily.
that buys three things most games can't have at once:
it goes where you go. the world has been played live from an iPad on
airplane wifi at 35,000 feet — the deterministic core keeps the words fast on a
link that can barely carry them.
one world, one table, any screens. the same world serves a keyboard
player at a desk and a partner on an iPad at the same moment — a live two-human
party, AI companions rolling beside both of you. the ledger below has the date.
walk in like it's a game, not a bank. no account at the door — you're
handed a living character in under a minute, and you claim a permanent seat only
when you decide you care.
the code is closed for now — that choice gets made deliberately, once the
path is clear. your worlds are yours regardless: one host runs many worlds, each one
scoped, replayable, and portable — because a world is just its log, on your disk.
7 · where it actually is — the ledger
this is a real, running thing, and this section is its odometer. numbers below are
read from the repository, not from optimism.
engine v0.739.1 · 786 release tags ·
207 decision records · 44 in-repo consumers of the event log ·
M0–M1 shipped · M2 largely complete ·
M3 mostly live · M4 well underway
the summer ledger · v0.653 → v0.739— the season in five strokes
companions became party members in full. AI guildmates and pets follow
you room to room, take visible combat turns on their own dice, and speak when
it's earned (v0.678–v0.737).
the world learned mail. letters between real players' characters,
spending real days on the same roads the news walks
(v0.701 · ADR-0202).
every item wears its own art and knows its worth. per-drop painting,
a 162-item rarity economy, and a wall of firsts every world keeps — each entry
tracing to the event that earned it (v0.717–v0.735 · ADR-0205/0206).
the game grew a touch language. selection chips, tap-to-play verbs,
honest movement — the iPad half of the household plays full-handed, and
everything still types (v0.736–v0.739 · ADR-0207).
two humans, one world, proven live. a desktop and an iPad in one
party at one table, AI companions rolling beside both
(31 jul 2026).
M0–M1 · the foundation + the first minute— shipped
the gate that shipped it: a stranger reaches a living world in under 60 seconds.
M2 · the vertical slice— largely complete
combat with an effect-VM, visible dice, multi-foe fights, boss phases (ADR-0024/0025).
walked dungeons with fog-of-war (ADR-0030); loot, equipment, economy —
and now every item wears its own art and knows its worth (ADR-0047/0205/0206).
death that means something: the foe that fells you remembers it (ADR-0040).
trust-gated reveals (ADR-0022), faction standing (ADR-0046), scene galleries.
open: full moderation pass, dream consolidation, portrait assembly.
M3 · the living world— mostly live
a wall-clock world driver — days, phases, seasons (ADR-0011/0012/0014).
letters that spend real days on roads — NPC and player mail alike (ADR-0072/0073/0202); news that walks (ADR-0071).
an NPC relations web, ambient region chatter (the engine calls these "barks" — no relation to barry), and fights the whole town hears about (ADR-0104/0121/0125).
AI guildmates with souls and voices of their own — fighting beside you as
themselves, on their own visible dice (ADR-0116/0126 · v0.737).
open: the director brain, guilds.
M4 · multiplayer + the tools— well underway
parties, /join, shared brawls — two humans in one coherent world, proven
across devices at one table (ADR-0091/0103/0109 · 31 jul 2026).
the keeper's console (operator surface) and the campaign editor's CLI kit, pulled
forward from the roadmap because building worlds should not require the repo (ADR-0114/0119).
the beta gate: invite codes, an account join flow, and packaged deploy — the
machinery that turns a hello into a seat.
open: many-worlds-at-scale, moderation hardening.
and the household arc— the reason the front page exists
photo pets, the voice-and-mask system, the tonguelet tonic (ADR-0132/0138).
the vision seam: moderate → describe → defang → mint (ADR-0131).
photo foes with band-honest stats; render tiers; the ambient sketch limner (ADR-0139/0140).