A programmable dungeon master · generating structured, high-quality
interactive stories across any universe, in any genre, at any scale.
The Narrative Engine is an AI-powered story generation platform that creates both replayable campaign books (D&D / Warhammer style) and real-time sandbox narratives (improvised dungeon-master style). It acts as a programmable DM capable of generating, rendering, and managing interactive stories across any universe.
The project emerged from EV2090 · a live space-trading game currently in beta, created by Andrea Doyon · where a working narrative engine already exists but lacks quality in its rendering layer. Content is generated without awareness of how it will be consumed. A bulletin board post reads like a narrator telling a story. A broadcast sounds like an NPC rant. This is the core problem the Narrative Engine solves.
Like a Warhammer campaign book or D&D module. The story is pre-generated with a fixed spine · the conspiracy unfolds as written. Variable flesh means each playthrough discovers clues differently. Packagable and sellable as content packs.
Like an improvised DM session. Beats are generated 1–3 ahead based on live world state. Player actions modify the spine · you can kill the queen, destroy the shipyard. Once played, content is disposable. Powered by fronts, clocks, and faction turns.
The #1 quality lever: Rendering context. The engine must know HOW content is consumed. Sonnet decides WHAT happens (narrative architecture). Haiku decides HOW it's presented (channel-specific voice, format, tone).
Before committing to any design decision, we spent the first sprint researching six domains not to validate ideas we already had, but to discover what fifty years of tabletop design and the latest AI narrative research actually knows. Each domain answered a specific question the engine needs to get right.
These are the locked-in decisions that guide all design work. They are non-negotiable · any feature or schema that violates them gets pushed back.
What we do know with confidence: the single biggest quality failure in EV2090 is that narrative generation and rendering happen in the same model call with the same context. The engine decides what happens and how it sounds at the same time, producing content that serves neither goal well. The architectural hypothesis is therefore a hard separation of those two concerns · not as an abstraction preference, but as a quality mandate.
We also know the direction of cost optimization. The narrative spine is generated rarely and expensively (Sonnet, full context). Beat rendering happens frequently and cheaply (Haiku, narrow context). Any architecture that inverts this · calling Sonnet to render, or calling Haiku to plan · is wrong by definition.
Open questions for Sprint 2: What is the exact contract between Layer 2 and Layer 3? How does a beat brief specify what the Haiku writer needs without over-constraining it? Where does world state mutation happen · before or after rendering? How do Book and Sandbox modes diverge in this pipeline, and where do they rejoin?
The roadmap is structured in two-week sprints, each with a clear "done when" definition that feeds directly into the next phase. Progress is tracked in Linear under the Life & Logic team.