How do I define relationships between entities?
How do I define relationships between entities?
Relationships connect your campaign entities, showing how NPCs know each other, where items are located, which factions control which territories, and more. A well-connected world feels alive and helps you improvise when players ask unexpected questions.
Why Relationships Matter
Standalone entities are useful. Connected entities are powerful.
Consider an NPC in isolation:
Mira Thornwood, bartender, knows secrets, former army scout
Now consider Mira with relationships:
Mira Thornwood
- works at The Rusty Anchor Tavern
- served with Captain Aldric (they have history)
- sells information to the Thieves Guild
- knows most dock workers and sailors
- hiding from someone from her army days
The connected version gives you:
- Where to find her
- Who else she knows
- Plot hooks (who is she hiding from?)
- Conversation starters (she and the captain have history)
- Reasons for her behavior (Thieves Guild connection)
Relationships create depth without requiring you to remember everything. SwiftPrep shows you the connections when you need them.
Creating Relationships
From an Entity
- Open any entity
- Scroll to the Relationships section
- Click Add Relationship
- Search for and select the target entity
- Choose the relationship type
- Optionally set strength and add a description
- Click Save
Quick Linking
When creating entities, add relationships as you go:
- Creating an NPC who works at a tavern? Add the "works at" relationship immediately.
- Creating a faction leader? Link them to the faction.
- Creating a quest item? Link it to its location.
Building connections during creation is easier than trying to link everything later.
Relationship Properties
Each relationship has:
| Property | What It Does |
|---|---|
| Type | The nature of the relationship (ally, enemy, works at, etc.) |
| Target entity | What this relationship points to |
| Strength | 1-10 scale for relationship intensity (optional) |
| Description | Additional context (optional) |
| Is bidirectional | Whether the relationship goes both ways |
Strength
Strength helps you gauge relationship intensity:
- 1-3: Weak connection (acquaintances, passing familiarity)
- 4-6: Moderate connection (friends, regular business)
- 7-9: Strong connection (close allies, bitter rivals)
- 10: Unbreakable (family bonds, lifelong enemies)
Strength is optional but useful for knowing how far an NPC will go for another.
Description
Add context that does not fit elsewhere:
- "They were rivals until the siege, then fought side by side"
- "He does not know she has been reporting to the Guild"
- "She saved his daughter's life, he owes her everything"
Relationship Types
SwiftPrep provides relationship types organized by purpose:
General Relationships
| Type | Description | Bidirectional? |
|---|---|---|
| ally | Works together toward goals | Yes |
| enemy | Actively opposes | Yes |
| family | Related by blood or marriage | Yes |
| friend | Personal friendship | Yes |
| rival | Competes against | Yes |
| romantic | Romantic involvement | Yes |
| knows | Aware of each other | Yes |
| partner | Business or adventure partner | Yes |
Hierarchical Relationships
| Type | Description | Bidirectional? |
|---|---|---|
| employer | Employs the other | No |
| employee | Works for the other | No |
| mentor | Teaches the other | No |
| student | Learns from the other | No |
| leader | Leads an organization | No |
| member | Belongs to organization | No |
| serves | Serves or obeys | No |
| commands | Gives orders to | No |
Other Connections
| Type | Description | Bidirectional? |
|---|---|---|
| protects | Guards or defends | No |
| suspects | Distrusts or investigates | No |
| owes_debt | Owes something | No |
| created | Made or built | No |
| worships | Reveres or follows | No |
Location Relationships
| Type | Description |
|---|---|
| located_at | Found at this location |
| lives_at | Residence |
| works_at | Place of employment |
| frequents | Visits regularly |
| owns | Property ownership |
| guards | Protects this place |
| imprisoned_at | Held captive |
| born_at | Birthplace |
| died_at | Place of death |
Story Linking
| Type | Description |
|---|---|
| part_of | Belongs to a larger whole |
| involves | Participates in |
| leads_to | Connects or progresses to |
| contains | Holds within |
| triggers | Causes to happen |
Bidirectional vs. One-Way Relationships
Bidirectional Relationships
When you create a bidirectional relationship, SwiftPrep automatically creates the reverse:
Create: Mira friend Aldric Auto-creates: Aldric friend Mira
This makes sense for mutual relationships: friends, allies, enemies, rivals, family.
One-Way Relationships
Some relationships are asymmetric:
Aldric mentor Young Guard Young Guard student Aldric (you create this separately if needed)
One-way relationships include: employer/employee, mentor/student, leader/member, protects, suspects, owes_debt.
Natural Pairs
Some one-way relationships have natural pairs:
| If A to B is... | Then B to A might be... |
|---|---|
| employer | employee |
| mentor | student |
| leader | member |
| commands | serves |
| protects | (no automatic reverse) |
Relationship Sentiments
Relationships are color-coded by sentiment in the graph view:
| Category | Color | Relationship Types |
|---|---|---|
| Hostile | Red | enemy, rival, imprisoned_at |
| Negative | Orange | suspects, owes_debt |
| Friendly | Green | family, romantic |
| Positive | Blue | ally, friend, mentor, partner, protects |
| Neutral | Gray | All others |
Colors help you quickly see the emotional landscape of your world in the graph.
Building a Connected World
Start with Core Relationships
For each NPC, establish:
- Where they live and work (location relationships)
- Who they know (ally, friend, enemy)
- What organizations they belong to (faction membership)
This minimum set creates a foundation.
Add Complications
Interesting relationships have tension:
- Allies who disagree on methods
- Friends on opposite sides of a conflict
- Family members who do not trust each other
- Debts that create obligations
Connect Across Entity Types
Do not just link NPCs to NPCs:
- NPCs to locations (where they can be found)
- NPCs to factions (who they work for)
- NPCs to items (what they own or protect)
- NPCs to plot hooks (what they are involved in)
- Locations to plot hooks (where things happen)
- Factions to factions (allies and rivals)
The more connections, the richer your world.
Use the Graph to Find Gaps
Periodically check the graph view:
- Orphan entities (no relationships) might need connections
- Clusters might need bridges to other clusters
- Central nodes are important, they should be developed
Tips for Managing Relationships
Quality Over Quantity
A few meaningful relationships are better than many generic ones. "Ally" tells you less than "ally with description: They trust each other in battle but argue about everything else."
Update After Sessions
When relationships change in play:
- Enemies become allies
- Allies betray each other
- New connections form
Update the relationships. Your data should reflect the current state of your world.
Use Relationship History
SwiftPrep tracks relationship history, when connections were created and how they have changed. This becomes your campaign's social history.
Let Players See Connections
When players learn about a relationship, consider making those entities Player Visible. The relationship map becomes a tool they can reference.
Related Articles
Was this article helpful?