docs(copy): address PR #15 review feedback
Miri (critical): - Fix 3 stale "Hael" references in decisions/content.md (D-034, D-036) Paula (suggestions): - Flag dual-fire 15-30s delay as tuning target in smuggler moral arc - Clarify MIRROR NPCs can be wrong (lied to) without being dishonest - Add implementation note for Path C deferred follow-up fork - Note detective-NPC dialogue rotation variants for post-v0.1 - Clarify detective vs smuggler moral_weight criteria in entity attributes Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -52,8 +52,8 @@ How narrative, NPCs, and world content are created: content tiers, NPC generatio
|
||||
- **Date:** 2026-02-11
|
||||
- **Decision:** Each playable character has one "FRIEND" NPC — a production-level complex character that exercises every content and systems pipeline at full depth. THE FRIEND is the emotional centerpiece of v0.1 and carries D-027 success criterion #3 ("player names an NPC they felt conflicted about"). THE FRIEND follows a reusable pattern: 3+ relationship phases (warmth → trust → doubt → conflict), observable contradiction discoverable through observation not dialogue, sympathetic motivation, no clean resolution, dual-lens resonance, triangle integration, tell progression, and dialogue shift pre/post discovery.
|
||||
- **Assignments:**
|
||||
- **Smuggler's FRIEND: Kael Davan** — dock worker, ring member, smuggler's closest colleague. Contradiction: meeting with unknown contact in restricted corridor (trying to exit the ring to protect partner Hael). Exercises: full 10-axis model, multi-phase dialogue, tell system, named monologue, dual-lens notes.
|
||||
- **Detective's FRIEND: Sera Venn** — Commission field tech, bar regular, detective's social anchor. Contradiction: avoids Torek Lintar (sitting on unreported evidence about Kael's manifest discrepancies, protecting friend Hael). Exercises: institutional access + personal loyalty conflict, avoidance pattern as tell, trust-contamination arc.
|
||||
- **Smuggler's FRIEND: Kael Davan** — dock worker, ring member, smuggler's closest colleague. Contradiction: meeting with unknown contact in restricted corridor (trying to exit the ring to protect partner Naia). Exercises: full 10-axis model, multi-phase dialogue, tell system, named monologue, dual-lens notes.
|
||||
- **Detective's FRIEND: Sera Venn** — Commission field tech, bar regular, detective's social anchor. Contradiction: avoids Torek Lintar (sitting on unreported evidence about Kael's manifest discrepancies, protecting friend Naia). Exercises: institutional access + personal loyalty conflict, avoidance pattern as tell, trust-contamination arc.
|
||||
- **Content requirements per FRIEND NPC:** ~70-100 authored lines (25-35 dialogue, 15-20 trust-gated, 5-8 unprompted, 10-15 monologue per character, 5-8 tell observation, 3-5 contradiction discovery). No generation expansion — all hand-authored.
|
||||
- **Cross-reference:** NPC triangle model ([D-024](#d-024-npc-generation-model--10-axes--combat-component)), relationship web ([D-029](#d-029-population-entanglement-ratio--305020)), vertical slice criteria ([D-027](scope.md#d-027-vertical-slice--smuggler--detective-two-character-proof))
|
||||
- **Raised by:** Ozzie (emotional concept, Round 1), Paula (structural design and both FRIEND profiles, Round 2), project lead (confirmed, directive #4). Sera Venn confirmed by project lead over Mellanie's alternative proposal (Lera Sessik).
|
||||
@@ -87,7 +87,7 @@ How narrative, NPCs, and world content are created: content tiers, NPC generatio
|
||||
- **Date:** 2026-02-11
|
||||
- **Decision:** The v0.1 vertical slice is set in Sova Transit District, a freight logistics hub on Station Sova in the Krenn System. This is the first concrete, named star system in The Settled Reach. The Krenn System is a mid-Reach G3V system, ~180 years settled, population ~2.4 million, working-class pragmatic culture. Station Sova is a logistics hub (~12,000 population). Sova Transit District is a 40-year-old prefab-modular-retrofitted freight district with three social sites: The Terminal (logistics hub), The Last Shift (bar), and maintenance corridors/smuggling spaces.
|
||||
- **Setting details (canonical):**
|
||||
- NPC naming: Krenn System conventions — compact, consonant-heavy, first-name-primary in social contexts (Kael, Voss, Lera, Torek, Drin, Maret, Hael, Sera, Nils, Kosse, Naia, Pael, Tev, Ren)
|
||||
- NPC naming: Krenn System conventions — compact, consonant-heavy, first-name-primary in social contexts (Kael, Voss, Lera, Torek, Drin, Maret, Naia, Sera, Nils, Kosse, Pael, Tev, Ren)
|
||||
- Bar naming: "The Last Shift" (official), "Lera's" (informal, used by regulars)
|
||||
- Atmosphere: "quotidian-with-undertow" — comfortable enough to be complacent, tight enough that extra income is tempting
|
||||
- Sensory: span gate hum, industrial lubricant, recycled air, cargo machinery
|
||||
|
||||
@@ -26,6 +26,7 @@ THE MIRROR is the honest-character NPC pattern. No contradiction arc, no deep se
|
||||
| Absent System | Why Missing | Content Signal |
|
||||
|--------------|-------------|----------------|
|
||||
| **No tells** | Tells imply deception or concealment. MIRROR has nothing to conceal from the player (though they may be uninformed about events around them). The absence of tells IS the tell — when the player has learned to read behavioral flags on every other NPC, encountering someone without them is the anomaly. | The player's monologue might note: "No hesitation. No evasion. Either she's telling the truth or she's the best liar I've ever met." The absence becomes noticeable. |
|
||||
| **No dishonesty ≠ no misinformation** | MIRROR NPCs can be *wrong* without being *deceptive*. A MIRROR who has been lied to will repeat that lie in good faith -- they are transparent about what they believe, not omniscient about what is true. Naia reporting "Kael said he's picking up extra shifts" is honest transmission of a lie she was told. | The player recognizes the MIRROR is being used as an unwitting conduit. This makes the liar's deception feel worse, not the MIRROR's honesty feel cheaper. |
|
||||
| **No secrets** (or only mundane surface-level ones) | The `secret_held` field is empty or contains only ordinary privacy (e.g., "worried about partner's late nights" — visible to anyone observant). No trust gates that reveal hidden criminal knowledge or conspiracies. | If a MIRROR has a "secret," it's one they'd share with a sympathetic stranger at a bar. There's no revelation moment where the player discovers the MIRROR was hiding something all along. |
|
||||
| **No contradiction arc** | No phases, no discovery moment, no color shift from green to amber. The relationship with MIRROR is stable across the session. | The trust level may deepen (public → insider → peer), but there's no betrayal moment. The MIRROR you meet at minute 5 is the same MIRROR at minute 25. |
|
||||
| **No trust-gated dialogue that changes the picture of who they are** | Trust progression reveals more FEELING, not more SECRETS. Deeper access tiers show emotional vulnerability, not concealed information. | At `public` tier: "I'm worried about Kael." At `peer` tier: "I don't know what to do. I love him, but I can't keep living like this." Same truth, deeper emotion. |
|
||||
|
||||
@@ -555,6 +555,8 @@ The smuggler can approach and talk to the detective-NPC. The detective-NPC respo
|
||||
| Dialogue lines (detective-NPC speaks) | 5 | Greeting, purpose question, district question, Sera question, deflection |
|
||||
| **Total** | **29** | Within ~20-30 budget |
|
||||
|
||||
> **Post-v0.1 note:** 5 public-tier lines may feel thin on replay when the player already knows the detective's real purpose. Consider adding 2-3 rotation variants per situation in a future content pass -- same tag structure, different phrasing -- so the detective-NPC doesn't repeat identical lines across playthroughs.
|
||||
|
||||
---
|
||||
|
||||
## Appendix A: Cross-Reference to Downstream Tickets
|
||||
|
||||
@@ -253,6 +253,8 @@ When the smuggler discovers Kael's unauthorized contact (the FRIEND contradictio
|
||||
1. FRIEND line: *"Kael? In the corridor? Who the hell is that with him?"* (immediate)
|
||||
2. Moral-arc line: *"He's trying to get out. And I'm the reason he needs to."* (15-30 second delay)
|
||||
|
||||
**Tuning target:** The 15-30 second delay is a content-side estimate. If both lines fire too close together, they feel like one event rather than a realization arriving after the shock. If too far apart, the emotional connection breaks. Playtesting should calibrate the exact delay -- flag for QA during integration.
|
||||
|
||||
The second line only fires if the smuggler is in Phase 2 (Doubt) or later. If still in Phase 1 (Comfort), only the FRIEND line fires -- the smuggler has not yet developed the moral lens to process the observation as self-implication.
|
||||
|
||||
---
|
||||
|
||||
@@ -263,6 +263,8 @@ These four keys capture the observer's subjective assessment of the target throu
|
||||
|
||||
**Usage**: Shapes the observer's moral arc and internal conflict. Monologue tone shifts when the observer assigns moral weight — guilt, justification, and rationalization are driven by this key. The Comfort-Doubt-Reckoning-Compromise arc references `moral_weight` to determine which phase the observer occupies relative to specific NPCs.
|
||||
|
||||
**Archetype note**: Both smuggler and detective use `moral_weight` with the same enum values but different criteria. The smuggler assesses complicity in the ring's operations ("how dirty are their hands?") — see [Smuggler Moral Arc](../../design/smuggler-moral-arc.md). The detective assesses culpability in the crime ("how responsible are they for the harm?"). Same scale, different lens. A smuggler might mark Drin as `"compromised"` (dragged in, not choosing) while the detective marks Drin as `"complicit"` (he knew and did nothing). The detective's moral arc spec is unwritten in v0.1 but follows the same key.
|
||||
|
||||
---
|
||||
|
||||
### Archetype Interpretation Note
|
||||
|
||||
@@ -217,7 +217,9 @@ The investigation reads **organizational confusion**. Mixed signals — some dis
|
||||
| Smuggler `operational_trust` (from Nils) | **Drops** — Nils loses confidence in the smuggler |
|
||||
| Voss `behavior_flags` | `"cautious"` (mild stress, manageable) |
|
||||
| Kael `behavior_flags` | `"uncertain,distracted"` |
|
||||
| Second decision point | **Creates a follow-up fork** later in timeline |
|
||||
| Second decision point | **Creates a follow-up fork** later in timeline (see implementation note below) |
|
||||
|
||||
> **Implementation note:** Path C's deferred second decision point (when Nils revisits after the one-cycle trial) requires a follow-up fork that is **not specified in this document**. Options: (1) scope the follow-up fork as a separate ticket for v0.1, (2) let the trial period expire unresolved within the v0.1 timeline, treating the unresolved tension as authored ambiguity. The self-containment rule (Section 6) applies -- this deferred fork must not gate other triangles.
|
||||
|
||||
#### Smuggler Monologue
|
||||
|
||||
|
||||
Reference in New Issue
Block a user