Skip to main content

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

  1. 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.
  2. 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.
  3. 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.