Changing Relations in a Story
A story writer controls relations through three actions, described in detail in the
actions reference: +, -, and reset. Here are practical scenarios for using them.
The basic technique
"actions": { "+": ["relation_4:2"] }
Improves the "Duty" faction's (id 4) relation to the player by 2 points. The argument is a string,
"relation_<faction_id>:<amount>", where faction_id comes from the faction reference.
Choices that affect several factions at once
Factions compete with each other, so a decision that favors one often logically comes with worsening relations with another:
"actions": {
"+": ["relation_3:3"],
"-": ["relation_1:3"]
}
Example: helping "Freedom" (id 3) in a conflict with bandits (id 1) simultaneously raises the former's
relation and damages the latter's — a standard game-design technique for faction-driven stories.
Resetting relations
"actions": { "reset": ["relation_4"] }
Returns a specific faction's relation to its base value. Useful for a story's finale that "resets" a conflict, or for debugging while testing a story.
A conditional branch based on the current relation
A relation can not only be changed, but also checked like an ordinary variable in a condition, to show different lines or unlock different points on the map depending on how a faction currently feels about the player:
"transfers": [
{ "text": "You're one of us, come in", "stage": "stage_friendly", "condition": { "relation_4>=": ["3"] } },
{ "text": "I'm listening", "stage": "stage_neutral", "condition": {} }
]
Balance recommendations
- Change relations in small steps (1–3 points per decision) — sharp swings quickly push the player into either the camp of absolute friends or enemies with every faction at once, devaluing further choices.
- Design faction-driven branches symmetrically: if a decision helps one side, the other side should usually take a small (not necessarily drastic) hit to its relation — this is what makes a conflict feel meaningful.
- Remember that worsening a relation below the "enemy" threshold (see The Relations System) changes that faction's NPCs' combat behavior on the map — test your story not just through dialogue, but by actually going out onto the location.