The LOOM Engine play screen: Kaelen, a hooded pixel-art dungeon master, sits at a tavern table under a candle chandelier, with lore, quests and character panels around the room.

A local-first tabletop game for one

A dungeon master who rolls real dice, cites the book, and remembers your story.

LOOM Engine seats you at a candlelit table with an AI dungeon master that is grounded in a deterministic rules engine. The model tells the story. The engine rolls every die, keeps every rule and remembers every name. It runs on your machine, with your model, and your campaigns never leave it.

Actual gameplay from the current build. Kaelen, at The Rusted Tankard.

5,372turnsof measured play across 24 full length runs on 8 systems. Twenty of the 24 finished with zero errored turns.counted 11 Sep 2026
3.7s medianfrom your line to the DM's reply on an affordable hosted model. Worst turn in the run, 8.2 s.measured on a live provider
$0.08to $0.13 / 200 turnsof inference for a long evening at the table, bringing your own key. Depends how chatty your table gets.measured 27 Aug 2026
1,809testsacross the engine and the client. A claim on this site that outlives its evidence gets deleted, not defended.counted 2 Sep 2026

The pitch

A DM, not a chatbot

Every AI dungeon master you have tried has the same three failures. It fudges dice it never rolled, it invents rules that are in no book, and it forgets the innkeeper you befriended forty turns ago. LOOM Engine is built backwards from those failures.

Dice are real

Every roll is parsed and rolled by the engine, never by the model. Seeded, logged, reproducible: the expression, the per-die breakdown, the outcome band. A deterministic gate decides whether a line even calls for dice before any model is asked anything.

The DM can plead for your character's life. It cannot fudge the die.

Rulings cite the book

When the DM makes a call, it quotes the rules text it ruled from, with a section reference you can check. On the strictest setting, every applied rule carries its citation. Disagree? The passage is right there.

Rules are data, not prose in a prompt. Seven systems ship as packages the engine adjudicates directly.

Campaigns that last

Your story lives in a real database with full-text search, folded into chapters as it grows. A campaign can run for a hundred sessions without the DM losing the plot, and without your gold going missing from a context window.

A save point is taken before every turn. When a night goes off the rails, step back to before it did.

Under the table

One turn, end to end

The model is the storyteller at the table. It is not the referee, not the scorekeeper and not the memory. Your line passes a deterministic gate; if dice are called for, the engine rolls them before the model says a word; the finished turn is filed into campaign memory by a background crew, and the next turn reads it back from there.

Try the notation

Roll something

Press Roll.

A toy in your browser, using the same notation the engine parses: NdX, dF fudge dice, a modifier, kh1 or kl1 to keep the highest or lowest die. In the game the engine rolls, seeds and logs every die. The model never touches one.

Why it is built this way

The model marking its own homework is worthless

Long scripted playthroughs found that a DM asked to track state in prose lost track of it, repeated itself, and once promoted a typo into a permanent character. Every one of those was fixed by moving the job out of the prompt and into code with a test on it.

The engine ships with playthrough invariants that must pass on every commit: the dice the table saw are the dice that were rolled, a resource the rules track is a row in the database, and a rule the DM applied is one the system actually has.

The full anatomy of a turn

Rules as data, openly licensed

Seven tables, one engine

Each system is a data package the engine adjudicates directly, with the publisher's licence verified against the publisher's own page. Five of the seven have had a full campaign played through against them, with the transcript read afterwards; the catalogue is honest about which.

An eighth kind of table is already in the engine: point it at a rulebook you own, as PDF, EPUB or Markdown, and it comes back with a proposal you accept section by section. Every line names the page it was read from. Your book stays yours: it is never redistributed, and when the reading pass runs, the only place its pages go is the model endpoint you chose.

Who runs it, and where

Meet the table

Pick a dungeon master, pick a room, pick how strict the rules are. Nine DMs wait at the Cartographer's Desk, five of them with table sprites today. Eight rooms are built, each a scene of stacked, movable pieces rather than a painting, so the same table can be rebuilt and relit. A Scene Builder in the game lets you make your own.

  • Kaelen, a pixel-art dungeon master

    Kaelen

    A grey-bearded ranger who has clearly told this story before and is still pleased to be telling it. The only avatar currently rigged.

    Default voice: Warm Storyteller

  • Mira, a pixel-art dungeon master

    Mira

    A storyteller who leans in when you describe something well.

    Default voice: Warm Storyteller

  • Hana, a pixel-art dungeon master

    Hana

    Relentlessly cheerful, treats every player like the protagonist.

    Default voice: Warm Storyteller

  • Grix, a pixel-art dungeon master

    Grix

    A serene star-charting alien who has seen a thousand campaigns end and still takes notes.

    Default voice: Deadpan Archivist

  • Sir Stacks, a pixel-art dungeon master

    Sir Stacks

    A gelatinous cube wearing spectacles it does not anatomically require. Enthusiasm exceeds anatomy.

    Default voice: Excited Newcomer

  • Biscuit, a cat in a pot helmet

    Biscuit

    The Rumpus Room's own dungeon master. A cat in a pot helmet with a red feather, and a great deal to say.

    Comes with the Rumpus Room

Painted at the desk, not yet at the table. Four more DMs have their portraits at the Cartographer's Desk and are waiting for their table sprites. This is the honest state of things, and it is what the art budget is for.

  • Coach Reading glasses, a battered rulebook, and strong opinions about flanking.
  • Ashwood Elegant, theatrical, and enjoying the doom rather too much.
  • UNIT-7 A calm chassis with a pleasant indicator light and dry timing.
  • Vale Small, horned, unimpressed, and extremely well-read.

Eight rooms, one Scene Builder

The Rusted Tankard: a low-beamed common room, Kaelen at the table.
The Rusted Tankard A hearth that never quite goes out.
The Moonlit Parlor: plum-dark panelling, a glowing apothecary shelf, Hana at the table.
The Moonlit Parlor A window stuck on twilight.
The Observation Deck: a crystal chamber, a blue world turning below, Grix at the table.
The Observation Deck A blue world turning below.
The Clockwork Stacks: a cavern library around a gear-tower, Sir Stacks at the table.
The Clockwork Stacks Keeping a centuries-old appointment.
The Scriptorium: a vaulted limestone hall, stained glass, Kaelen at the table.
The Scriptorium Afternoon through stained glass.
The Back Room: a folding table among shrink-wrapped boxes, Mira at the table.
The Back Room Folding table, fluorescent hum.
The Basement: pipes overhead, a string of lights, Kaelen at the table.
The Basement Pipes overhead, and the good chair.
The Rumpus Room: beanbags, fairy lights, a retro TV, Biscuit at the table.
The Rumpus Room A rug that has seen some campaigns.

A table you can hear

The DM speaks. Next, you speak back.

A tabletop game is a spoken thing. Voice is part of the table here, not a bolt-on, and everything about it runs on your machine.

Built and measured

Narration you can listen to

The DM's voice streams as the words are written rather than after the turn is finished. First audio arrives about 1.15 seconds in, and it no longer scales with the length of the turn. A voice-cloning studio is built in too, so a DM can sound like a voice you recorded.

All of it is local speech on your own hardware, on the CPU you already have.

Designed, not built

Push to talk to your DM

Hold a key and speak your turn. The plan is local recognition, so your voice never leaves your machine, with the campaign's own character names fed to the recogniser so it hears Thornwall and not thorn wall. The transcript will land in your chat box for review before it reaches the DM, because the last word is always yours.

None of this exists in the build yet. It is the largest player-facing feature left on the plan, and the roadmap says so.

Campaigns that last

A table that remembers

The database is the source of truth, not the model's recollection of it. Every one of these is code, not a promise in a prompt.

Chapters

As a campaign grows, turns fold into chapters with a written record and a spoken "previously" when you sit back down. The story steps back at natural pauses, not when a token budget runs out.

The Chronicle

Open the book from the play screen and read the campaign as a story, chapter by chapter, with the people, places and threads the table has established.

Rewind

A save point before every turn, kept for good at every chapter close. Step back to before the night went wrong, then forward again if you overshoot. Nothing is destroyed.

The codex

People, places and props get dossiers that grow as the story returns to them, searchable by what they are like, not only by a name you have to spell right.

A stocked world

Campaigns start with a hidden gazetteer of places, factions and people that cohere before turn one and surface only when the story touches them. Two original setting packs ship.

Inventory that means something

Holdings are rows in a table, not adjectives in a paragraph. Cairn shows slots and weight, a Fate character shows a rating, and a coin counter never lights up in a game that has none.

Your own notebook

A real editor at the table: bullets, checkbox tasks, highlights, search. The DM cannot read it and it cannot steer the story.

Yours to take

Exports are plain Markdown and the database is ordinary SQLite. Nothing is proprietary and nothing is locked.

Your table, your terms

Your model, your rules

LOOM Engine is a desktop app for Windows, macOS and Linux. The engine and your campaign database run on your machine. For the storyteller's brain, you choose.

Free

Run it locally

Ollama, LM Studio or vLLM on your own hardware. Your play text goes nowhere. The engine speaks the OpenAI-compatible protocol every local server offers.

Measured, 200 turns on a 2B-class model 73 of 73 rolls resolved, zero errors, and a world that played small: three characters met where a hosted model met nineteen. Playable for the patient; not the recommended seat yet.
Free, you pay the provider

Bring your own key

OpenRouter, OpenAI or Anthropic. Your key goes to your operating system's own secret store, never to a config file, and it is sent nowhere except the endpoint you named. Model changes never break campaign data. Swap brains mid-campaign if you like.

Planned, not built

Or a hosted tier

No keys, no setup, for players who just want to sit down. The shape is a metered proxy that forwards the request, returns the response and keeps no transcript. No billing code ships today, and the price is not decided. When it exists, this page will say so plainly.

Honest about money

Free to play, honest about what costs

The only things that will ever cost money are the things that cost money to keep running. Nothing here is priced yet. Here is the shape.

The core

Freebring your own model

  • Every ruleset, persona, avatar and room.
  • Campaign memory, chapters, rewind, exports.
  • Local models or your own API key, always.
  • Windows, macOS and Linux.

Bring-your-own play is a core feature and is never paywalled.

Coming, unpriced

Hostedpay for what you play

  • No keys, no accounts with a model provider.
  • Metered fairly: a long evening is pennies of inference, and the price will look like it.
  • Forwards the request, returns the reply, keeps no transcript.

Planned. No billing code exists today.

Never

Paywallson core features

  • No ruleset, DM or room behind a purchase.
  • Anything charged for is cosmetic or funds a real running cost.
  • Your campaigns are plain SQLite and Markdown, so nothing you make is ever locked in.

The project's monetization posture, written down and meant.

A Kickstarter is planned

The engine is ahead of the art. What stands between here and a beta is the remaining DM portraits, a soundscape for every room, real voices, and the unglamorous work of signing and installers. A campaign to fund exactly that is being prepared. It is not live yet, and this page will say so the day it is.

Where it stands

Four milestones, two reached

The plan is written down and audited against the source. This is the shape of it; the full roadmap, with what is next and why, has its own page.

  1. M1 · Tabletop simulation Reached

    The full DM loop playable: rules engine, dice, personas, memory and compaction, seven systems built and golden-tested.

  2. M2 · Vertical slice Reached

    The complete loop in the desktop client with real inference: onboarding, the pixel-art play screen, streaming speech, the Chronicle, rewind, the notebook.

  3. M3 · Beta Blocked on art and audio

    The systems work. What is missing is production: four unpainted DMs, a soundscape for every room, interface sounds, and speech input. None of it is engine work.

  4. M4 · 1.0 After beta

    Signed installers on three platforms, the hosted tier, and licensing-clean distribution.

The full roadmap

Fair questions

Asked and answered

Is my campaign private?

Yes. The engine, the database and any rulebook you bring live in your local data directory. The only network traffic is to the model endpoint you chose, and that can be a local one.

Do I need to pay for an AI subscription to play?

No. Run a local model for free, bring any API key you already have, or wait for the hosted tier. Measured on the recommended hosted-class model, a 200-turn session is about eight cents of inference.

Can the DM cheat?

Not with dice. Rolls are parsed, seeded and executed by the engine, and every result is logged with its full breakdown. The model narrates the consequences. It never touches a die.

Is it multiplayer?

No. LOOM Engine is a game for one player and one DM today. Shared tables are an idea in the project's notes, not a plan.

Can I get my data out?

Yes. Exports are plain Markdown: the full transcript, chapter summaries, or a player-facing journal. The database is ordinary SQLite. To delete a campaign, delete it in the app or delete the file.

All the fair questions, with answers.

Get it

Pre-release, and honest about it

The game is pre-release: a plain-folder Windows build is already travelling between private playtesters, and installers are on the plan for release. This page will carry the public download the day there is one.

What ships today

Seven systems, six painted DMs, eight rooms, the Scene Builder, streaming speech and voice cloning, chapters, the Chronicle, rewind, the notebook, exports, and a licence manifest in every build.

Does not, yet: installers, speech input, the hosted tier, four DM portraits, per-room soundscapes, and the review screen for the rulebook you bring.

How it travels today

There is no installer yet. The build moves as a folder: unzip, read the note, run Start LOOM. The engine runs beside the client on your machine, your campaigns live in your user directory, and swapping in a newer build leaves them alone.

The build is unsigned, so Windows asks for one extra click of trust on first run. Signing and installers are on the plan.

Follow along

The game is in active development and this site grows with it: new pages, devlog entries, and the Kickstarter when it is live. Nothing here is a mailing list, there are no cookies, and there is no analytics. Come back when the candle is lit.