Simulate conditions. Behavior emerges.
Ontological NPC Architecture · Breakpoint Scheduler · O(0.01N)
NPCs Tracked
Breakpoints / Tick
% Evaluated
Tick µs
Evaluations Saved
Scenarios
● LIVE
SCENARIO / 01
FORMATION COLLAPSE
200 soldiers march in formation. Kill the officer.
No script. No if-statement. Watch cohesion collapse.
S S S [O] S S S → S s s · · s s S ░░░░░░░░░░░░░░░░░░░░░░░░░░ drill: ████████░░ loyalty: ██████░░░░
EMERGENCE FLOW-FIELD BREAKPOINT DRILL-F
● LIVE
SCENARIO / 02
CONVOY EMERGENCE
50 merchants on random routes. Raise crimeRate.
Convoys form spontaneously. Nobody issued an order.
h · h · h · h · h → [h h h] · [h h] ░░░░░░░░░░░░░░░░░░░░░░░░░░ crimeRate: ░░░░░░░░░░ → ██████████
EMERGENCE CRIME-RATE COHESION-F OLSON-1965
● LIVE
SCENARIO / 03
MIND DIMENSION
One NPC. Live trait vector. Change tile context.
Watch BP1 decision flip: Attack / Flee / Bribe.
mutig ████████░░ feige ██░░░░░░░░ BP1 → [ATTACK] qualität: +0.34 gauss: ░░░░░▓░░░░ σ=0.25 μ=0.0
PHASESPACE INERTIA-LOCK GAUSS KAHNEMAN
● LIVE
SCENARIO / 04
LLM NARRATIVE HOOK
Hex tile → deterministic seed → NPC traits computed.
Sim state → auto-generated prompt → LLM explains why.
seed:0xA3F9 → traits → situation "Why did this farmer desert?" Cardinal: [causal chain] → LLM: narrates
SEED DETERMINISTIC LLM-BRIDGE CAUSALITY
◎ SOON
SCENARIO / 05
PANIC CASCADE
First deserter lowers group bonus → next recalculates.
Olson free-rider cascade in real time.
S S S S S S S S S S S S → s S S S S S S S S S S → s s s S S S S S S S · → · · · · · · · · · · ·
CASCADE OLSON-1965 COHESION
● LIVE
BENCHMARK / 00
LIVE BENCHMARK
Scale NPCs from 100 to 10.000. Watch O(0.01N) hold.
Export raw JSON. Compare naive vs. Cardinal evaluation cost.
N=10000 naive: 10.000.000 ops/tick Cardinal: 100 ops/tick saved: 99.999% ████████████
O(0.01N) BENCHMARK EXPORT JSON
Architecture

Field Agent

NPC = point in n-dimensional phase space.
Axes: trait vector + environmental stimuli.
Decision = gradient descent in payoff space.

calcEncounterPayoff(npc, encounter, tile)

No behavior built in. Behavior emerges from field context. Analogous to ECS Entity + Components.

Action Slot

Every action is a physically committed event.
Three breakpoints. Two inertia locks.

BP1 — initiation (hesitate / abort)
LOCK — biomechanically committed
BP2 — interrupt vector (stagger)
LOCK — final execution
BP3 — resolution (gauss roll)

No rethinking mid-swing. Fitts (1954).

Breakpoint Scheduler

99% of NPCs sleep between breakpoints.
CPU wakes only NPCs with due breakpoints.

calcNächsterBreakpointTick(slot)

Steady state: ~1% evaluated / tick
Burst (panic, battle): ~5% — self-limiting
through inertia lock.

Maps directly onto Unreal Mass Entity System.

O(N × depth) Behavior Tree — ~O(50N) per tick
O(0.01N) Cardinal — empirical: 1 BP / 100 ticks / NPC
Live Debug Output
[CARDINAL] Engine initialized_
[TICK 0000] NPCs: 0 · BP active: 0
[BENCH] Awaiting scenario load...
Naive O(N)
100%
Cardinal O(0.01N)
1%
Saved
99%