Pre-release The app isn't out yet. Downloads opening soon. Sit tight.
An AI Game Master · Built for long campaigns

Powered by Claude Code

Your own TTRPG sandbox. Play solo or with a group.

Desktop app · Bring your own key · No telemetry

// what makes it work

Five pillars

An AI GM is more than a chat with a prompt. Here's the engineering work underneath.

The problem

Long-form AI play hits a consistency wall. A GM that has to remember 30 sessions of a campaign (character details, plot threads, world rules, NPC personalities) runs into the limits of the underlying AI models. Details slip. Threads drop mid-arc. NPCs feel different scene-to-scene. Solving this is the central design challenge of building an AI GM that lasts.

Every system that wants to solve consistency faces the same dilemma: how do you store your campaign's information, and how does the GM read it back? There's no single correct answer, but the choice you make shapes everything else in the system. Two ends of the spectrum exist, both with real costs:

  • Structured data. Store it with a fixed data form: characters, items, NPCs, and locations all become records in a database that follows a strict schema. This data is predictable, easy to display, but your campaign is whatever those forms allow; your imagination has to fit the data model.
  • Unstructured data. Free-form prose documents the GM reads. Complete creative freedom, but prone to long chaotic documents that are hard to organize, search, or load efficiently, and the screen has nothing reliable to display from.

The Arcanum System

Our answer rests on three axes:

Axis 1. Hybrid data with light conventions

We use a small bit of fully structured data where the screen has to display things: vitals, HP, conditions, position. However, the majority of our data technically fits into the "unstructured" category but with a little extra: a few tiny formatting conventions and lightweight markers that help the GM navigate and process the data efficiently. Minimal enough to never impose a form on you.

Our engine — Claude Code — is highly effective at navigating and working with these markers. It has built-in tools engineered for this type of task.

What this gives us The display reliability of a structured system and the creative range of free-form writing, without paying the full cost of either pure approach.
Axis 2. Memory architecture

This is how the GM holds the campaign's context across long play without drowning in every word of it. The light conventions from Axis 1 let the GM selectively load the parts of your data that matter for what's happening now. A set of core documents are always-loaded, others are partially loaded or indexed, others are loaded dynamically when relevant, and the rest stays on disk as long-term memory.

Gameplay is handled as discrete sessions; each one operates as a self-contained unit with the selectively loaded data kept as working context. Data compression and synthesis happen at session boundaries, shaping what becomes part of your campaign's official history.

Within a session, the GM's working set stays loaded across every turn rather than getting rebuilt from scratch each message. We lean on prompt caching, where stored content can be re-read at a fraction of the cost of fresh content.

What this gives us A GM that holds the arc and every thread consistently across long play. Turn-to-turn play stays fast and cheap as your campaign grows.
Axis 3. Engine and architecture

We use a smart frontier model as the GM that drives the show: Claude Sonnet 4.6 at the time of writing, with a 200k token context window. Smaller, cheaper models assist on mechanical or simple tasks so the main GM stays focused on narration.

We have a robust array of background scripts that catch various patterns in the GM's responses. When a hit is registered in the GM's narration, a script picks it up and updates your character panel, so routine bookkeeping happens automatically.

Our scripts also detect anti-patterns, so if the GM ever slips up and delivers a malformed response, it gets automatically intercepted and sent back for a re-do before any corrupted data can propagate. This case is extremely rare; the patterns are very natural and simple to follow for the GM, but we keep it as a safety net.

What this gives us The storytelling stays in the hands of the stronger model while the busywork happens around it. The main GM doesn't stop to shuffle data each turn.
split-pane illustration
left: markdown file open showing world-info paragraph mid-edit
right: running session, GM weaving the same content into the scene
label: "no schema, no migration, no form to fill out — just read"

Your GM Arcanum Home is your sandbox. We provide the tools, the GM, and the engine, and you own the world. Every campaign you play lives on your computer as a folder of markdown files: your character sheets, your world's lore, last week's session log, your house rules.

You can open any of it in Obsidian, in VS Code, or in your favorite text editor. Edit a fact about the tavern-keeper and the GM will see it next session. Add a homebrew rule and the same happens. There's no "export your data" button, because your data is already where it should be.

Because of this, GM Arcanum operates a bit differently than other apps: when you want to integrate a new idea or change something in your campaign, you don't go hunting through menus looking for the right knob; you simply talk to your GM. There's a Meta GM that knows the system and can help you fold the idea in cleanly, so you don't have to learn the engine to extend it.

And because the app runs on your machine under a Bring Your Own Key (BYOK) model, your campaign stays on your machine. No cloud account, no telemetry, no "your campaign mined as training data". The only outbound calls are the obvious ones: your prompts to Anthropic, and optional TTS if you turn it on.

side-by-side
left: GM Arcanum session UI
right: Obsidian open at pc-elara/character.md, cursor mid-edit
caption: "Your campaign. Your files. Your editor."

GM Arcanum features a LAN Party Mode: connect to your TV, have everyone scan a QR code with their phone, and they're linked. Each player gets their own character UI and input to compose their reply. The TV runs as a central cinematic surface: large narration text, no clutter, just the story (and TTS audio if you've turned it on) while everyone sits around comfortably and plays from their phone.

When the moment calls for everyone to weigh in, each player composes on their own phone and stages their turn. On the screen you can see everyone who has committed their reply. A simple tap and hold then sends the whole party's round to the GM at once. Everyone gets a chance to weigh in, or pass if they don't want to. Loud players don't steamroll, quiet players get heard, and the GM responds to the table.

real photograph: TV with cinematic surface up — large narration,
small "Elara staged" indicator off to the side
three phones in foreground, each on a different screen of mobile shell

Solo play is a first-class playstyle in GM Arcanum. We feature a rich system of companions, NPCs that you meet along the way and can be recruited to your party. When an NPC is recruited to join as a companion, they come in with their own fully-fledged personality: quirks, voice, social maneuvers, goals they want to pursue, and layered motivations that aren't always aligned with yours. They aren't NPCs filling a formation slot; they're characters with their own shape.

And they don't stay still. They start as acquaintances: present, useful, but holding back. As you play together — saving each other in a fight, sharing a fire, deciding something together that mattered — they grow into teammates, a deeper level where they speak more freely, push back honestly when they disagree, and factor your shared history into their decisions. With time, some become bonded.

The progression isn't a stat that ticks up to unlock a dialogue tree; it's a rewrite of the character's own RP guidelines that transforms how they behave, drawing from the actual moments that defined the change. The version of your companion you're playing with in session 20 isn't the same one you started with, and the difference came from what actually happened between you.

character-card before / after pair for one companion
left: acquaintance-stage (formal speech, terse motivations)
right: teammate-stage (looser voice, references to in-session moments)
progress bar: acquaintance → teammate → bonded (faint horizon)

A Game Master's job is bigger than narration. They design and deliver tactical combat by the rules. They help you build a character or incorporate a homebrew idea. They have a voice that's theirs and gets shaped by the table they run for. They plan ahead. The Arcanum system was built around the whole job, not a slice of it.

Narrative GM

The storyteller. Exploration, conversation, scene work. Loose, improvisational, focused on pacing and atmosphere. The personality and narration style live in a single markdown file: open it, edit it, rewrite it. Make the GM darker, lighter, drier, sillier. Save the file, and the voice changes from the next session forward.

Real GMs prepare: zone notes, encounter ideas, NPC arcs, threats that might pay off three sessions from now. The Narrative GM can do the same. Tell it what you want prepped, and a background agent works through it while you keep playing.

Combat GM

The combat specialist. Initiative, turn discipline, state tracking, the rules applied consistently. Combat runs as its own dedicated session: tactical bookkeeping never pollutes the Narrative GM's context, and the Narrative GM only ever gets a clean outcome briefing at the end.

Meta GM

The system co-author. Character creation, level-ups, folding in new homebrew, configuration questions. The Meta GM understands how your campaign is wired and can help you change it.

GM Arcanum works differently from systems built around menus and knobs. The things that actually shape your campaign (threads, companions, NPCs, world rules, house rules, narrative tone) live in markdown files. We don't try to fit your campaign into a menu because we couldn't add enough menus to match what you can do with free-form instructions.

You have the last word

In a typical tabletop game, the GM is the final word on rules interpretations, homebrew, edge cases. In GM Arcanum, that authority sits with you, not the GM. By default the GMs are knowledgeable, opinionated, and capable of making calls on their own. But the moment you say "actually, here's how I want this to go", that's how it goes. The system runs the sessions; you run the campaign.

What this gives us A GM that does the full job, not just the narration. Three modes for three kinds of work, a voice you can shape, sessions you can throw away and rerun, and deep prep if you want it.
three-panel showcase: narrative scene, combat with initiative + HP,
meta Q&A about a level-up
caption: "Same GM. Three shapes. Whichever the work needs."
// how it compares

vs. the other ways to do this

There's more than one shape an AI GM could take. Here's where ours sits.

vs.

Raw LLM

Open a chat assistant and say "be my Game Master". Works for a few hours. Then character state lives only in the transcript, HP doesn't track, dice can be tampered with, and every new conversation is a cold start. GM Arcanum is the same sandbox feel, plus the things a chat window can't deliver: persistent state, structured vitals, dice resolved before the GM sees them, sessions as discrete reversible objects, and a GM already specialized for the role.

vs.

Build-your-own

Telling a coding agent to "make me a GM platform". This is closer — you get real persistence and composability — but you've signed up to invent the genre while trying to play in it. AI is wonderful for prototypes, but what you really need when something has to scale and last is an experienced and passionate person at the helm. GM Arcanum is the version of this where the months of extra work and long nights to make it better are already done.

vs.

Structured-data platforms

Encode the world, items, NPCs as records and have the AI narrate. This is a viable approach and earns its keep in some aspects. But a platform that relies on fixed schemas can only support what its data forms can encode. Time looping back three days every Tuesday? An antagonist that's a contagious idea jumping NPC to NPC? A campaign mimicking a sports tournament structure? Those are real, tested examples that work in GM Arcanum; none of them was specifically coded into the system.

// the bonus stuff

A flat list of affordances

Because sometimes the real difference comes from the little things.

Throwaway sessions player agency

Sessions are drafts until session-end. A combat went sideways? Discard it and start over clean. Campaign canon hasn't moved.

Inline dice rolling mechanics

Type >> in the composer; rolls resolve cleanly in-feed before the GM ever sees them. Roll macros bundled in rolls.json.

gm-directives.md persona tuning customization

Edit one markdown file; the GM's voice and habits change next session. No settings panel, no rebuild.

Cinematic + focus modes immersion

Across-the-room reading and distraction-free reading; one toggle each.

Staging queue multiplayer

Phones stage their turn locally; one tap sends the whole table's round as a single GM input. Quiet players get heard.

Table Talk channel immersion

An out-of-character channel for talking to the GM without it going into narration. The GM can reply there too.

Themes & personalization customization

About fifteen named themes (inks, parchments, arcane darks, hearths, starlights), separate accent layers, ambient backdrops, five entry-animation modes.

TTS narration (opt-in) immersion

Clean-narration-only audio (mechanics, OOC, and markdown filtered out before voice). Two providers: one streamed for low latency, one buffered for cinematic delivery.

// questions

Frequently asked

The app itself is free during the public beta and intends to remain free. You bring your own Anthropic API key. Usage of the underlying AI is billed by Anthropic at their rates, not by us. We may eventually accept donations to support continued development; nothing about access depends on that.

A modern desktop (macOS 12+, Windows 10+, or a recent Linux), about 200 MB of disk for the app itself, and an Anthropic API key. For TTS, you can optionally connect a provider key. For multiplayer table mode, all devices need to be on the same LAN.

On your machine, in a folder of markdown files inside your GM Arcanum Home. You pick where the home lives. Nothing is stored on a server we control; nothing syncs anywhere by default. You can back the folder up, version-control it, edit files in any text editor, and walk away from the app entirely without losing anything.

Your prompts, your selected campaign context, and the system prompts that shape the GM. That's it. No telemetry, no analytics, no aggregated usage reporting flows from the app to us. The Anthropic API itself has its own privacy posture which you can read on their site.

The Arcanum system is intentionally light on schema, so other rulesets are workable in principle, but the default content and combat rules are calibrated for D&D 5e. Adapting another system would mean writing house-rules and GM directives for it. The Meta GM can help you stand that up; some systems will be smoother than others.

Not at this time. The app is closed source during the beta. The campaign-format spec, GM directive structure, and everything that lives in your Home are documented and meant to be hackable.

The GM itself runs on a frontier model accessed via API, so live play needs an internet connection. Reading, editing, and reorganizing your campaign files is fully offline. That's just files on your disk.

// who's behind this

A solo project, in the open

GM Arcanum is built by one person who is passionate about the genre but felt that all the existing platforms fell short of delivering on what a proper AI Game Master platform could and should be: long-term reliability, data privacy, creative freedom, smooth and helpful UI. Took months of iteration to design, polish and optimize the architecture, the modes, a modern UI, and the dozens of small affordances to make it a complete experience.

The project is free during the beta and intends to stay that way. The goal is to make a good thing and keep making it better. If it's the kind of tool you wanted, the most useful things you can do are: play with it, tell me what broke or didn't feel right, and — if you want to and only if you want to — chip in.

Doing this full-time is a dream I can't currently afford. Donations help me get closer to it.