chore: add zones game-design doc and cross-links

Add docs/game-design/zones.md for place identity (tone, economy, faction
hooks) on the E4.M1 graph, distinct from risk-security-bands tier rules.
Link from overview, README, related vision docs, brainstorm table, and
docs-review-agent; anchor Epic 4 slice 1 for deep links.
pull/18/head
VinPropane 2026-04-03 22:47:05 -04:00
parent d192567f57
commit 0dea48e9fa
16 changed files with 96 additions and 9 deletions

View File

@ -26,7 +26,7 @@ Use this rule when the user is working in **`docs/`** (design, decomposition, pl
## Ground truth (required to check) ## Ground truth (required to check)
1. **Same folder and upstream links** — Read every `docs/...` link from the target doc(s); verify paths exist and headings match intent. 1. **Same folder and upstream links** — Read every `docs/...` link from the target doc(s); verify paths exist and headings match intent.
2. **Hybrid progression**`docs/game-design/progression.md`, `skills.md`, `gigs.md`, `abilities.md`, `items.md`, `gathering.md`, `crafting.md`, `economy.md`, `death-loss-recovery.md`, `risk-security-bands.md`: **Gig** = combat role; **Skill** = non-combat; **combat abilities** = gig kit (+ item channels per data); **Seams** live in `skills.md` unless a dedicated doc supersedes. **Combat encounters****gig XP** only (no default skill XP from the fight loop). **Gather / craft****skill XP** (see `gathering.md`, `crafting.md`, Epic 3)—not **gig** XP. **Mission/quest rewards** may grant **skill XP**, **currency**, or **items** when explicitly defined (`progression.md`, `economy.md`)—separate from the encounter **gig XP** path. **Economy** faucets/sinks and trade (`economy.md`) do not re-gate **craft** on **gig** (see `items.md` / Seams). **Death / loss / recovery** (`death-loss-recovery.md`): server-authoritative combat death; item stakes via **E3.M4** / **E5.M1**; **PvP** loss **E6.M3** vs **PvE** **open**; **cybernetics** vs external **gear** per **Seams**. **Risk / security** (`risk-security-bands.md`): **E4.M4** `SecurityTier` + **E6.M1**/**E6.M2** for **PvP** eligibility and **consent** UX—**not** client-only PvP toggles. 2. **Hybrid progression**`docs/game-design/progression.md`, `skills.md`, `gigs.md`, `abilities.md`, `items.md`, `gathering.md`, `crafting.md`, `economy.md`, `death-loss-recovery.md`, `risk-security-bands.md`, `zones.md`: **Gig** = combat role; **Skill** = non-combat; **combat abilities** = gig kit (+ item channels per data); **Seams** live in `skills.md` unless a dedicated doc supersedes. **Combat encounters****gig XP** only (no default skill XP from the fight loop). **Gather / craft****skill XP** (see `gathering.md`, `crafting.md`, Epic 3)—not **gig** XP. **Mission/quest rewards** may grant **skill XP**, **currency**, or **items** when explicitly defined (`progression.md`, `economy.md`)—separate from the encounter **gig XP** path. **Economy** faucets/sinks and trade (`economy.md`) do not re-gate **craft** on **gig** (see `items.md` / Seams). **Death / loss / recovery** (`death-loss-recovery.md`): server-authoritative combat death; item stakes via **E3.M4** / **E5.M1**; **PvP** loss **E6.M3** vs **PvE** **open**; **cybernetics** vs external **gear** per **Seams**. **Risk / security** (`risk-security-bands.md`): **E4.M4** `SecurityTier` + **E6.M1**/**E6.M2** for **PvP** eligibility and **consent** UX—**not** client-only PvP toggles. **Zones** (`zones.md`): **place** **fiction** and **hooks** on the **same** **E4.M1** graph—**not** a second topology.
3. **Decomposition** — Map claims to `docs/decomposition/epics/` and `docs/decomposition/modules/` where relevant; flag **conflicts** (e.g. “combat skill” vs skills-as-non-combat). **CI** enforces a minimal guard via [`scripts/check_decomposition_language.py`](../../scripts/check_decomposition_language.py) in the **PR gate** (extend the script if a vetted exception is needed). 3. **Decomposition** — Map claims to `docs/decomposition/epics/` and `docs/decomposition/modules/` where relevant; flag **conflicts** (e.g. “combat skill” vs skills-as-non-combat). **CI** enforces a minimal guard via [`scripts/check_decomposition_language.py`](../../scripts/check_decomposition_language.py) in the **PR gate** (extend the script if a vetted exception is needed).
4. **Plans** — If work maps to `docs/plans/`, check for **acceptance criteria** vs design doc (same spirit as [code-review-agent](code-review-agent.md) plan alignment). 4. **Plans** — If work maps to `docs/plans/`, check for **acceptance criteria** vs design doc (same spirit as [code-review-agent](code-review-agent.md) plan alignment).

View File

@ -46,6 +46,8 @@ Represent the world as a zone graph with travel rules, security-tier signaling f
## Implementation Slices (Backlog-Ready) ## Implementation Slices (Backlog-Ready)
<a id="epic-4-slice-1"></a>
### Slice 1 - Prototype district zone graph ### Slice 1 - Prototype district zone graph
- Scope: E4.M1 defining hub, PvE pocket, and edge zones with valid transitions. - Scope: E4.M1 defining hub, PvE pocket, and edge zones with valid transitions.

View File

@ -6,6 +6,6 @@
**Brainstorm-only** (not specs): [`brainstorm/`](brainstorm/README.md). **Brainstorm-only** (not specs): [`brainstorm/`](brainstorm/README.md).
Non-implementation notes: **gigs** (combat roles), **skills** (non-combat), **[abilities](abilities.md)** (what players trigger), **[items](items.md)** (loot, craft, equip), **[gathering](gathering.md)** (resource nodes, yields), **[crafting](crafting.md)** (recipes, pipeline), **[economy](economy.md)** (faucets, sinks, trade), **[death-loss-recovery](death-loss-recovery.md)** (stakes, recovery), **[risk-security-bands](risk-security-bands.md)** (tiers, PvP eligibility), zones, mechanics, and other design artifacts before they are tied to concrete systems or tickets. Non-implementation notes: **gigs** (combat roles), **skills** (non-combat), **[abilities](abilities.md)** (what players trigger), **[items](items.md)** (loot, craft, equip), **[gathering](gathering.md)** (resource nodes, yields), **[crafting](crafting.md)** (recipes, pipeline), **[economy](economy.md)** (faucets, sinks, trade), **[death-loss-recovery](death-loss-recovery.md)** (stakes, recovery), **[risk-security-bands](risk-security-bands.md)** (tiers, PvP eligibility), **[zones](zones.md)** (place identity), travel/mechanics stubs, and other design artifacts before they are tied to concrete systems or tickets.
Implementation-facing breakdowns stay under [`docs/decomposition/`](../decomposition/README.md) and plans under [`docs/plans/`](../plans/). Implementation-facing breakdowns stay under [`docs/decomposition/`](../decomposition/README.md) and plans under [`docs/plans/`](../plans/).

View File

@ -63,6 +63,7 @@ Vision for **what the player triggers** in play: combat **kits**, non-combat **s
| Economy (trade, sinks—gig does not gate craft) | [economy.md](economy.md) | | Economy (trade, sinks—gig does not gate craft) | [economy.md](economy.md) |
| Death / loss (combat death, gear stakes) | [death-loss-recovery.md](death-loss-recovery.md) | | Death / loss (combat death, gear stakes) | [death-loss-recovery.md](death-loss-recovery.md) |
| Risk tiers & PvP eligibility | [risk-security-bands.md](risk-security-bands.md) | | Risk tiers & PvP eligibility | [risk-security-bands.md](risk-security-bands.md) |
| Zones (where fights live) | [zones.md](zones.md) |
| Seams (gear, craft, consumables) | [skills.md](skills.md) | | Seams (gear, craft, consumables) | [skills.md](skills.md) |
| Hybrid vocabulary | [progression.md](progression.md) | | Hybrid vocabulary | [progression.md](progression.md) |
| Encounter rewards + combat hooks | [Epic 5](../decomposition/epics/epic_05_pve_combat.md), [Epic 7](../decomposition/epics/epic_07_quest_faction.md) | | Encounter rewards + combat hooks | [Epic 5](../decomposition/epics/epic_05_pve_combat.md), [Epic 7](../decomposition/epics/epic_07_quest_faction.md) |

View File

@ -32,5 +32,5 @@ Other directions **open:** power budget for the site, timers, optional side obje
|--------|--------| |--------|--------|
| Gig roster, party language | [gigs.md](../gigs.md) | | Gig roster, party language | [gigs.md](../gigs.md) |
| Skills, seams with combat gear/crafting | [skills.md](../skills.md) | | Skills, seams with combat gear/crafting | [skills.md](../skills.md) |
| Zone / instance tone later | [overview](../overview.md) planned **Zones** | | Zone / instance tone | [zones.md](../zones.md) |
| Enemy/security archetypes later | [overview](../overview.md) planned **Encounters** | | Enemy/security archetypes later | [overview](../overview.md) planned **Encounters** |

View File

@ -76,3 +76,4 @@ Authoritative **recipe graph** is **data** (`RecipeDef`); design intent:
| Economy (sinks, trade, tuning) | [economy.md](economy.md) | | Economy (sinks, trade, tuning) | [economy.md](economy.md) |
| Death / loss (durability, repair) | [death-loss-recovery.md](death-loss-recovery.md) | | Death / loss (durability, repair) | [death-loss-recovery.md](death-loss-recovery.md) |
| Risk & security (trade/theft context) | [risk-security-bands.md](risk-security-bands.md) | | Risk & security (trade/theft context) | [risk-security-bands.md](risk-security-bands.md) |
| Zones (bench access, district flavor) | [zones.md](zones.md) |

View File

@ -75,3 +75,4 @@ Vision for **what happens when a character fails** (especially in **combat**): *
| Hybrid XP (death does not imply skill XP change) | [progression.md](progression.md) | | Hybrid XP (death does not imply skill XP change) | [progression.md](progression.md) |
| PvP product stance | [Epic 6](../decomposition/epics/epic_06_pvp_security.md) | | PvP product stance | [Epic 6](../decomposition/epics/epic_06_pvp_security.md) |
| Risk & security tiers, PvP eligibility | [risk-security-bands.md](risk-security-bands.md) | | Risk & security tiers, PvP eligibility | [risk-security-bands.md](risk-security-bands.md) |
| Place context (hub vs frontier) | [zones.md](zones.md) |

View File

@ -91,3 +91,4 @@ Direction: **prototype** should prove at least one **meaningful** durable sink b
| Social / corp context for trade | [Epic 8](../decomposition/epics/epic_08_social_guild.md) | | Social / corp context for trade | [Epic 8](../decomposition/epics/epic_08_social_guild.md) |
| Death, durability, PvP loss | [death-loss-recovery.md](death-loss-recovery.md) | | Death, durability, PvP loss | [death-loss-recovery.md](death-loss-recovery.md) |
| Security tiers, PvP eligibility | [risk-security-bands.md](risk-security-bands.md) | | Security tiers, PvP eligibility | [risk-security-bands.md](risk-security-bands.md) |
| Zone identity (trade hubs, black markets) | [zones.md](zones.md) |

View File

@ -78,6 +78,7 @@ Directional goals (implementation **open**):
| Economy (faucets from gather + policy) | [economy.md](economy.md) | | Economy (faucets from gather + policy) | [economy.md](economy.md) |
| Death / loss (contested gather, drops) | [death-loss-recovery.md](death-loss-recovery.md) | | Death / loss (contested gather, drops) | [death-loss-recovery.md](death-loss-recovery.md) |
| Risk tiers & contest rules | [risk-security-bands.md](risk-security-bands.md) | | Risk tiers & contest rules | [risk-security-bands.md](risk-security-bands.md) |
| Zone identity & spawn feel | [zones.md](zones.md) |
| Epic 3 gather slice | [Epic 3 — Slice 2 (Gather nodes)](../decomposition/epics/epic_03_crafting_economy.md#epic-3-slice-2) | | Epic 3 gather slice | [Epic 3 — Slice 2 (Gather nodes)](../decomposition/epics/epic_03_crafting_economy.md#epic-3-slice-2) |
| Interaction contracts | [E1.M3](../decomposition/modules/E1_M3_InteractionAndTargetingLayer.md) | | Interaction contracts | [E1.M3](../decomposition/modules/E1_M3_InteractionAndTargetingLayer.md) |
| Zone ecology | [E4.M2](../decomposition/modules/E4_M2_SpawnEcologyController.md), [Epic 4](../decomposition/epics/epic_04_world_topology.md) | | Zone ecology | [E4.M2](../decomposition/modules/E4_M2_SpawnEcologyController.md), [Epic 4](../decomposition/epics/epic_04_world_topology.md) |

View File

@ -137,4 +137,5 @@ Detail: seams table in [skills.md](skills.md).
- [economy.md](economy.md) — **gig** does not gate **craft**/**trade**; **wealth** loops are **skill**- and **item**-heavy ([items.md](items.md)). - [economy.md](economy.md) — **gig** does not gate **craft**/**trade**; **wealth** loops are **skill**- and **item**-heavy ([items.md](items.md)).
- [death-loss-recovery.md](death-loss-recovery.md) — **combat** death → **gig** loadout context; **PvP** loss rules **E6.M3** (not same as PvE—**open**). - [death-loss-recovery.md](death-loss-recovery.md) — **combat** death → **gig** loadout context; **PvP** loss rules **E6.M3** (not same as PvE—**open**).
- [risk-security-bands.md](risk-security-bands.md) — **where** **PvP** can apply (**E6.M1**); not defined by **gig** pick alone. - [risk-security-bands.md](risk-security-bands.md) — **where** **PvP** can apply (**E6.M1**); not defined by **gig** pick alone.
- [zones.md](zones.md) — **where** gigs feel grounded; **hub** vs **pocket** world fantasy.
- [brainstorm/hack-bodyguard-missions.md](brainstorm/hack-bodyguard-missions.md) — group content where **gigs** hold security while **skills** run the hack (brainstorm). - [brainstorm/hack-bodyguard-missions.md](brainstorm/hack-bodyguard-missions.md) — group content where **gigs** hold security while **skills** run the hack (brainstorm).

View File

@ -81,6 +81,7 @@ Design **buckets** above are not 1:1 types in data—they inform tags and metada
| Sinks & durability | [E3.M4](../decomposition/modules/E3_M4_SinkAndDurabilityLifecycle.md) | | Sinks & durability | [E3.M4](../decomposition/modules/E3_M4_SinkAndDurabilityLifecycle.md) |
| Death, loss & recovery | [death-loss-recovery.md](death-loss-recovery.md) | | Death, loss & recovery | [death-loss-recovery.md](death-loss-recovery.md) |
| Risk & security bands | [risk-security-bands.md](risk-security-bands.md) | | Risk & security bands | [risk-security-bands.md](risk-security-bands.md) |
| Zones (vendor/loot context) | [zones.md](zones.md) |
| Economy vision (faucets, trade, policy) | [economy.md](economy.md) | | Economy vision (faucets, trade, policy) | [economy.md](economy.md) |
| Economy policy (runtime) | [E3.M5](../decomposition/modules/E3_M5_EconomyBalancePolicy.md) | | Economy policy (runtime) | [E3.M5](../decomposition/modules/E3_M5_EconomyBalancePolicy.md) |
| Encounter loot routing | [E5.M3](../decomposition/modules/E5_M3_EncounterAndRewardTables.md), [E7.M2](../decomposition/modules/E7_M2_RewardAndUnlockRouter.md) | | Encounter loot routing | [E5.M3](../decomposition/modules/E5_M3_EncounterAndRewardTables.md), [E7.M2](../decomposition/modules/E7_M2_RewardAndUnlockRouter.md) |

View File

@ -6,7 +6,7 @@ This folder holds **vision-level** design: what we want players to feel, do, and
Neon Sprawls design work here starts from **concrete visions** of progression, places, risk, economy, social play, combat, and the items/abilities that express them. Documents below are added as we write them; each should stay opinionated and specific enough to argue with, without pretending to be a full GDD. Neon Sprawls design work here starts from **concrete visions** of progression, places, risk, economy, social play, combat, and the items/abilities that express them. Documents below are added as we write them; each should stay opinionated and specific enough to argue with, without pretending to be a full GDD.
**Hybrid progression:** [progression.md](progression.md) (vocabulary + why gigs + skills). **Gig** detail: [gigs.md](gigs.md). **Skills** + **seams**: [skills.md](skills.md). **Abilities** (combat vs non-combat actions): [abilities.md](abilities.md). **Items** (loot, craft, equip): [items.md](items.md). **Gathering** (nodes, skill XP, ecology): [gathering.md](gathering.md). **Crafting** (recipes, pipeline, benches): [crafting.md](crafting.md). **Economy** (faucets, sinks, trade, policy): [economy.md](economy.md). **Death / loss / recovery:** [death-loss-recovery.md](death-loss-recovery.md). **Risk & security bands:** [risk-security-bands.md](risk-security-bands.md). **Loose ideas:** [`brainstorm/`](brainstorm/README.md). **Hybrid progression:** [progression.md](progression.md) (vocabulary + why gigs + skills). **Gig** detail: [gigs.md](gigs.md). **Skills** + **seams**: [skills.md](skills.md). **Abilities** (combat vs non-combat actions): [abilities.md](abilities.md). **Items** (loot, craft, equip): [items.md](items.md). **Gathering** (nodes, skill XP, ecology): [gathering.md](gathering.md). **Crafting** (recipes, pipeline, benches): [crafting.md](crafting.md). **Economy** (faucets, sinks, trade, policy): [economy.md](economy.md). **Death / loss / recovery:** [death-loss-recovery.md](death-loss-recovery.md). **Risk & security bands:** [risk-security-bands.md](risk-security-bands.md). **Zones** (place identity, tone, hooks): [zones.md](zones.md). **Loose ideas:** [`brainstorm/`](brainstorm/README.md).
## Presentation and target rating (vision) ## Presentation and target rating (vision)
@ -31,7 +31,8 @@ Neon Sprawls design work here starts from **concrete visions** of progression
| [crafting.md](crafting.md) | **Recipes**, **Process/Make** pipeline, bench vs **gig** combat use | **E3.M2**; with [gathering.md](gathering.md), [items.md](items.md), [skills.md](skills.md) **Seams** | | [crafting.md](crafting.md) | **Recipes**, **Process/Make** pipeline, bench vs **gig** combat use | **E3.M2**; with [gathering.md](gathering.md), [items.md](items.md), [skills.md](skills.md) **Seams** |
| [economy.md](economy.md) | **Faucets/sinks**, trade, **E3.M5** policy, mission vs loot **faucets** | With [items.md](items.md), [crafting.md](crafting.md); **E8.M3** trade, **E6.M4** parity | | [economy.md](economy.md) | **Faucets/sinks**, trade, **E3.M5** policy, mission vs loot **faucets** | With [items.md](items.md), [crafting.md](crafting.md); **E8.M3** trade, **E6.M4** parity |
| [death-loss-recovery.md](death-loss-recovery.md) | **Death** stakes, **durability**/drops, **recovery**, **PvP** loss (**E6.M3**) | With [items.md](items.md), [economy.md](economy.md), [risk-security-bands.md](risk-security-bands.md) | | [death-loss-recovery.md](death-loss-recovery.md) | **Death** stakes, **durability**/drops, **recovery**, **PvP** loss (**E6.M3**) | With [items.md](items.md), [economy.md](economy.md), [risk-security-bands.md](risk-security-bands.md) |
| [risk-security-bands.md](risk-security-bands.md) | **Security tiers**, **PvP** **eligibility**, **consent** UX (**E4.M4**, **E6.M1****M2**) | With [death-loss-recovery.md](death-loss-recovery.md), [gathering.md](gathering.md); **zones** fiction **TBD** | | [risk-security-bands.md](risk-security-bands.md) | **Security tiers**, **PvP** **eligibility**, **consent** UX (**E4.M4**, **E6.M1****M2**) | With [death-loss-recovery.md](death-loss-recovery.md), [gathering.md](gathering.md), [zones.md](zones.md) |
| [zones.md](zones.md) | **District** **identity**, tone, economy/faction **hooks**, **E4.M1** graph | With [risk-security-bands.md](risk-security-bands.md), [gathering.md](gathering.md); **travel** stub in planned topics |
| [brainstorm/hack-bodyguard-missions.md](brainstorm/hack-bodyguard-missions.md) | Split **skill** (hack) + **gig** (bodyguard) instances—idea capture | Brainstorm | | [brainstorm/hack-bodyguard-missions.md](brainstorm/hack-bodyguard-missions.md) | Split **skill** (hack) + **gig** (bodyguard) instances—idea capture | Brainstorm |
### Planned topics (stubs) ### Planned topics (stubs)
@ -39,7 +40,7 @@ Neon Sprawls design work here starts from **concrete visions** of progression
Link new files here when they exist; remove or rewrite this subsection once the table is populated. Link new files here when they exist; remove or rewrite this subsection once the table is populated.
- **Progression** — [progression.md](progression.md): hybrid **gig + skill** overview and vocabulary. **Gigs:** [gigs.md](gigs.md). **Skills** + seams: [skills.md](skills.md). Recruitment channel **deferred**; *professions* stay folded into **skills** + rep unless a future doc defines something separate. - **Progression** — [progression.md](progression.md): hybrid **gig + skill** overview and vocabulary. **Gigs:** [gigs.md](gigs.md). **Skills** + seams: [skills.md](skills.md). Recruitment channel **deferred**; *professions* stay folded into **skills** + rep unless a future doc defines something separate.
- **Zones**tone, danger, faction or economic role of a place. - **Zones**[zones.md](zones.md): tone, danger, faction/economic **hooks**; **graph** in [E4.M1](../decomposition/modules/E4_M1_ZoneGraphAndTravelRules.md).
- **Travel & connections** — how places link (gates, costs, downtime, danger en route); complements zone identity. - **Travel & connections** — how places link (gates, costs, downtime, danger en route); complements zone identity.
- **Mechanics** — loops, constraints, what the server vs. client must honor. - **Mechanics** — loops, constraints, what the server vs. client must honor.
- **Items** — [items.md](items.md): categories, rarity philosophy, crafting vs. drops; **Seams** for gig/skill gates. - **Items** — [items.md](items.md): categories, rarity philosophy, crafting vs. drops; **Seams** for gig/skill gates.
@ -50,7 +51,7 @@ Link new files here when they exist; remove or rewrite this subsection once the
- **Factions & reputation** — who remembers you, grudges, access gates; **gig** story arcs: [gigs.md](gigs.md), rep + seams: [skills.md](skills.md). - **Factions & reputation** — who remembers you, grudges, access gates; **gig** story arcs: [gigs.md](gigs.md), rep + seams: [skills.md](skills.md).
- **Combat pillars** — [Vision stub below](#combat-pillars-vision-stub): PvE vs. PvP stance, readability, time-to-kill, fairness; **items in combat** in [items.md](items.md). - **Combat pillars** — [Vision stub below](#combat-pillars-vision-stub): PvE vs. PvP stance, readability, time-to-kill, fairness; **items in combat** in [items.md](items.md).
- **Death, loss & recovery** — [death-loss-recovery.md](death-loss-recovery.md): stakes, **E3.M4**/**E6.M3**, recovery UX. - **Death, loss & recovery** — [death-loss-recovery.md](death-loss-recovery.md): stakes, **E3.M4**/**E6.M3**, recovery UX.
- **Risk & security bands** — [risk-security-bands.md](risk-security-bands.md): **tiers**, **PvP** opt-in, **theft**/gather **contest** hooks; **zone** tone in future **zones** doc. - **Risk & security bands** — [risk-security-bands.md](risk-security-bands.md): **tiers**, **PvP** opt-in, **theft**/gather **contest** hooks; **place** **fiction**: [zones.md](zones.md).
- **Social play** — squad scale, corps, trust, betrayal affordances, async cooperation. - **Social play** — squad scale, corps, trust, betrayal affordances, async cooperation.
- **Encounters & enemy roles** — archetypes, what a fight teaches, variety without noise. **Skill + gig split runs:** [brainstorm/hack-bodyguard-missions.md](brainstorm/hack-bodyguard-missions.md). - **Encounters & enemy roles** — archetypes, what a fight teaches, variety without noise. **Skill + gig split runs:** [brainstorm/hack-bodyguard-missions.md](brainstorm/hack-bodyguard-missions.md).
- **Onboarding** — first session hook, clarity vs. mystery, how much systems the new player sees. - **Onboarding** — first session hook, clarity vs. mystery, how much systems the new player sees.

View File

@ -33,6 +33,7 @@ Use these terms in **design specs and tools** (fiction may say *job*, *contract*
| **Economy** (faucets, sinks, trade, policy) | [economy.md](economy.md) | | **Economy** (faucets, sinks, trade, policy) | [economy.md](economy.md) |
| **Death / loss / recovery** (stakes, durability, PvP loss) | [death-loss-recovery.md](death-loss-recovery.md) | | **Death / loss / recovery** (stakes, durability, PvP loss) | [death-loss-recovery.md](death-loss-recovery.md) |
| **Risk & security bands** (tiers, PvP eligibility) | [risk-security-bands.md](risk-security-bands.md) | | **Risk & security bands** (tiers, PvP eligibility) | [risk-security-bands.md](risk-security-bands.md) |
| **Zones** (place identity, travel graph hooks) | [zones.md](zones.md) |
| Skill domains, categories, XP curves, gates, mastery | [skills.md](skills.md) | | Skill domains, categories, XP curves, gates, mastery | [skills.md](skills.md) |
| **Seams** (combat gear vs craft, consumables, rep, alts) | [skills.md](skills.md) (section *Seams (gigs ↔ skills)*) | | **Seams** (combat gear vs craft, consumables, rep, alts) | [skills.md](skills.md) (section *Seams (gigs ↔ skills)*) |
| Loose ideas | [brainstorm/](brainstorm/README.md) | | Loose ideas | [brainstorm/](brainstorm/README.md) |

View File

@ -1,6 +1,6 @@
# Risk & security bands # Risk & security bands
Vision for **how dangerous a place is** and **what the rules allow**: **security tiers** on the world graph, **PvP eligibility**, **consent / risk UX**, and how **tiers** connect to **theft**, **gathering contest**, **trade**, and **death** stakes—not a full **zone** fiction doc (tone, factions per district → future **`zones.md`**). Vision for **how dangerous a place is** and **what the rules allow**: **security tiers** on the world graph, **PvP eligibility**, **consent / risk UX**, and how **tiers** connect to **theft**, **gathering contest**, **trade**, and **death** stakes. Place fiction (tone, economic role): [zones.md](zones.md).
**Tier data (runtime):** [E4.M4 — SecurityTierZoneFlags](../decomposition/modules/E4_M4_SecurityTierZoneFlags.md) assigns **`SecurityTier`**, **`ZonePolicyState`**, and **`ZoneEntryWarning`** per zone on the graph from [E4.M1 — ZoneGraphAndTravelRules](../decomposition/modules/E4_M1_ZoneGraphAndTravelRules.md). **Server** is source of truth; **client** shows warnings on transition ([Epic 4 — Slice 2](../decomposition/epics/epic_04_world_topology.md#epic-4-slice-2)). **Tier data (runtime):** [E4.M4 — SecurityTierZoneFlags](../decomposition/modules/E4_M4_SecurityTierZoneFlags.md) assigns **`SecurityTier`**, **`ZonePolicyState`**, and **`ZoneEntryWarning`** per zone on the graph from [E4.M1 — ZoneGraphAndTravelRules](../decomposition/modules/E4_M1_ZoneGraphAndTravelRules.md). **Server** is source of truth; **client** shows warnings on transition ([Epic 4 — Slice 2](../decomposition/epics/epic_04_world_topology.md#epic-4-slice-2)).
@ -74,4 +74,5 @@ Exact **count** of tiers, **instance** vs **overworld** rules, and **mission** *
| Gathering under contest | [gathering.md](gathering.md) | | Gathering under contest | [gathering.md](gathering.md) |
| Zone graph & travel (implementation) | [Epic 4](../decomposition/epics/epic_04_world_topology.md), [E4.M1](../decomposition/modules/E4_M1_ZoneGraphAndTravelRules.md) | | Zone graph & travel (implementation) | [Epic 4](../decomposition/epics/epic_04_world_topology.md), [E4.M1](../decomposition/modules/E4_M1_ZoneGraphAndTravelRules.md) |
| PvP product stance | [Epic 6](../decomposition/epics/epic_06_pvp_security.md) | | PvP product stance | [Epic 6](../decomposition/epics/epic_06_pvp_security.md) |
| Place identity & district roles | [zones.md](zones.md) |
| Folder index | [overview.md](overview.md) | | Folder index | [overview.md](overview.md) |

View File

@ -1,6 +1,6 @@
# Skills (non-combat progression) # Skills (non-combat progression)
Design for **non-combat skills** only. **Shared vocabulary**, **why we use gigs + skills**, and the **hybrid overview** are in **[progression.md](progression.md)**. **Combat gigs** (roster, hub swap, sub-gig, etc.) are **[gigs.md](gigs.md)**. **What counts as a combat vs non-combat action** (kits, interactions, items): **[abilities.md](abilities.md)**. **Item buckets and acquisition** (loot, craft, equip): **[items.md](items.md)**. **Gathering & resource nodes** (competition, ecology, gig vs skill): **[gathering.md](gathering.md)**. **Crafting & recipes** (pipeline, benches, failure/quality): **[crafting.md](crafting.md)**. **Economy** (faucets, sinks, trade, policy): **[economy.md](economy.md)**. **Death, loss & recovery** (durability, PvP loss, recovery): **[death-loss-recovery.md](death-loss-recovery.md)**. **Risk & security bands** (tiers, PvP eligibility): **[risk-security-bands.md](risk-security-bands.md)**. Design for **non-combat skills** only. **Shared vocabulary**, **why we use gigs + skills**, and the **hybrid overview** are in **[progression.md](progression.md)**. **Combat gigs** (roster, hub swap, sub-gig, etc.) are **[gigs.md](gigs.md)**. **What counts as a combat vs non-combat action** (kits, interactions, items): **[abilities.md](abilities.md)**. **Item buckets and acquisition** (loot, craft, equip): **[items.md](items.md)**. **Gathering & resource nodes** (competition, ecology, gig vs skill): **[gathering.md](gathering.md)**. **Crafting & recipes** (pipeline, benches, failure/quality): **[crafting.md](crafting.md)**. **Economy** (faucets, sinks, trade, policy): **[economy.md](economy.md)**. **Death, loss & recovery** (durability, PvP loss, recovery): **[death-loss-recovery.md](death-loss-recovery.md)**. **Risk & security bands** (tiers, PvP eligibility): **[risk-security-bands.md](risk-security-bands.md)**. **Zones** (place identity, faction/econ hooks): **[zones.md](zones.md)**.
**This file also owns the [Seams (gigs ↔ skills)](#seams-gigs-skills)** section—rules where **gigs** and **skills** meet (gear, crafting, consumables, rep, alts). **Brainstorm-only** ideas: [`brainstorm/`](brainstorm/README.md). **This file also owns the [Seams (gigs ↔ skills)](#seams-gigs-skills)** section—rules where **gigs** and **skills** meet (gear, crafting, consumables, rep, alts). **Brainstorm-only** ideas: [`brainstorm/`](brainstorm/README.md).
@ -255,4 +255,5 @@ Explicit **bonuses** when skill A + B cross a threshold vs **pure fiction** (“
- **[economy.md](economy.md)** — faucets/sinks, trade, **E3.M5**; mission vs loot ([progression.md](progression.md)) (written). - **[economy.md](economy.md)** — faucets/sinks, trade, **E3.M5**; mission vs loot ([progression.md](progression.md)) (written).
- **[death-loss-recovery.md](death-loss-recovery.md)** — death stakes, **E3.M4** / **E6.M3**, recovery (written). - **[death-loss-recovery.md](death-loss-recovery.md)** — death stakes, **E3.M4** / **E6.M3**, recovery (written).
- **[risk-security-bands.md](risk-security-bands.md)** — **E4.M4** tiers, **E6.M1**/**M2** PvP + consent (written). - **[risk-security-bands.md](risk-security-bands.md)** — **E4.M4** tiers, **E6.M1**/**M2** PvP + consent (written).
- **[zones.md](zones.md)** — district **identity**, **E4.M1** graph, **hooks** for gather/missions (written).
- [brainstorm/hack-bodyguard-missions.md](brainstorm/hack-bodyguard-missions.md) — group **skill** (hack) + **gig** (bodyguard) instances (brainstorm). - [brainstorm/hack-bodyguard-missions.md](brainstorm/hack-bodyguard-missions.md) — group **skill** (hack) + **gig** (bodyguard) instances (brainstorm).

View File

@ -0,0 +1,74 @@
# 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** |