Skip to main content
unofficial.voyage wiki
Builder

World

Realms (Advanced)

A realm is the top-level container for your `regions` - the world, country, or dimension the story takes place in. Most scenarios need exactly one. Use multiple `realms` only for true planar or dimensional scenarios.

Editor
World → Advanced → Realms
Edit via
JSON + ADD ITEM
{
  "The Compact": {
    "name": "The Compact",
    "basicInfo": "The Compact is the largest of several post-war successor realms, ruled from the Capital by the Merchant Council since the end of the Old War sixty years ago. Most of its population live in the Heartland between the Capital and the Coast; the Frontier to the north is contested woodland still mapped from before the war. Stable enough that ordinary people travel its roads without armed escort, brittle enough that everyone who pays attention is quietly preparing for the day the Council loses its grip.",
    "known": true
  }
}

name

Display name of the realm, and must be byte-identical to the outer map key — the engine matches realms by key, and both regions.*.realm references and realm travel resolve by it, so the key and name have to be exactly equal (same case, same spaces). A mismatch is a validation error. Build the map as { realm["name"]: realm }.

known

Realm access: players can only access locations inside known realms. Realms default to known: true unless the config explicitly sets known: false. Use known: false for realms the player must discover through gameplay. Revealing a realm does not also reveal its regions or locations.

Structure

Realm reference rule

Every realm string referenced in your regions objects must have a corresponding entry here.

Parallel realms

Parallel realms: regions at the same (x, y) coordinates in different realms can represent parallel locations -- a place and its shadow reflection, a city and its dream-state mirror. The grid is per-realm, so the same coordinate is reusable across realms.

Behaviour

Realm travel

Travel between realms is handled natively by the engine. A normal travel action moves the party to a destination in another realm and updates the party's realm, region, location, coordinates, and area together -- no trigger or aiInstructions override is required, and the map stays coherent automatically.

The engine resolves cross-realm and cross-region destinations through any of these, as long as the action names where the player is going:

  • Skills -- the player invokes a movement skill that names the destination ("I use teleport magic to teleport to the Western Adventurer's Guild").
  • Abilities -- using an ability that should relocate the player sends them there when the action succeeds.
  • Items -- using an inventory item whose description states it teleports the player to a named destination.
  • Area or location descriptions -- touching or activating a feature when the current area or location basicInfo states it teleports players to a named destination ("I activate the stone").

The destination location name is the key -- it is what tells the engine which region or realm to send the party to. Within the same region, fuzzy phrasing works ("return to the guild"). Across regions or realms, the action must name the destination's exact location name ("teleports the player to the Western Adventurer's Guild") for the engine to resolve it. The most reliable phrasing supplies only the exact location name.

This covers player-chosen movement. Forced movement -- relocating the party with no input on their part -- still uses a trigger with a party-location effect; see Forced movement on the Triggers page.

Revealing or hiding a realm

A realm's visibility on the map is controlled with the known-entity trigger effect -- set true to reveal a previously hidden realm, false to hide one:

{ "type": "known-entity", "entity": "Shadow Realm", "operator": "set", "value": true }

Per-realm AI behaviour

📋 Note: Multi-realm worlds where AI generation needs to behave fundamentally differently per realm (different geography rules, factions, creatures) can branch on currentRealm directly inside aiInstructions tasks. See Conditional game-state routing in the Advanced AI Techniques appendix.

Size limits

LimitValue
`realms.*.basicInfo`100000
`realms` (entire section)100000

Related

  • Regionsregions are arranged inside a realm on the map grid
  • Locationsthe exact location name is what routes native cross-realm travel