Mythology & Chronicles

Chronicle events that arise from simulation outcomes, condense into legend over time, and eventually calcify into myth — with mechanical effects on faction morale, entity behaviour, and world state.

What this uses

src/sim/morale.ts src/sim/events.ts src/sim/world.ts src/sim/collective-activities.ts src/sim/condition.ts src/sim/trace.ts

Mythology is a host-level domain built on simulation event streams. Ananke generates the raw events — DEATH, ROUT, VICTORY, MORALE_BREAK. The host assigns narrative weight to these events, accumulates them into chronicle entries, and promotes high-weight entries into legend and myth over simulation time.

Tier 3 — planned A formal src/sim/mythology.ts module is not yet implemented. The interactive chronicle log below uses in-browser state only. The underlying primitives (morale.ts, events.ts, collective-activities.ts) are stable Tier 1/2. The planned API design is shown in "Try this" below.

Chronicle → Legend → Myth flow

static preview
⚔ Chronicle
Raw simulation events with narrative weight. Tick-level. Objective record.
📖 Legend
High-weight events survive across generations. Details compress. Agency amplifies.
⚡ Myth
Canonical narrative. Causes mechanical effects: morale, fear, ritual bonuses.

Promotion criteria are host-defined. A simple model: chronicle entries with weight ≥ 0.6 survive to legend; those re-encountered by ≥ 3 faction groups over ≥ 30 days become myth.

Chronicle entry log

Add chronicle entries from your event stream. Entries with weight ≥ 0.6 are candidates for legend promotion. Click ✕ to delete, "↑ Legend" to promote a high-weight entry.

Legend — promoted entries

Chronicle entries promoted to legend (weight ≥ 0.6). These are the raw material for myth formation.

No entries promoted yet.

Active myth effects — static preview

static preview

Mechanical effects granted to factions by active myths. Implemented as morale multipliers and fear threshold adjustments.

moraleMul_QEmpire soldiers who know the "Victory at Ashford Gate" myth gain morale bonus in defensive scenarios+q(0.15)
fearThresholdMulCorsair entities who face the "Thornmere Slayer" bear a fear penalty on morale check×q(0.80)
ritualBonus_QRitual ceremonies invoking the myth grant additional morale boost (via stepRitual)+q(0.08)

Try this

  1. Hook into the event stream from runSession — listen for DEATH, ROUT, and VICTORY event types with high entity significance.
  2. Assign weight based on: entity importance (named vs anonymous), faction size affected, narrative rarity.
  3. Each in-game month, tick chronicle entry weights down — entries below threshold are forgotten. Survivors become legend.
  4. Apply myth effects as morale multipliers in src/sim/morale.ts — add them as permanent entity or faction attributes.
  5. See stepRitual in collective-activities.ts — ceremonies re-enacting myths grant the moraleBonus_Q effect.