Politics & Factions

Faction relations, polity stability, diplomacy modelling, and reputation mechanics grounded in simulation state.

What this uses

src/sim/world.ts src/sim/morale.ts src/sim/formation.ts src/sim/team.ts src/sim/collective-activities.ts

Faction and polity mechanics are host-level concerns. Ananke provides the physics substrate — morale, casualties, supply pressure — from which faction stability and diplomatic pressure naturally emerge. The host tracks polity objects and uses simulation outputs as inputs to political state transitions.

Tier 3 — planned A formal polity/faction API is not yet implemented. These previews show the design direction.

Faction browser — static preview

static preview
Empire of Karath
monarchy · large
stability
military
Merchant Guild
oligarchy · medium
stability
military
Hill Tribes
tribal · small
stability
military

Relation matrix — static preview

static preview

Diplomatic stance between faction pairs. Derived from simulation outputs: battle casualties, trade volume, proximity pressure.

Empire Guild Hill Tribes Church Corsairs
Empire friendly war allied war
Guild friendly neutral neutral rival
Hill Tribes war neutral rival friendly
Church allied neutral rival war
Corsairs war rival friendly war
allied friendly neutral rival war

Try this

  1. Track faction stability as a Q value updated each session step: large battle casualties → stability_Q decreases.
  2. Use src/sim/morale.ts outputs (fear, rout) as inputs to faction morale — army rout events shift diplomatic stance toward desperation or capitulation.
  3. Model reputation as a cumulative sum of event scores — KILL events weight negatively, TRADE events positively.
  4. Use src/sim/team.ts to associate entities with factions and aggregate faction-level vitals.
  5. See src/sim/collective-activities.ts for ritual and caravan mechanics that affect inter-faction relations.