neon-sprawl/docs/game-design/zones.md

75 lines
5.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# Zones (places & identity)
Vision for **what a place is** in fiction and design: **tone**, **danger feel**, **faction** or **economic role**, and **content hooks**—paired with the **same** underlying **zone graph** as [risk-security-bands.md](risk-security-bands.md) (**security tiers**, **PvP** rules) but **not** duplicating **tier** or **eligibility** mechanics.
**Topology & travel (runtime):** [E4.M1 — ZoneGraphAndTravelRules](../decomposition/modules/E4_M1_ZoneGraphAndTravelRules.md) (`ZoneDef`, `ZoneEdge`, `TravelRule`)—**server-authoritative** **zone** **id** and **legal** **transitions** ([Epic 4 — Slice 1](../decomposition/epics/epic_04_world_topology.md#epic-4-slice-1)). **Travel** costs, **gates**, and **downtime** **fiction** → future **`travel.md`**; **TravelRule** already covers **gating** (level, quest, faction).
**Ecology & density:** [E4.M2 — SpawnEcologyController](../decomposition/modules/E4_M2_SpawnEcologyController.md) drives **resource** and **NPC** **profiles** **per** **zone** ([gathering.md](gathering.md) **competition** **feel** ties here).
**Handoffs:** [E4.M3 — SeamlessHandoffAndRegionState](../decomposition/modules/E4_M3_SeamlessHandoffAndRegionState.md) for **cross-region** **authority** (later scope).
**Security overlay:** [E4.M4](../decomposition/modules/E4_M4_SecurityTierZoneFlags.md) attaches **`SecurityTier`** to **`ZoneDef`**—**one** **zone** **row** carries **both** **fiction** **tags** and **policy** **flags** in data (**open** how we split **design** **docs** vs **one** **`ZoneDef`** **sheet**).
## Zone lenses (design-facing)
Use these when briefing **writers**, **environment**, and **systems**; they **overlap** in data.
| Lens | Questions |
|------|-----------|
| **Tone** | Noir, grime, hope, satire—how **hard** is life **here**? ([overview.md](overview.md) **presentation** band) |
| **Threat** | **Ambient** danger (mobs, cops, gangs) vs **opt-in** **combat**—distinct from **SecurityTier** **alone** |
| **Economy** | **Hub**, **industrial**, **black** **market**, **corporate** **enclave**—feeds **loot**, **vendors**, **gather** **node** **flavor** ([economy.md](economy.md)) |
| **Faction** | Who **owns** **the** **street**? **Rep** **gates**, **quests** ([skills.md](skills.md) **world** **gates**); detail → future **factions** doc |
| **Activity mix** | **PvE** **lanes**, **skill** **instances**, **social** **hubs**—what **players** **do** **here** |
## Relationship to security tiers
- **`SecurityTier`** answers **“what rules apply?”** ([risk-security-bands.md](risk-security-bands.md)).
- **Zone** **identity** answers **“what is this place **for** in the **fantasy**?”**—two **districts** can share a **tier** but **feel** **different** (**open** **content**).
- **TravelRule** can **reference** **rep**, **licenses**, **quests**—**fiction** **explains** **why** the **gate** **exists**.
## Hubs, pockets, and edges
Directional **shape** for **prototype** **districts** (names **TBD**—align with [Epic 4 — Slice 1](../decomposition/epics/epic_04_world_topology.md#epic-4-slice-1)):
| Role | Intent |
|------|--------|
| **Hub** | **Services**, **vendors**, **social** **density**, **lower** **ambient** **PvE** **pressure** in **safe** **bands** |
| **Pocket** | **Focused** **PvE** or **skill** **content**—**instances** or **carved** **overworld** **chunks** |
| **Edge / frontier** | **Higher** **risk** **feel**, **richer** **gather** **or** **loot** **fantasy**, **clear** **warnings** on **entry** |
## Module map (zonefiction alignment)
| Module | Role | Ties to this doc |
|--------|------|-------------------|
| [E4.M1](../decomposition/modules/E4_M1_ZoneGraphAndTravelRules.md) | `ZoneDef`, edges, `TravelRule` | **Identity** **data** **home** |
| [E4.M4](../decomposition/modules/E4_M4_SecurityTierZoneFlags.md) | Tier, warnings | **Overlay** on **same** **zones** |
| [E4.M2](../decomposition/modules/E4_M2_SpawnEcologyController.md) | Spawn **profiles** | **Feel** of **danger** / **resources** |
| [E4.M3](../decomposition/modules/E4_M3_SeamlessHandoffAndRegionState.md) | Region **handoff** | **Scale** **up** **later** |
| [E7.M4](../decomposition/modules/E7_M4_ContractMissionGenerator.md) | Contract **gen** | **Zone**-tagged **missions** (per E4.M1 **dependents**) |
## Decisions log
| Topic | Direction | Status |
|-------|-----------|--------|
| Fiction vs policy | **Same** **zone** **graph**; **tier** **is** **not** the **only** **identity** **axis** | Agreed |
| Server zone truth | **Current** **zone** **id** **authoritative**—no **client** **shortcuts** | Agreed ([E4.M1](../decomposition/modules/E4_M1_ZoneGraphAndTravelRules.md)) |
| Presentation band | **Grim** **ideas**, **restrained** **depiction**—[overview.md](overview.md) | Agreed |
## Open questions
- **Naming** **convention** for **player-facing** **district** **labels** vs **internal** **`ZoneDef` ids**.
- **Verticality** **and** **interiors** as **sub-zones** vs **one** **flat** **graph** **node**.
- **Dynamic** **zones** (lockdown, **riot**, **player** **corp** **capture**) vs **static** **data** **only**.
## Where to read next
| Topic | Document / module |
|--------|-------------------|
| Security tiers, PvP, warnings | [risk-security-bands.md](risk-security-bands.md) |
| Gather contest, nodes | [gathering.md](gathering.md) |
| Death / loss by context | [death-loss-recovery.md](death-loss-recovery.md) |
| Economy, trade hubs | [economy.md](economy.md) |
| Epic 4 overview | [Epic 4](../decomposition/epics/epic_04_world_topology.md) |
| Travel detail (stub) | [overview.md](overview.md) planned **Travel & connections** |