Skip to content
How the AI works

A plain explanation of what is happening

Language models, voice synthesis, image generation, and server-side dice. Here is what each part does and why it is built this way.

The stack

Four systems, one game master

Each part handles what it is good at. No single system carries everything.

Language model

Story and rules

ElevenLabs

Voice narration

Image model

Scene art

Our servers

Dice and state

Language model

Narrate and improvise

The language model is the heart of the game master. At every beat it reads a structured description of the current scene, the campaign record, the tone settings, and what the player just did. It then writes a narration and decides what happens next.

Lorekeeper is model-agnostic on the language side. We run a current model that handles long context, nuanced instruction-following, and the ability to stay in character while applying game rules. When a better model becomes available, the storyteller improves and the memory and rules underneath stay steady.

The model is not given the raw conversation transcript. It reads a compact, curated record of the campaign, so important facts surface clearly rather than buried in noise.

Compact living state

Remember the campaign

Memory is the hardest design problem in a long-form game. You cannot simply pass the full history to the model every turn: it becomes slow, expensive, and the signal drowns in detail.

Lorekeeper keeps a compact living record: the party members and their status, the inventory, the current location, the open quest threads, and a short rolling summary of the story so far. This record fits easily into context and never grows unbounded.

Every beat, the game master reads the record, produces its response, and then updates the record. A new location is written, items gained or spent are recorded, and the summary is rewritten to stay short and accurate. The result is a game master that remembers the things that matter and does not drown in the things that do not.

Server-side rolls

Run the rules and dice

When an action is uncertain, the game master calls for a roll, names the skill, and states the difficulty class. The dice are thrown on our servers, not inside the language model and not in the player's browser.

That separation is important. A result thrown on our servers cannot be nudged by the model after the fact. It is a real number, and the outcome is narrated from that number. Winning is not guaranteed. Losing is not a dead end.

The rule system is a simplified version of common tabletop conventions: ability checks, difficulty classes, hit points, and basic combat. It is legible and predictable, not a proprietary black box.

ElevenLabs voice synthesis

Speak it aloud

The game master narration is passed to ElevenLabs for voice synthesis. ElevenLabs produces low-latency, characterful speech that carries tone and weight in a way that generic text-to-speech does not.

We use a narrator voice selected for warmth and clarity across a wide range of content: quiet cozy mysteries and building heroic climaxes sit inside the same voice without breaking the experience.

If voice synthesis is ever unavailable, the full text narration is shown and the game continues. Voice is the preferred channel, not a hard dependency.

Image generation

Paint the scenes

Adventurer and Guild subscribers receive a generated scene illustration at each narrative beat. A short prompt is constructed from the adventure's scene keyword and the current narrative context, and passed to an image model.

The art is a mood piece, not a literal map. It helps a table sitting on a call imagine the same place at the same moment. Tone settings influence the art: a cozy adventure generates warm, soft illustrations; an eerie descent produces something cooler and stranger.

Scene art is generated asynchronously so it does not delay the narration. It arrives alongside or just after the voice, and the game continues even if an image fails to generate.

By design, not bolted on

Safety

The game master is instructed to stay family-friendly by default. This is a system-level instruction, not a filter applied after the fact. The model is told what kind of content is appropriate for the tone and intensity settings, and it applies those constraints through the writing, not just through refusal.

When a player request crosses the line, the game master gives a kind refusal, stays in character, and steers gently back to the story. There are no lectures and no broken immersion.

We do not expose the system prompt or allow players to override the safety instructions through in-game speech. The game master knows it is a game master, and that context is not erasable from inside the story.

Model-agnostic

The storyteller improves as models do

The language model underneath is a choice, not a fixed dependency. When a better model becomes available, Lorekeeper can move to it and the storytelling improves. The memory format, the dice system, and the campaign record stay steady, because those are our systems, not the model's.

Updated without breaking your campaigns

Ready to play?

A free account gets you a short adventure every week with the full voiced game master.