Building Zones
Building Zones
Section titled “Building Zones”A zone (or area) is a logical grouping of rooms that share a setting, theme, and difficulty level.
Zones are defined by the area field on rooms — there’s no separate zone entity.
Zone Design Principles
Section titled “Zone Design Principles”- Theme consistency — All rooms in a zone should feel cohesive (same atmosphere, enemy types)
- Logical navigation — Players should be able to navigate without getting lost
- Difficulty curve — Zones should have a clear level range for enemies
- Entry and exit points — Every zone needs an entry from the previous zone and an exit forward
Example World Structure (Veilspan)
Section titled “Example World Structure (Veilspan)”Z00: Catacombs (Tutorial, Level 1-2) → Z01: Meadows & Forest (Level 2-4) → Z02: Oldtown (Level 2-4, hub area) → Z03: Gloomfen Marsh (Level 3-5) → Z19: Gloomfen Depths (Level 5+)ID Conventions
Section titled “ID Conventions”Use consistent room ID patterns within a zone:
| Zone | ID Range | Example |
|---|---|---|
| Catacombs (Z00) | R0001–R0099 | R0001 (Awakening Chamber) |
| Meadows (Z01) | R0101–R0199 | R0101 (Emergence Point) |
| Oldtown (Z02) | R0201–R0299 | R0201 (Town Gate) |
| Gloomfen Marsh (Z03) | R0301–R0399 | R0301 (Marsh Gate Trail) |
Zone Map Design
Section titled “Zone Map Design”Before creating rooms in the Creator UI, sketch your zone layout:
[Entry Room] — east — [Path Room] — east — [Boss Room] | south | [Side Room] — south — [Secret Cache]Use coordinates (x, y, z) to match the layout in the Creator UI world map:
Entry Room: x=0, y=0, z=0Path Room: x=1, y=0, z=0Side Room: x=1, y=-1, z=0Boss Room: x=2, y=0, z=0Secret Cache: x=1, y=-2, z=0Zone Content Files
Section titled “Zone Content Files”World content is version-controlled in the zones/ directory:
zones/└── Z03_gloomfen_marsh/ ├── README.md # Zone overview and lore ├── rooms/ │ ├── R0301_marsh_gate.md │ ├── R0302_bog_path.md │ └── R0310_deep_marsh.md ├── npcs/ │ └── ENM_marsh_wolf.md └── quests/ └── QST0301_marsh_expedition.mdThe YAML export in data/ is generated from these Markdown files via the exporter tool.
Creating a Zone: Step by Step
Section titled “Creating a Zone: Step by Step”- Plan the layout on paper or in a diagram tool
- Create rooms in the Creator UI with consistent
areafield - Set coordinates to match your layout plan
- Link exits between adjacent rooms
- Add spawners with appropriate enemies for the zone’s level range
- Add quest-giver NPCs in key rooms
- Test navigation — walk through every exit manually
- Add atmosphere scripts to room entry events
Zone Transitions
Section titled “Zone Transitions”Connect zones via explicit exits. Zone transitions are just regular exits between rooms in different areas:
Oldtown Gate Room (area: oldtown) ↓ south exitMarsh Gate Trail (area: gloomfen)Consider adding transition narration via an onEnterScript on the first room of the new zone:
-- Fires when player enters the first marsh roomlocal charID = ctx.character.id
tales.game.msgToCharacter(charID, "\nThe cobblestones give way to muddy earth beneath your feet.\n" .. "The air grows thick and damp. You have left the safety of Oldtown behind.")
-- Auto-grant zone exploration questif not tales.quests.isActive(charID, "QST0301") then tales.quests.grantQuest(charID, "QST0301")endNext Steps
Section titled “Next Steps”- Creating Rooms — Room configuration reference
- NPCs & Spawners — Zone population
- The Content Editor — Using the visual tools