Relationships
Relations are long-term graph links between entities. Open an entity, select Relations, and add a link to another entity.
Relations give ownership, allegiance, rivalry, location, and debt a reusable place in the Codex instead of leaving them only in prose.
Use precise relation types
Write types in UPPER_SNAKE_CASE and reuse the same term for the same meaning.
Good examples include:
RIVALSMENTORSOWNSSERVESMEMBER_OFLOCATED_INBOUND_TOBORDERS
Avoid generic types such as RELATED_TO or CONNECTED_WITH. They preserve almost no useful meaning.
Custom types are allowed when the world needs its own vocabulary, such as SWORN_TO, HUNTS, OWES, or SEALED_BY.
Direction matters
Read a relation from left to right:
A-[MENTORS]->B
A mentors BSource is the actor or holder on the left. Target is what the relation points to on the right. Use an undirected relation only when the meaning is truly symmetrical.
Write a useful brief
The brief should explain why the entities will continue to matter to one another. Do not repeat their names.
Bound by an oath that transfers every broken promise into physical debt.
Prefer emotional, political, economic, historical, cultural, territorial, or causal meaning.
Status and time
Use Active when the relation currently affects behavior or world state. Dormant, Broken, or Hidden can preserve history without presenting it as current action. Add a start time only when chronology matters.
Common mistakes
- Reversing owner and owned entity.
- Using a relation for a one-scene interaction.
- Creating several synonyms for the same relation type.
- Putting the whole character backstory in the relation brief.
- Connecting entities without explaining future significance.