Progress / Phase 11
Phase 11: Zones
The world spans multiple maps with quick transitions; each zone is an isolated simulation owned by its own goroutine, and handoff is a message protocol ready to cross processes later.
Phase 110 / 19 · 0%
This phase is still ahead.
11.1 Architecture
0 of 6 done- Decision Zone architecture: one process with many zone goroutines and a world coordinator (ADR 0005), with the internal messages between them written down in
docs/design/zones.mdso they can run between processes later (Phase 20). Write up the tradeoffs. - Zone registry and routing in the world coordinator; a connection belongs to exactly one zone at a time.
- Handoff protocol: save state, transfer and spawn in the new zone, rolling back to the old zone on failure, tested with a failure injected at every step.
- Zone isolation: a panic in one zone’s tick is recovered and logged and stops only that zone; its players are moved to a safe point or disconnected cleanly.
- Zone and world chat, whispers and parties work across zones.
- Zones start on demand and an empty zone stops ticking.
11.2 The world
0 of 4 done- Zone transitions at map edges and doors, with a short loading screen.
- Interiors (an inn, a house) as small zones.
- World map window showing the zones and where you are.
- The three v1 zones blocked out (starting town and fields, Mosswood, the Old Ruins; working names), to be filled with content in Phase 13.
11.3 Resilience and scale
0 of 3 done- Bots cross zones continuously for an hour with no lost characters or items.
- Crashing a zone mid-handoff leaves every player in a safe, recoverable state.
-
make loadtest SCENARIO=spreadat Case 2 Tier 2 (1,000 active players across 10 or more zones) ondev-m5, with CPU per core and zone tick p99 for every zone, indocs/perf/phase-11.md.
11.4 Walkthrough
0 of 2 done-
docs/walkthroughs/phase-11-zones.md: ownership boundaries, handoff and failure handling, and why the boundary is a message protocol. - Devlog draft, release notes, tag
v0.11.0and publish builds.
Acceptance criteria
0 of 4 done- Players walk between at least three zones with transitions under two seconds.
- Parties, whispers and quests work across zones.
- A zone crash affects only that zone’s players, who can reconnect.
- Case 2 Tier 2 in scaling.md (1,000 active players across zones) is met on
dev-m5.
