Skip to content

Entity Model

The world is built from a small set of entity types. Agency lives in only two of them — factions and individuals — which keeps “who is deciding?” always answerable.

EntityRoleAgency
CivilisationA cultural lineage: naming, appearance baselines, baseline childhood memes.None — a tag / source of defaults
FactionA typed organisation (business, government, religion, military, guild, criminal, compact). Lua-driven; spawns sub-factions.Yes — acts
SettlementA faction-governed place; lives in the DB; aggregates people, stores, demand.None — container
HouseholdA first-class group: shared store, currency, members, residence; forms/evolves/dissolves across generations.None — container
IndividualOne person. The atomic unit of the simulation.Yes — acts
SupportingLot, Project, Event, Resource node, Commodity, Meme, Relationship.

Marriage, apprenticeship, and partnership are modelled as small compact factions (members + shared purpose + possibly a shared store), reusing the faction machinery rather than inventing a parallel relationship system. This is also the mechanism behind player succession.

Every person — historical or live, child or elder — is one row with the same schema (~2–3 KB). There’s no separate “NPC type” or “child type”; subsystems fill in progressively with age. An individual holds: identity (+ identity weights), genetics, traits, memes, skills, a satisfaction ledger, relationships, faction memberships, job, schedule, possessions, residence + clothing, location, and current task.