↑1 the same shape, one altitude up
A city is a slow character.
You watched one guard hold or break — a handful of state variables, sparse couplings, a threshold. Now run that exact shape slower and wider: its states are food_supply, unrest, cohesion, fear, legitimacy; a bad harvest is a channel; a riot is a threshold crossing. Not a new system — the same control loop, with a longer memory.
The character-scale engine is real and deterministic — states, couplings, thresholds, the cross-agent router, the full trace. You've been reading its actual runs all along.
vision · the frontierThe city scale is where this is heading — every claim below grounds on a mechanism that already exists, but the demos here are illustrative models, not a shipped city simulator.
↑2 the tipping console
Push a city across its threshold.
Below: 160 weeks of one city, computed the moment you touch a control. Fail the harvest and scarcity becomes a steady push into unrest; land a border raid and fear spikes and couples in. When unrest crosses the dashed line, the riot fires — then vents, and legitimacy pays for it. Same inputs, same 160 weeks, every time.
A riot you can cause is a riot you can debug. And what a city hears about itself moves the same way — follow a rumour ↓
↑3 the contagion field
A slander, changed in the telling.
Reputation is not a global score — it's a field of per-source relation states. A rumour is just an event with a long mean-free-path: it hops a trust-weighted graph, decaying at each hop, and every carrier's relation filter colours what they pass on. Drop one below and watch what reaches the top of the hill.
“Guildmaster Orin shorted the grain levy.”
“Orin has been skimming the levy for years.”
“The guild is hoarding while the ward goes short.”
“They say the guild keeps back more than its share.”
“The guild cannot be trusted with the levy.”
Person, crowd, province — it's the same five lines. Change altitude ↓
↑4 nested scales
One physics, three clocks.
Fast characters live inside slow polities. Send one identical disturbance through a guard, a keep, and a province — the same update rule answers at every altitude, only the decay constant changes. A hungry province doesn't simulate every citizen; it seeds the local tempers from its macro-state when you walk in.
↑5 why this is affordable
Cost tracks attention, not population.
Observer-gated worlds
Distant settlements don't tick hot. Their slow states — resentment, scarcity, faction hostility — rest as a tiny vector until someone looks.
State is the memory
No history to replay, no log to lose — a settlement is O(1): a handful of numbers that fully determine its future.
Deterministic resume
On arrival, project forward from the last snapshot — the same equations give the same present, every time. Thousands of coherent settlements.

