Armenian AI Company

NarraTree: free dialogue, authored endings

A plot engine for AI narrative games. Characters improvise dialogue freely, yet every conversation is steered toward one of a story’s authored endings — and the whole reachable story is drawn as a graph the writing team can shape.

NarraTree is a backend engine. Games built on it are produced by third-party studios; the interface in these recordings is a technical demonstrator, not a shipping game UI.

Fig. 1Opening to resolution. A gothic romance: the ten endings begin open and unweighted. As the conversation proceeds, some are pruned and the rest sharpen, until the story commits to one. The plot graph updates after every line.

The tension

Every studio building an AI narrative game runs into the same pair of goals that cannot be held simultaneously by any single tool. The conversation must feel open — a player should be able to say anything and be answered in character. And the story must hold together: stay inside its lore, keep its pacing, remain safe to ship, and above all arrive somewhere. Hand-authored branching scripts deliver the second and forfeit the first; freely generative models deliver the first and forfeit the second. NarraTree holds both by separating them: the conversation is generated and open, the destinations are authored and fixed.

How the engine works

A story is authored as a small, fixed set of endings — ten is a comfortable number. Between them the dialogue is left open. What the system constrains is not what can be said, but where it can lead: as the conversation proceeds, each exchange re-weights a live plot graph in which every reachable ending is an attractor. A player speaks — by picking a line or typing one — and the system reads the intent behind it, updates the characters and the world, prunes the endings that no longer fit, and sharpens the probabilities of the ones that remain. A story that began with every ending open narrows steadily until it commits to one. The model is responsible for improvising language and local direction; the authored structure is responsible for canon and destination. Neither is asked to do the other’s job.

Fig. 2A single turn. A response is given — first as a chosen line, then as free text — and the system reads the intent behind it before recomputing the plot. Either input steers the same graph; endings that no longer fit are pruned away.

The plot graph

The graph is built for the writing team. It draws the whole reachable story at a glance: beats that have happened, forks where one road was taken and the others hang faded, beats projected ahead, and the authored endings with their live probabilities. Endings that can no longer be reached are struck through as the story commits. Around the graph sit the readouts a writer wants — character state, active tropes, world flags, story arc position — and any node opens to show what it contains.

Because the reachable space is finite and drawn, a writer approves what a scene can and cannot lead to, instead of proof-reading every line a character might ever say. Effort goes into the endings and the forces that move a story between them; the hand-written branch count stops being the ceiling on how open a game can feel.

Fig. 3The graph as a writing instrument. Nodes open into detail — a decision fork with its discarded alternatives, a beat with its cast and tropes, an ending with its probability and remaining conditions. The side rails track character state, active tropes, and story telemetry; ruled-out endings are struck through as the plot commits.

The whole of it is drawn so it can be shaped rather than merely hoped for. Openness where it delights, authorship where it counts.