diff --git a/decisions/perception.md b/decisions/perception.md index fe54c84a4..7c5e4ae47 100644 --- a/decisions/perception.md +++ b/decisions/perception.md @@ -20,11 +20,10 @@ How the player observes and interacts with the world: camera, fog, line-of-sight - **Decision:** Camera is locked to the character at all times. No panning. Optionally rotates to character facing direction (player option, later version). - **Rationale:** Pannable camera breaks the information model - you become a surveillance drone, not a character. Locked camera reinforces "you ARE this person." Rotation with facing direction restores directional audio mapping (binaural becomes viable again) and creates a natural vision cone (front = detailed, peripheral = reduced, behind = blind). - **Vision cone model (physiological basis):** - - Forward: 120° arc (60° half-angle) — binocular overlap zone where both eyes converge, providing stereoscopic depth and high acuity. Full LOS range, full detail. - - Peripheral: extends to 200° arc (100° half-angle) — combined sensory awareness envelope. Beyond pure visual acuity (~120°), this represents the character's subconscious tracking of sound cues, movement in the corner of the eye, and ambient sensory input. Nothing supernatural — just the human awareness envelope. Reduced range, dimmer. The fog shader gradient (D-059) is aligned to this outer edge. - - Behind: ~160° blind arc — no sensory awareness without explicit cues. Fog / blind spot. You can be snuck up on. The monologue system (D-016) bridges this gap when the character's senses fire ("Footsteps behind me"). - - Physiological reference: human binocular field ~200° horizontal, binocular overlap ~120°, far peripheral limit ~100-105° per eye (NCBI Visual Fields NBK220). -- **Per-character cone configuration:** The physiological baseline (120° forward / 200° total / 160° blind) is the unaugmented human floor. Bionic implants, perception modes (D-017), and equipment modify these angles upward. A back-of-head optical implant might widen to 320° visible (tiny blind spot); an ANA-touched character might approach 360°. The `VisionConeConfig` struct is per-entity, not global — different characters can have different awareness envelopes simultaneously. This is gameplay parameter variation, not a protocol change: the wire format (D-020) carries the *result* of cone classification (which tiles are Forward/Peripheral), not the cone angles themselves. + - Forward: 120° arc (60° half-angle) — binocular overlap zone where both eyes converge, providing stereoscopic depth and high acuity. Full LOS range, full detail. Server sends only Forward tiles. + - Behind: 240° arc — not in the forward cone. Previously-explored tiles render with a light fog overlay (art and information preserved, just "not fresh"). The monologue system (D-016) bridges perceptual gaps when the character's senses fire ("Footsteps behind me"). + - Physiological reference: human binocular overlap ~120° (NCBI Visual Fields NBK220). +- **Per-character cone configuration:** The 120° baseline is the unaugmented human floor. Bionic implants, perception modes (D-017), and equipment widen the cone. A back-of-head optical implant might expand to 240°+; an ANA-touched character might approach 360°. `VisionConeConfig` is per-entity — different characters have different awareness envelopes. This is gameplay parameter variation, not a protocol change (D-020). - **Reference:** Hotline Miami's camera made that game terrifying with the same principle. - **v0.1:** Locked camera, no rotation. Vision cone still works on fixed-north map. Rotation deferred as player option. - **Raised by:** Team Leader (Jeroen). @@ -57,7 +56,7 @@ How the player observes and interacts with the world: camera, fog, line-of-sight - Higher: biononic thermal, enhanced spectrum, passive scanning - ANA-touched: pattern recognition across all feeds, predictive awareness - **Playstyle implications (Nigel):** Low-tech Guardian playthrough = survival horror (blind, relying on contacts and paranoia). Senator playthrough = information overload (cameras and tracking but drowning in data). Perception modes are playstyle selectors. -- **Vision cone modification:** Perception modes and bionic equipment can widen the vision cone beyond the unaugmented human baseline (D-015: 120° forward / 200° total). Examples: back-of-head optical implant → 320° visible arc; thermal overlay → omnidirectional heat signatures through walls; ANA-touched awareness → near-360° pattern recognition. Each mode modifies `VisionConeConfig` per-entity. The fog shader renders whatever the server classifies — no client-side awareness of cone angles. +- **Vision cone modification:** Perception modes and bionic equipment widen the vision cone beyond the unaugmented 120° baseline (D-015). Examples: back-of-head optical implant → 240°+ arc; thermal overlay → omnidirectional heat signatures through walls; ANA-touched awareness → near-360° pattern recognition. Each mode modifies `VisionConeConfig` per-entity. The fog shader renders whatever the server classifies — no client-side awareness of cone angles. - **v0.1:** Natural vision cone + basic audio indicators + insert minimap only. Additional modes are milestone features, each self-contained and modular. - **Engine implication:** Each perception mode is an observer query against the information boundary system ([D-010](architecture.md#d-010-multiplayer-ready-architectural-baseline) principle 2). Engine doesn't distinguish between eyes/thermal/camera - all are "given this sensor, what state is visible?" - **Raised by:** Team Leader (Jeroen) proposed thermal and camera hacking. Full team developed into perception mode framework. diff --git a/decisions/questions.md b/decisions/questions.md index 368f9609e..b7f0402e5 100644 --- a/decisions/questions.md +++ b/decisions/questions.md @@ -328,6 +328,13 @@ Tracked questions awaiting discussion or resolution. - **Source:** Generator Architecture Workshop (#562), Round 4. `docs/workshops/generator-architecture/workshop-outcomes.md` §Open Questions. - **Assigned to:** Gestalt + Miri +### Q-051: Speech bubble indicator over speaking NPCs +- **Status:** Open +- **Priority:** Low +- **Question:** Add a generic speech bubble icon above the head of any NPC that is currently speaking in a conversation. Consider reusing the per-character color coding from the dialogue log so the player can easily map speech bubbles to dialogue entries. +- **Context:** When multiple NPCs are nearby and the dialogue log is scrolling, it can be hard to tell who is speaking. A floating speech bubble icon (not the text itself — just the indicator) over the speaker's sprite would anchor dialogue to world position. Color-coding to match the dialogue log's per-character colors reinforces the mapping. +- **Assigned to:** Stig + Araminta + --- -*50 questions (12 resolved, 2 partially resolved, 36 open). Last updated: 2026-02-27 (Q-045 through Q-050 added — Generator Architecture Workshop #562; Q-046 resolved immediately by D-108)* +*51 questions (12 resolved, 2 partially resolved, 37 open). Last updated: 2026-02-27 (Q-051 added)*