Relations, reputation & memory
Every pair of countries shares a single symmetric relations score, but each side also keeps a private diplomatic memory and a public reputation that shape how the living world treats you.
How it works
Relations (rel) are stored per unordered pair and clamped to −100…+100. Because the key is order-independent, the number is symmetric: if you sour relations with a neighbor, they sour with you by exactly the same amount. Almost every diplomatic act nudges this value — trade tiers drift it up a little each tick, war slams it to −60, and coercive demands push it down.
Reputation (_rep) is a separate 0–100 score that starts at 72 and quietly represents how trustworthy the world believes you are. Breaking a non-aggression pact, launching a surprise war without a casus belli, or using nuclear weapons all cut into it. Left alone it heals slowly, lerping back toward 75 by a small fraction each tick, so a single betrayal fades over years rather than instantly.
Diplomatic memory (_mem) is directional and asymmetric: it records how A remembers B, separately from how B remembers A. Positive values are favors (you helped them), negative values are grudges. Memory decays by multiplying ~0.985 every tick and is forgotten once it drops below 0.3 in magnitude — but a deep grudge lingers long enough to override even nuclear deterrence when an AI decides to strike.
Formulas
symmetric — rel[min(a,b)_max(a,b)], so A→B and B→A are the same number_rep drifts toward 75 by lerp factor 0.012 each tick_mem *= 0.985 each tick; erased when |_mem| < 0.3Key numbers
How to play
- ▸Guard your reputation like a resource — it starts at 72 and only heals a sliver per tick, so a treaty break costs you years of trust.
- ▸Relations are symmetric, so there is no 'one-sided' friendship: invest in whoever you want on your side before you need them.
- ▸A grudge you plant in an AI (via memory) sticks around and can later push them to attack even a nuclear-armed rival.