No script. No if-statement. Watch cohesion collapse.
Convoys form spontaneously. Nobody issued an order.
Watch BP1 decision flip: Attack / Flee / Bribe.
Sim state → auto-generated prompt → LLM explains why.
Olson free-rider cascade in real time.
Export raw JSON. Compare naive vs. Cardinal evaluation cost.
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.
[TICK 0000] NPCs: 0 · BP active: 0
[BENCH] Awaiting scenario load...