c87dd04e87
CLAUDE.md — it is loaded every session, so its errors cost the most:
- M13: it still said "No world code until the world-model spike passes
its design review" while DR-049 has been `accepted` since 07-13 and the
roadmap says PASSED. A hard contradiction between the two authority
docs, with CLAUDE.md winning by being always-loaded — plausibly part of
why Phase 2 never started. Now points at the build spec, warns it needs
re-anchoring, and links the parked engine fork.
- Records the H2 hazard as a rule: a socket whose SparkId is missing from
the baked AbilityDatabase silently reads Damage/Range/Cooldown 0.
- L12: the asmdef table was stale on all four rows; also notes the fifth
compilation unit (Scripts/Editor has no asmdef) and that tests now
reference Authoring.
- M19: per-machine setup — the machine-loss recovery checklist — was
missing Blender + blendermcp (which the committed /art-dev skill
hard-requires) and ctx7, and claimed a ${CLAUDE_PROJECT_DIR} in
.mcp.json that isn't there.
- Structures / harvest / persistence / BefourStudios bullets rewritten:
they described deleted subsystems.
- Net-zero rule honoured: the additions pushed it to 41,057 (over the
40,960 hard limit), so two long art-pipeline bullets moved verbatim to
the gotchas archive under a dated heading. 39,661 now — inside the
file's own 39,936 soft ceiling.
- M14: DR-053 files the Bevy fork as PARKED. The guide was reachable from
NOTHING — one file, zero inbound links, and its gating instruction
lived only in machine-local memory, which CLAUDE.md explicitly forbids
as a sole home. It now has a committed home and inbound links.
- DR-054 records this purge, including the three files that were in the
delete set until their consumers were checked and turned out to be
load-bearing.
- M15: 13 superseded DRs re-statused with `superseded_by`. Only DR-002
carried the field before, though the project's own template prescribes
it.
- M19: Home.md stated three wrong facts (latest DR, latest session, date)
— refreshed. Pillars.md and Systems_Index.md now carry warning banners:
both assert things the purges falsified, and Systems_Index still claims
to be "the accurate map of what exists in code today".
- L11: the 4 genuinely-broken wikilinks fixed (typo'd DR filenames). Zero
broken vault-internal links now.
- Session log written — the last three commits before today had none,
breaking the protocol's own bookend rule.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
71 lines
6.8 KiB
Markdown
71 lines
6.8 KiB
Markdown
---
|
||
tags:
|
||
- vision
|
||
- pillars
|
||
status: draft
|
||
updated: 2026-05-29
|
||
permalink: gamevault/01-vision/pillars
|
||
---
|
||
|
||
> [!warning] **AUDIT NOTE 2026-08-07 — parts of this page are stale and self-contradictory.**
|
||
> The 2026-08-06 audit found: the automation/persistent-base claims and the turret pillar describe a
|
||
> direction deleted by [[DR-051_Lantern_Realignment_Purge]] and [[DR-054_Audit_Purge_2026-08]]; and the
|
||
> page locks **soft auto-target in-arc** in one place and **soft auto-target CUT** in another. The CUT lock
|
||
> is the current one ([[DR-052_SoD_Facing_Underwater_Feel]] — manual aim is the SoD pillar). Treat
|
||
> [[Identity_Lantern]] as the live design and this page as pillars-plus-history until it is rewritten.
|
||
|
||
# Design Pillars & Locked Decisions
|
||
|
||
> The few non-negotiables every system must serve. Keep this short; promote only decisions that are truly locked.
|
||
|
||
> [!info] Direction: **LANTERN** (locked 2026-07-13, [[DR-048_Lantern_Adoption_Full_Pivot]]).
|
||
> The **mechanical pillars below still hold** (Unity DOTS + Netcode, server-authoritative, 2–4 co-op,
|
||
> skill-expression combat, persistent base, automation-as-progression). What changed is the **fiction + three
|
||
> subsystems**: the fiction is now [[Identity_Lantern]] (not the Awakening Engine); combat sharpens to
|
||
> **SoD-grade manual-aim skillshots** (the soft auto-target era ends); the world becomes a seed-pinned
|
||
> **pocket-graph** where **light is territory**; the build layer becomes suit-frames + cultured Sparks + wild
|
||
> mutations. See the LANTERN locked decisions at the bottom.
|
||
|
||
## Pillars
|
||
|
||
> **Combat is the primary verb; base + automation braid around it** (locked 2026-06-08, [[DR-028_Combat_Primary_Verb_Depth_First]]). The fusion of all three is the identity — but as ONE braided loop with a single primary verb, never three co-equal, independently-deep modes. Roadmap: [[Path_to_Fun]].
|
||
|
||
1. **Action-ARPG combat — the primary verb** — twin-stick, controller-first (Hades / Risk of Rain 2 / Deep Rock Galactic feel); **skill expression over stat-checks** (dodge, read-and-react, a real ability kit). The moment-to-moment the other pillars serve.
|
||
2. **Co-op base power fantasy — braids in** — 2–4 friends defend and grow a shared home base (V Rising / The Riftbreaker feel); the base is what you fight *for* and the siege's stakes.
|
||
3. **Automation as progression — braids in** — self-running production that makes what you fight *with* (charges / munitions / turrets / upgrades) and that sieges threaten; rewards setup, not grind (The Riftbreaker / Core Keeper).
|
||
4. **Server-authoritative & deterministic** — input-only clients, client prediction; the simulation is the source of truth. Co-op is non-negotiable, so every mechanic stays server-authoritative.
|
||
|
||
## Locked decisions
|
||
|
||
- **Tech stack:** Unity DOTS (Entities) + Netcode for Entities — server-authoritative, input-only clients, client prediction. Established [[2026-05-29_Project_Setup]].
|
||
- **Control (locked 2026-05-30):** WASD movement, controller-first, **directional / twin-stick aim** with soft auto-target in-arc. [[2026-05-30_M1_Player_Slice]]
|
||
- **Multiplayer (locked):** small co-op **2–4, client-hosted listen-server** (BinaryWorlds + in-proc IPC; not the experimental SingleWorld host mode), PvE.
|
||
- **World (locked):** persistent buildable **home base + instanced/procedural expeditions**. **Sharpened 2026-06-17 ([[DR-037_Procedural_Expedition_Spine_Two_Classes_Persistent_Meta]]):** the procedural **Expedition region is the required combat SPINE** (where the bulk of the fight happens); the **base is the persistent HUB that never resets** ("Mission-as-Sortie": Deep Rock Galactic / Cult of the Lamb). A "run" is a **re-seeded Expedition region in the SAME world**, not a new world or a base reset.
|
||
- **Automation (locked):** **progression accelerator** — self-running production chains; data model designed to grow toward full logistics.
|
||
- **Combat-primary + depth-before-breadth (locked 2026-06-08):** combat is the primary braided verb; **no new system until one braided loop is genuinely fun**, and every milestone ends with a play/fun-gate (not just green tests). [[DR-028_Combat_Primary_Verb_Depth_First]] · roadmap [[Path_to_Fun]].
|
||
- **Classes + persistent meta (locked 2026-06-17, [[DR-037_Procedural_Expedition_Spine_Two_Classes_Persistent_Meta]]):** **two classes** — **Warrior** (melee anchor) + **Ranger** (ranged, manually aimed — *not* auto-fire, which would break skill-expression). Class identity = the **primary-attack archetype**; run-acquired **meta-buffs ride the existing `StatModifier`/`TimedModifier` pipeline**. A **persistent meta-progression layer** (SaveData v6) funds permanent growth at the hub; run combat-buffs are run-scoped. **Reverses [[DR-031_Base_Mining_Loop_Cohesion]]'s expedition pause** (a real playtest — [[Scratch Notes 6152026]] — showed the single arena goes stale).
|
||
|
||
## LANTERN direction — locked decisions (2026-07-13, [[DR-048_Lantern_Adoption_Full_Pivot]])
|
||
|
||
These sit *on top of* the mechanical pillars above (which are unchanged). Full design: [[Identity_Lantern]];
|
||
roadmap: [[Roadmap_Lantern_Slice]].
|
||
|
||
- **The one rule:** *what the light holds, stays; what the dark holds, changes.* Applied to the world =
|
||
persistence; to the body = death; to the kit = builds; to the story = stakes.
|
||
- **World = seed-pinned pocket-graph** (light is territory). Permanence is spendable: lit pockets persist,
|
||
dark pockets re-knot. The hardest netcode problem — [[Lantern_World_Model_Spike]] (★review-first).
|
||
- **Combat feel = SoD-grade manual-aim skillshots** (telegraphs, dashes, cooldown kits; **soft auto-target
|
||
cut**). Suit-frames = chassis/class; **Sparks** (abilities-as-organs, cultured) graft into sockets; **wild
|
||
mutations** are the augment layer (paced thresholds, evaporate at homecoming, Tallow fix-slots).
|
||
- **Death = the split:** flame returns cheap (kit works within minutes); cargo + fixed mutations + raw organs
|
||
strand with the suit — recovery runs are optional value-runs, never mandatory kit-repair.
|
||
- **Session-only burn** (the Lamp burns only while a session runs — no offline punishment). **Hosting = Wicks
|
||
travel; worlds are saves** (Valheim contract). **Loss ceiling = pockets, never a shelf.**
|
||
- **The slice's falsifiable test:** *does pinning a pocket feel like winning, and does a stranded suit feel
|
||
worth a second descent?* — the only gate that matters.
|
||
|
||
## Related
|
||
|
||
- [[Identity_Lantern]] — the **operative fiction** these pillars now skin (co-op action-RPG; light-as-territory).
|
||
- [[Identity]] — the **prior** fiction (The Awakening Engine, Aether-colony sci-fi) — **superseded** as operative by [[DR-048_Lantern_Adoption_Full_Pivot]], kept as history/quarry. Skinned via [[DR-015_The_Awakening_Engine_Fiction_Adoption]] / [[DR-009_GameFeel_Identity_FirstBlood]] (amnesiac Sleeper / Echo / THEM · Aether cyan=ordered / orange=wild Blight).
|
||
- Decision records: `07_Sessions/_Decisions/` |