Turn character cards, companions, TRPG campaigns, and text games into living worlds with memory, events, agents, and consequences.
Top: how the character agent thinks. Bottom: what the world agent narrates back to the player.
[turn:73] day3_17:15 split_decision
input: "Time's tight — might the chapel close before we get there..."
context:
trust: 94 affection: 91 energy: 67
recent: "Going alone is fine, this kind of thing... I want to ask myself"
reasoning:
+ player remembered i wanted to go alone
+ this trust hits harder than company would
+ chapel is mine. tavern is the safety net.
mood_change: +8 touched, +5 determined, -3 sep_anxiety
action: heading_to_chapel_alone
> Elena pulls up her hood.
> "...meet at Jade Crystal Tavern tonight?"

> Elena nodded.
"Yeah, you're right.
The chapel folks probably close at dark."
She tucked up her hood, like steadying herself.
"I'll go check the chapel. You take rooms and the guild."
A pause. Voice softer.
"...meet at Jade Crystal Tavern tonight?"
You nodded — a quiet agreement.
She hesitated half a second before turning,
glanced back at you once.
"...okay. I'm going."
The silver figure moved east. Slow at first.
After ten paces her back straightened.
You watched her disappear around the corner.

Nothing on this page is scripted. Each turn, every character decides what to do; consequences become state, state becomes memory; next turn they continue with it. Left: today's turns so far. Right: the world right now.
What is open is the layer that makes a world move on its own: open/closed schema, propose → verify → apply, events and branches — no gameplay inside. Gameplay is registered by template packs; the product is just an interface. So you can wire the engine into your own program or Godot, or write only a template pack.
| Open now | LudicDynamics/WorldLines — engine neonrp + shell worldlines + docs; stoneford-worldlines — the starter world (AGPL) |
| Opening up | NeonRP engine trunk: the orchestration running on this page (gate → deliberation → settlement → apply), open/closed schema, ops validation — released to the public repo in steps |
| Run it | pip install worldlines → worldlines (players); pip install neonrp (engine only, for your own program) |
Only open/closed schema, propose→verify→apply, events, branches. No gameplay inside.
Registers one kind of play: classes, variables, ops, rules. Ships with rpg and werewolf.
Pre-publish check: template, mixins, content and slots all resolve before a contract is exported or a world goes to the Hub
Play UI, creator workbench, lint, publish to Hub.
A public library of worlds, and a public library of souls.
Browse, fork, and contribute worlds. Pull a starter, push your own back. Persistent worlds, shared.
Souls that persist across worlds. Take Elena from Stoneford into Kagura Island — she remembers you.
Engine · templates & worlds · product · milestones — shipped when ready, not by calendar.