← Back to WorldLines
// ai-native game — world-model driven — community in Tokyo — for the world.

Persistent AI worlds for characters and roleplay.

Turn character cards, companions, TRPG campaigns, and text games into living worlds with memory, events, agents, and consequences.

// inside a turn

Watch the agents think.

Top: how the character agent thinks. Bottom: what the world agent narrates back to the player.

// elena · character-agent
[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?"
// world-agent · narrative output
Day 3 · 17:20 · Stoneford · East Street HP 18/20 Gold 68G
> 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.
// soul-agent · coming May 2026
// Engine · open source · opening up

NeonRP × WorldLines

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.

How the open source works

The engine is open; gameplay is not inside it.

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 nowLudicDynamics/WorldLines — engine neonrp + shell worldlines + docs; stoneford-worldlines — the starter world (AGPL)
Opening upNeonRP 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 itpip install worldlines → worldlines (players); pip install neonrp (engine only, for your own program)
How one turn runs · not a straight line
state · memory → next turn INPUT · GATEInput · Gate a line from the player / a character's intent / a rule = one attempt …live DELIBERATIONDeliberation DM · narrator Player Souls narrative beat + state beat Jev forecast Packing · context pack SETTLEMENTSettlement Resolve Validate sent back, redo APPLYApply
Four layers: engine to product, each does one job
01
NeonRP engine

Only open/closed schema, propose→verify→apply, events, branches. No gameplay inside.

World SchemaOpen schema: classes + instances. Places, NPCs, items, caravans… can keep growing during play
Soul SchemaClosed schema on a character: trust, mood, memory count… values only, no fields out of thin air
↑
02
Template pack

Registers one kind of play: classes, variables, ops, rules. Ships with rpg and werewolf.

rpg packTemplate pack: registers one kind of play into the engine — classes, variables, ops, triggers, prompts. Ships rpg and werewolf
↑
03
Lint

Pre-publish check: template, mixins, content and slots all resolve before a contract is exported or a world goes to the Hub

↑
04
WorldLines product

Play UI, creator workbench, lint, publish to Hub.

// hubs · now live

WorldHub and SoulHub. The places they come from.

A public library of worlds, and a public library of souls.

WORLDHUB

WorldHub

Where worlds come from.

Browse, fork, and contribute worlds. Pull a starter, push your own back. Persistent worlds, shared.

◉ Live nowOpen →
SOULHUB

SoulHub

Where characters live.

Souls that persist across worlds. Take Elena from Stoneford into Kagura Island — she remembers you.

◉ Live nowOpen →
// roadmap

Where we are going.

Engine · templates & worlds · product · milestones — shipped when ready, not by calendar.

v0.4.xshipped 2026-08 → 09✓ shipped
v0.5.0in progress · 2026-10◑ in progress
v1.0.02026 Q4 →○ planned
Engine
Engine / frontend split · CLI-first simulation core · the TUI becomes a coding agent for worlds (build ↔ play)
One turn, five stages: Plan → Souls → Solve → Validate → Apply · open / closed schema · propose → verify → apply · referee / dice / combat sub-agents
Engine split: neonrp core / worldlines shell as sibling repos · compatibility contract (ops syntax, bracket convention, template schema, SDK events stable within 1.x)
Templates & worlds
Template-style worlds · worlds register their own actions · /vault projects into Obsidian
Template protocol v2 (world / soul = data, pack = agent loop) · built-in rpg & werewolf · Lint
world.contract.json interface contract · stackable mixins (space / time / economy / factions)
Product
Launcher dashboard · map page · Hub upload validation · neonrp / worldlines as separate packages
Living-world homepage · Hub draft → review → publish · replays
SDK event stream + Godot integration · Living Canvas shares the world source
Milestone
Web shell open-sourced (AGPL) · both packages on PyPI
Design blueprint + four-arm benchmark (prompt-only / agent loop / rules engine / NeonRP)
New schema finalized · the blueprint is the protocol
Full roadmap in docs →
世界 →
← WorldLines
画布 →
← 世界
论文 →
← 画布
‹›