The Velan Codex

Story

Locations

(Idea) What Act 1 adds to each location's JSON and scene.

LocationSceneCameraSpawnsExitsLandmarks
overworld (The Sallow Road)Overworld, extendedoverworldadds Spawn_from_halfwayadds Exit_to_halfwayThe milestone (Road_1), the reed bed (Road_2), the last hill (Road_3), the high-water towpath (Road_4, Road_5), the Halfway landmark miniature (concept landmark-halfway-a).
halfway (Halfway)Halfway, newtownSpawn_from_overworld, Spawn_split_loaf (waking), Spawn_from_ring, Spawn_from_pale_road, Spawn_from_amber_roadExit_to_overworld, Exit_to_ring (if the Ring is its own scene), Exit_to_pale_road, Exit_to_amber_roadTruce Stone, the two Rows, the Split Loaf, the Market and Truce boards, the Barge Landing, the Quarry, the two gates.
drowned_stepsDrownedStepstownunchangedunchangedAdds Event_steps_alone, Event_wyrm; the deep glyphs under the water after the Wyrm.
sallowbankSallowbanktownunchangedunchangedAske back at Mark_aske_ferry from act1.stage >= 1; villagers get Act 1 lines.

The overworld in order from Sallowbank: Sallowbank, Walk_1–_3, the Drowned Steps' turning, Road_1 (milestone), Road_2 (reeds), Road_3 (last hill), Halfway's bridge. Road_4 and Road_5 sit near the Steps' turning and only fire on the way back (act1.stage == 5).

A sketch of halfway.json in VEL-53's format (marker names as above; actors' tints are placeholders). As in sallowbank.json, an actor's marker is its Mark_ marker without the prefix (reeve stands on Mark_reeve), while interactables name the full Event_ marker. Tamsin and Rook have one entry per place they stand: the Rows at stage 3, the Ring at stage 4, the Split Loaf table at stages 5–6, the gates at stage 7.

{
  "id": "halfway",
  "scene": "Halfway",
  "title": "Halfway",
  "camera": "town",
  "enter": [
    { "node": "Act1_Halfway_TruceStone", "when": { "flag": "act1.stage", "op": "==", "value": 1 } },
    { "node": "Act1_Halfway_Reeve_After", "when": { "flag": "act1.stage", "op": "==", "value": 6 } }
  ],
  "actors": [
    { "id": "reeve", "name": "Reeve Hollin Tace", "marker": "reeve", "tint": "#B8A27A" },
    { "id": "orla", "name": "Sister Orla", "marker": "orla", "tint": "#B48CFF" },
    { "id": "quill", "name": "Quill", "marker": "quill", "tint": "#FFC66B" },
    { "id": "hob", "name": "Hob", "marker": "hob", "tint": "#A9744A" },
    { "id": "ulla", "name": "Ulla", "marker": "ulla", "tint": "#8A7F74" },
    { "id": "tamsin", "name": "Tamsin", "marker": "tamsin_pale_row", "tint": "#7FD4FF",
      "when": { "flag": "act1.stage", "op": "==", "value": 3 } },
    { "id": "rook", "name": "Rook", "marker": "rook_amber_row", "tint": "#FFC66B",
      "when": { "flag": "act1.stage", "op": "==", "value": 3 } },
    { "id": "tamsin", "name": "Tamsin", "marker": "tamsin_ring", "tint": "#7FD4FF",
      "when": { "flag": "act1.stage", "op": "==", "value": 4 } },
    { "id": "rook", "name": "Rook", "marker": "rook_ring", "tint": "#FFC66B",
      "when": { "flag": "act1.stage", "op": "==", "value": 4 } },
    { "id": "tamsin", "name": "Tamsin", "marker": "table_tamsin", "tint": "#7FD4FF",
      "when": { "all": [
        { "flag": "act1.stage", "op": ">=", "value": 5 },
        { "flag": "act1.stage", "op": "<=", "value": 6 } ] } },
    { "id": "rook", "name": "Rook", "marker": "table_rook", "tint": "#FFC66B",
      "when": { "all": [
        { "flag": "act1.stage", "op": ">=", "value": 5 },
        { "flag": "act1.stage", "op": "<=", "value": 6 } ] } },
    { "id": "tamsin", "name": "Tamsin", "marker": "tamsin_gate", "tint": "#7FD4FF",
      "when": { "flag": "act1.stage", "op": "==", "value": 7 } },
    { "id": "rook", "name": "Rook", "marker": "rook_gate", "tint": "#FFC66B",
      "when": { "flag": "act1.stage", "op": "==", "value": 7 } }
  ],
  "interactables": [
    { "actor": "reeve", "verb": "Talk", "node": "Act1_Halfway_Reeve" },
    { "actor": "orla", "verb": "Talk", "node": "Act1_Halfway_Orla" },
    { "actor": "quill", "verb": "Talk", "node": "Act1_Halfway_Quill" },
    { "actor": "hob", "verb": "Browse", "node": "Act1_Halfway_Hob" },
    { "actor": "ulla", "verb": "Talk", "node": "Act1_Ring_Ulla" },
    { "actor": "tamsin", "verb": "Talk", "node": "Act1_Halfway_Tamsin" },
    { "actor": "rook", "verb": "Talk", "node": "Act1_Halfway_Rook" },
    { "marker": "Event_market_board", "verb": "Read", "node": "Act1_Halfway_Board" },
    { "marker": "Event_split_loaf_rest", "verb": "Rest", "node": "Act1_SplitLoaf_Rest",
      "when": { "flag": "act1.stage", "op": "==", "value": 2 } }
  ]
}

From Walkthrough: Prologue and Act 1 › Locations