docs(wiki): add Triangle 1 fork, PC-as-NPC spec, expand Drin to Tier 2
Wave 3 deliverables: - Triangle 1 Hub Power Volume Escalation fork (#377): 3-path smuggler decision (escalate/stabilize/mediate), NPC state changes, ~41 dialogue lines - PC-as-NPC unified spec (#381): starting knowledge/relationship graphs, tell inversion, orientation monologue, 9-step conversion checklist, v0.1 smuggler + detective briefs (29 items each) - Drin Rosta Tier 2 expansion (#397): full 10-axis profile, 6 voice lines, formalized Triangle 2 + Triangle 5 roles Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,598 @@
|
||||
# PC-as-NPC Unified Specification
|
||||
|
||||
**Ticket:** #381 | **Priority:** High | **Sprint:** 3
|
||||
**Status:** v0.1 Draft
|
||||
**Blocks:** #383 (NPC-format briefs for both PCs), #401 (PC-as-NPC content authoring)
|
||||
**Blocked by:** #374 (Entity attributes -- smuggler role-perspective keys) [done]
|
||||
|
||||
**Decisions referenced:** D-027 (vertical slice), D-029 (population entanglement), D-032 (separate monologue pools), D-034 (THE FRIEND), D-035 (tag taxonomy), D-039 (wow moments), D-045 (PC-as-NPC in v0.1 scope)
|
||||
|
||||
---
|
||||
|
||||
## 1. Overview
|
||||
|
||||
### What Is PC-as-NPC?
|
||||
|
||||
When the player plays the smuggler, the detective exists as an NPC in the world. When the player plays the detective, the smuggler exists as an NPC. The other playable character is present, visible, on a routine, and known to NPCs -- but not player-controlled.
|
||||
|
||||
### Why It Exists
|
||||
|
||||
**Divergence Reveal (Wow Moment #4):** On second playthrough, the player enters the same room and sees their previous character walking around as an NPC. "I was only seeing HALF of this." The other character was there all along -- working, eating, moving through the district -- but the first-time player never knew who they were.
|
||||
|
||||
This is the payoff for the dual-lens design (D-027). Same district, same NPCs, same 30 minutes. Two completely different games. The PC-as-NPC is the physical proof that both perspectives coexisted.
|
||||
|
||||
### v0.1 Scope
|
||||
|
||||
- **2 PC-as-NPC conversions:** The Smuggler (as NPC, seen by the detective) and The Detective (as NPC, seen by the smuggler).
|
||||
- **~20-30 authored items per character** (D-029 Concept A): routine entries, dialogue lines, monologue triggers, relationship stubs, tell descriptions.
|
||||
- **Total PC-as-NPC content budget:** ~50-60 authored items across both characters.
|
||||
|
||||
### Core Constraint
|
||||
|
||||
The PC-as-NPC follows a **neutral behavioral path**. They do not make dramatic choices. Dramatic choices are player decisions -- those happen on the other playthrough. The PC-as-NPC's routine must be plausible, consistent with what the player does during their own playthrough, and unremarkable enough that a first-time player reads them as "just another NPC."
|
||||
|
||||
---
|
||||
|
||||
## 2. Starting Knowledge Graph
|
||||
|
||||
The starting knowledge graph defines what the PC-as-NPC knows about other NPCs at session start. This determines which NPCs the PC-as-NPC interacts with, how they greet people, and what access tiers they occupy in dialogue pools.
|
||||
|
||||
### Template
|
||||
|
||||
For each PC-as-NPC, define:
|
||||
|
||||
| Field | Description |
|
||||
|-------|-------------|
|
||||
| **Known NPCs** | Which NPCs the PC-as-NPC recognizes by name at session start |
|
||||
| **Known relationships** | Pre-existing bonds (colleague, friend, institutional contact) |
|
||||
| **Known facts** | Operational or institutional knowledge carried into the session |
|
||||
| **Unknown facts** | Critical gaps that prevent the PC-as-NPC from making informed decisions |
|
||||
|
||||
### Smuggler-as-NPC Starting Knowledge
|
||||
|
||||
The smuggler-as-NPC enters the session as a dock worker who has lived in Sova Transit District for years. They know the district, the people, and the ring.
|
||||
|
||||
| Category | Known | Unknown |
|
||||
|----------|-------|---------|
|
||||
| **Ring members** | Nils (coordinator), Kael (closest colleague), Voss (shift supervisor, takes a cut), Renn (courier), Devra (off-stage handler) | Detective's identity as investigator |
|
||||
| **Ring operations** | Routes (freight bay to service corridor to temp storage to bar back room), schedule windows (shift transitions create 20-minute gaps), cargo types (unlicensed lattice components, medical-grade neural replacements) | Full upstream supply chain beyond Sabel |
|
||||
| **Social network** | Kael (close colleague), Voss (tense superior), Lera (bar regular status), Naia (Kael's partner, known through Kael), Torek (ring-adjacent, known through bar) | Kael's exit attempt, Sera's unreported evidence, Naia's confidence in Sera |
|
||||
| **Institutional landscape** | Commission presence is minimal, Sera is a field tech (not investigator), district runs on informal trust | Detective's investigation mandate, manifest discrepancy flagging |
|
||||
|
||||
### Detective-as-NPC Starting Knowledge
|
||||
|
||||
The detective-as-NPC enters the session as a newly posted Commission Liaison Officer. Posted 3 days ago for routine compliance review (actual mandate: investigate freight irregularities).
|
||||
|
||||
| Category | Known | Unknown |
|
||||
|----------|-------|---------|
|
||||
| **Investigation targets** | Manifest discrepancies tied to Sova freight operations, names from case files: Voss (shift supervisor), Maret (freight scheduler), Drin (dock inspector) | Ring structure, ring membership, who is involved |
|
||||
| **Institutional contacts** | Sera Venn (Commission field tech, pre-existing friend from prior posting), Commission protocols and procedures | Local social dynamics, who trusts whom, community power structures |
|
||||
| **District geography** | The Terminal (logistics hub), The Last Shift (bar, social nexus), maintenance corridors (off-books access routes) | Smuggling routes, operational timing, which corridors are used for what |
|
||||
| **Social context** | Previous Commission liaison rotated out 3 months ago, district is wary of institutional authority | Smuggler's identity, Kael's role, Naia's connection to the ring through Kael |
|
||||
|
||||
---
|
||||
|
||||
## 3. Starting Relationship Map
|
||||
|
||||
Pre-existing relationships define how NPCs interact with the PC-as-NPC at session start. Each entry uses the 16-key EntityKnowledge format.
|
||||
|
||||
### Smuggler-as-NPC: Relationships with NPCs
|
||||
|
||||
| NPC | Relationship | RelationshipState | Access Tier | Trust Level | Notes |
|
||||
|-----|-------------|-------------------|-------------|-------------|-------|
|
||||
| **Kael Davan** | Close colleague, ring member | Friendly | insider, peer | trusted | 2 years of shared risk. Greet by first name. Comfortable physical proximity. |
|
||||
| **Voss** | Shift supervisor, ring-aware | Known | insider | reliable | Professional respect, low warmth. Smuggler knows Voss takes a cut. |
|
||||
| **Nils Davan** | Ring coordinator (off-stage) | Known | insider | reliable | Smuggler receives instructions from Nils via Devra. Knows Nils is Kael's brother. |
|
||||
| **Lera Sessik** | Bar owner, ring-aware | Friendly | insider | trusted | Regular at The Last Shift. Lera saves the smuggler's seat. |
|
||||
| **Renn** | Courier, ring member | Known | insider | reliable | Operational relationship. Smuggler knows Renn's routes. |
|
||||
| **Naia Tamm** | Kael's partner | Known | peer | reliable | Known through Kael. Occasional bar interaction. |
|
||||
| **Torek Lintar** | Bar regular, ring-adjacent | Known | peer | uncertain | Smuggler knows Torek's spending is conspicuous. |
|
||||
| **Maret Korr** | Freight scheduler | Known | insider | reliable | Hub colleague. Smuggler knows Maret handles scheduling. |
|
||||
| **Drin** | Dock inspector | Known | insider | reliable | Smuggler knows Drin is compromised (looks the other way). |
|
||||
| **Sera Venn** | Commission field tech | Known | public | uncertain | Smuggler recognizes Sera as Commission. Keeps distance. |
|
||||
|
||||
### Detective-as-NPC: Relationships with NPCs
|
||||
|
||||
| NPC | Relationship | RelationshipState | Access Tier | Trust Level | Notes |
|
||||
|-----|-------------|-------------------|-------------|-------------|-------|
|
||||
| **Sera Venn** | Pre-existing friend, institutional contact | Friendly | peer | trusted | Same background, transferred to Sova a year ago. Detective's social anchor. |
|
||||
| **Voss** | Person of interest (case file) | Known | authority | uncertain | Name from manifest discrepancy analysis. Shift supervisor with scheduling authority. |
|
||||
| **Maret Korr** | Person of interest (case file) | Known | authority | uncertain | Freight scheduler. Access to manifest data. |
|
||||
| **Drin** | Person of interest (case file) | Known | authority | uncertain | Dock inspector. Responsible for container verification. |
|
||||
| **Lera Sessik** | Bar owner (met through Sera) | Unknown/Known | public | uncertain | Sera mentioned the bar. Detective has visited once or twice. |
|
||||
| **Kael Davan** | Unknown dock worker | Unknown | public | N/A | Name might appear on a shift roster. No personal knowledge. |
|
||||
| **Naia Tamm** | Unknown | Unknown | public | N/A | No connection at session start. |
|
||||
| **Torek Lintar** | Known (Commission colleague) | Known | public | uncertain | Torek works Commission compliance. Detective knows the name. |
|
||||
|
||||
---
|
||||
|
||||
## 4. Reverse Knowledge (Bidirectional)
|
||||
|
||||
This is the critical insight (identified by Gestalt in the v0.1 Content Scoping Workshop): knowledge is bidirectional. The PC-as-NPC knows things about NPCs, AND NPCs know things about the PC-as-NPC. Both directions must be authored.
|
||||
|
||||
### Why Bidirectional Matters
|
||||
|
||||
If Kael knows the smuggler is reliable but the smuggler-as-NPC has no knowledge entry about Kael, the relationship is one-sided and feels artificial. If the detective-as-NPC walks through the district and no NPC reacts to the Commission presence, the world is dead. Reverse knowledge makes the PC-as-NPC feel embedded -- people have opinions about them, reference them in conversation, adjust behavior around them.
|
||||
|
||||
### NPCs' Knowledge of the Smuggler-as-NPC
|
||||
|
||||
| NPC | What They Know | EntityKnowledge Key Values | Behavioral Consequence |
|
||||
|-----|---------------|---------------------------|----------------------|
|
||||
| **Kael Davan** | Smuggler is a close colleague, ring member, reliable. Works the same shift. | `name: "[Smuggler Name]"`, `role: "dock worker"`, `faction: "ring member"`, `relationship_type: "close colleague"`, `trust_level: "trusted"`, `loyalty_assessment: "solid"` | Greets warmly. Shares operational updates. Relaxed body language around the smuggler. |
|
||||
| **Voss** | Smuggler handles cargo routing for the ring. Competent, reliable, doesn't cause problems. | `name: "[Smuggler Name]"`, `role: "dock worker"`, `faction: "ring member"`, `trust_level: "reliable"`, `loyalty_assessment: "dependable"`, `position_integrity: "solid"` | Professional interaction. Trusts smuggler with schedule information. |
|
||||
| **Lera Sessik** | Smuggler is a regular. Good customer, doesn't cause trouble. Knows the smuggler is ring-connected. | `name: "[Smuggler Name]"`, `role: "dock worker"`, `relationship_type: "regular"`, `trust_level: "trusted"` | Saves the smuggler's usual seat. Casual greeting. |
|
||||
| **Sera Venn** | Knows a dock worker by that name exists. No deeper knowledge. | `name: "[Smuggler Name]"`, `role: "dock worker"`, `trust_level: "uncertain"` | No particular reaction. Treats as one of many district workers. |
|
||||
| **Naia Tamm** | Kael's colleague. Seen at the bar with Kael. Friendly enough. | `name: "[Smuggler Name]"`, `role: "dock worker"`, `relationship_type: "partner's colleague"`, `trust_level: "reliable"` | Nods in greeting. Might ask if they've seen Kael. |
|
||||
|
||||
### NPCs' Knowledge of the Detective-as-NPC
|
||||
|
||||
| NPC | What They Know | EntityKnowledge Key Values | Behavioral Consequence |
|
||||
|-----|---------------|---------------------------|----------------------|
|
||||
| **Sera Venn** | Pre-existing friend. Same institutional background. Glad to have a familiar face on station. | `name: "[Detective Name]"`, `role: "Commission investigator"`, `faction: "Commission"`, `relationship_type: "friend"`, `trust_level: "trusted"` | Waves detective over at the bar. Shares district background. Introduces to regulars. |
|
||||
| **Voss** | New Commission presence. "That investigator." Makes Voss nervous but Voss keeps composure. | `name: "[Detective Name]"`, `role: "Commission liaison"`, `faction: "Commission"`, `trust_level: "suspicious"`, `risk_assessment: "moderate"` | Stiffens when detective enters the hub. Answers questions tersely. |
|
||||
| **Lera Sessik** | Commission person who comes to the bar with Sera. Outsider. Lera is polite but guarded. | `role: "Commission"`, `trust_level: "uncertain"`, `risk_assessment: "low"` | Serves drinks. Doesn't volunteer information. Watches how the detective interacts with regulars. |
|
||||
| **Kael Davan** | Knows there's a new Commission officer. Doesn't know the detective personally. Nervous about Commission presence generally. | `role: "Commission"`, `faction: "Commission"`, `trust_level: "suspicious"`, `risk_assessment: "moderate"` | Avoids eye contact. Doesn't initiate. If approached, gives polite minimum responses. |
|
||||
| **Maret Korr** | Commission liaison requesting manifest data. Institutional interaction only. | `name: "[Detective Name]"`, `role: "Commission liaison"`, `faction: "Commission"`, `trust_level: "uncertain"` | Cooperates professionally. Provides requested data. Slightly nervous. |
|
||||
| **Torek Lintar** | Commission colleague (compliance role). Recognizes the detective from institutional channels. | `name: "[Detective Name]"`, `role: "Commission investigator"`, `faction: "Commission"`, `trust_level: "reliable"` | Professional greeting. May comment on the district. |
|
||||
|
||||
---
|
||||
|
||||
## 5. Orientation Monologue
|
||||
|
||||
The first 60 seconds of gameplay establish who the player is, where they are, and what they care about. This is the emotional starting state -- the foundation that everything else builds on. These lines fire as the player gains control, before they take any action.
|
||||
|
||||
The orientation monologue is specific to the PLAYER character, not the PC-as-NPC. But it is included here because the orientation monologue must account for the PC-as-NPC's presence in the world. When the smuggler's monologue fires, the detective-as-NPC is already somewhere in the district. When the detective's monologue fires, the smuggler-as-NPC is already at the dock.
|
||||
|
||||
### Smuggler Orientation Monologue
|
||||
|
||||
The smuggler arrives at The Terminal for a morning shift. Operational awareness, protective instinct, comfort zone. The voice is terse, relational, sensory.
|
||||
|
||||
```
|
||||
Line 1: "Morning shift. Recycled air and cargo lubricant. Home sweet home."
|
||||
Line 2: "Kael's already at the dock. Good. The day's better when he's on shift."
|
||||
Line 3: "Transition window opens in fifty minutes. Standard run — nothing complicated."
|
||||
Line 4: "Just keep it clean. Keep it quiet. Another day."
|
||||
```
|
||||
|
||||
**Emotional payload:** Comfort, routine, protectiveness. The smuggler is at home. The world is manageable. The operational awareness runs in the background like breathing -- not anxious, just present. The player should feel settled before the first crack appears.
|
||||
|
||||
**What the monologue does NOT mention:** The detective. The smuggler has no reason to think about Commission investigators at minute zero. If the detective-as-NPC walks through the hub, the smuggler might notice ("Commission. Don't stare.") but that's a reactive observation, not an opening state.
|
||||
|
||||
### Detective Orientation Monologue
|
||||
|
||||
The detective enters the Sova Transit District for the first time (or nearly -- posted 3 days ago, still orienting). Institutional mandate, observational mode, isolation in unfamiliar territory. The voice is complete sentences, analytical, measured.
|
||||
|
||||
```
|
||||
Line 1: "Sova Transit District. Third day on station. The briefing said routine compliance review."
|
||||
Line 2: "The briefing is always wrong about something."
|
||||
Line 3: "Manifest discrepancies clustered around the freight hub. Start there. Watch the shift change."
|
||||
Line 4: "Good to know Sera's here. At least someone in this district speaks my language."
|
||||
```
|
||||
|
||||
**Emotional payload:** Isolation, professional caution, guarded optimism about Sera. The detective is an outsider. The district doesn't want them here. The player should feel the gap between institutional authority and social belonging.
|
||||
|
||||
**What the monologue does NOT mention:** The smuggler. The detective doesn't know the smuggler exists as a person of interest. The smuggler-as-NPC is one of many dock workers. If the detective-as-NPC sees the smuggler, there's no reason to flag them -- yet.
|
||||
|
||||
---
|
||||
|
||||
## 6. Agency Boundaries
|
||||
|
||||
### The Rule
|
||||
|
||||
The PC-as-NPC is NOT player-controlled. They follow a scripted routine. Their behavior must satisfy two constraints simultaneously:
|
||||
|
||||
1. **First playthrough plausibility:** A first-time player encountering the PC-as-NPC should read them as a normal NPC -- unremarkable, doing their job, part of the background social fabric.
|
||||
|
||||
2. **Second playthrough recognition:** A player who has already played as that character should recognize the PC-as-NPC's behavior as consistent with what they did on their own playthrough. "That's me. That's what I was doing."
|
||||
|
||||
### What the PC-as-NPC Does
|
||||
|
||||
| Behavior | Permitted | Example |
|
||||
|----------|-----------|---------|
|
||||
| **Follow routine** | Yes | Arrives at work, processes cargo, takes break, goes to bar after shift |
|
||||
| **Interact with known NPCs** | Yes | Greets Kael, checks in with Voss, orders a drink from Lera |
|
||||
| **Respond to player interaction** | Yes (limited) | If the player talks to the PC-as-NPC, they respond with public-tier dialogue |
|
||||
| **Exhibit baseline personality** | Yes | Smuggler-NPC is casual, uses first names. Detective-NPC is formal, observational. |
|
||||
| **Exhibit observable tells** | Yes | Smuggler-NPC checks corridors. Detective-NPC takes notes. (See section 8: Tell Inversion.) |
|
||||
|
||||
### What the PC-as-NPC Does NOT Do
|
||||
|
||||
| Behavior | Prohibited | Reason |
|
||||
|----------|-----------|--------|
|
||||
| **Make dramatic decisions** | No | Whether to escalate the ring, confront Kael, flip Drin -- these are player choices on the other playthrough |
|
||||
| **Initiate confrontations** | No | THE FRIEND arc is player-driven. The PC-as-NPC doesn't confront Kael or press Sera. |
|
||||
| **Change relationship states** | No | The PC-as-NPC's relationships with NPCs remain at their starting state throughout the session |
|
||||
| **Discover contradictions** | No | Contradiction discovery is a player experience. The PC-as-NPC doesn't observe Kael's corridor meeting or Sera's avoidance pattern. |
|
||||
| **React to triangle forks** | No | Triangle decisions are player-driven. The PC-as-NPC follows the neutral path regardless of fork state. |
|
||||
| **Break routine without cause** | No | Routine deviations are tells. The PC-as-NPC's routine should be stable and predictable. |
|
||||
|
||||
### The Neutral Path
|
||||
|
||||
The PC-as-NPC follows the **default behavioral path** -- the path of least drama. This is the version of the character who doesn't make bold choices. They show up to work, do their job, go to the bar, go home. They maintain relationships at their starting state. They don't escalate, confront, or investigate.
|
||||
|
||||
This is intentional. The dramatic version of the character is the PLAYER's version. The NPC version is the baseline -- the character before the player's choices reshape them.
|
||||
|
||||
**Design implication for second playthrough:** When the player recognizes the PC-as-NPC, they see the neutral version of themselves. "That's what I would have done if I hadn't gotten involved." The gap between the neutral path and the player's actual choices IS the narrative distance the player has traveled.
|
||||
|
||||
---
|
||||
|
||||
## 7. Authored Relationship Stubs
|
||||
|
||||
Pre-authored text for how NPCs talk about or react to the PC-as-NPC. These are short lines used in NPC dialogue pools, tagged for situations where the PC-as-NPC is referenced.
|
||||
|
||||
### About the Smuggler-as-NPC (What NPCs Say When the Detective Plays)
|
||||
|
||||
| NPC | Context | Line | Tag Notes |
|
||||
|-----|---------|------|-----------|
|
||||
| **Kael Davan** | When asked about dock workers | "The crew's solid. Good people. We look out for each other." | `access: [public]`, `trust: surface` -- Kael doesn't name the smuggler to an outsider |
|
||||
| **Kael Davan** | When pressed about specific colleague | "Just a dock worker. Does their shift, goes home. Not much to tell." | `access: [authority]`, `trust: surface` -- deflection under institutional pressure |
|
||||
| **Voss** | When detective asks about the shift crew | "Everyone's got their routine. No complaints from that crew." | `access: [authority]`, `trust: surface` -- institutional wall |
|
||||
| **Lera Sessik** | When detective mentions dock workers at the bar | "We get all sorts in here after shift. Working people. Tired, mostly." | `access: [public]`, `trust: surface` -- protective generality |
|
||||
| **Naia Tamm** | When talking about Kael's friends | "Kael's got good colleagues. They eat lunch together most days." | `access: [public, peer]`, `trust: surface` -- genuine, unguarded |
|
||||
| **Maret Korr** | When detective reviews crew records | "That name's on the morning shift roster. Standard cargo handling cert." | `access: [authority]`, `trust: surface` -- institutional data |
|
||||
| **Torek Lintar** | Overheard bar conversation | "Dock crew's always here after shift. The usual crowd." | `access: [public]`, `trust: surface` -- background noise |
|
||||
|
||||
### About the Detective-as-NPC (What NPCs Say When the Smuggler Plays)
|
||||
|
||||
| NPC | Context | Line | Tag Notes |
|
||||
|-----|---------|------|-----------|
|
||||
| **Kael Davan** | Noticing Commission presence | "There's someone new at the hub. Commission badge. Keep your head down." | `access: [insider]`, `trust: real` -- ring awareness, protective warning |
|
||||
| **Voss** | To smuggler during shift | "Commission liaison showed up this morning. Routine check, apparently. Just do your job normally." | `access: [insider]`, `trust: real` -- operational caution |
|
||||
| **Lera Sessik** | When smuggler arrives at bar | "Your Commission friend is here again. Came in with Sera." | `access: [insider]`, `trust: surface` -- coded language, "your" is ironic |
|
||||
| **Sera Venn** | Overheard at bar | "The new liaison? Standard posting. Nothing to worry about." | `access: [public]`, `trust: surface` -- Sera's deflection benefits the ring indirectly |
|
||||
| **Naia Tamm** | When smuggler sits near her | "Have you noticed the new person at the hub? Commission, someone said. Kael didn't seem happy about it." | `access: [peer]`, `trust: surface` -- innocent observation |
|
||||
| **Renn** | To smuggler during operations | "That investigator's been poking around manifests. Maret's sweating." | `access: [insider]`, `trust: real` -- ring operational intelligence |
|
||||
| **Maret Korr** | To smuggler in corridor | "The Commission officer requested last quarter's schedules. I gave them the clean set." | `access: [insider]`, `trust: real` -- complicity confirmation |
|
||||
|
||||
---
|
||||
|
||||
## 8. Tell Inversion
|
||||
|
||||
### The Principle
|
||||
|
||||
When the player IS the smuggler, they observe NPC tells (Kael checking his lattice, Sera leaving when Torek arrives). When the smuggler IS the NPC, the detective player should observe the smuggler-NPC's tells. Same tell system, inverted perspective.
|
||||
|
||||
The PC-as-NPC's tells are observable behavioral markers that the other player can read. These tells should feel natural on first playthrough ("just an NPC doing NPC things") and recognizable on second playthrough ("that's MY operational awareness").
|
||||
|
||||
### Smuggler-as-NPC Observable Tells (Seen by Detective)
|
||||
|
||||
These are what the detective player can observe about the smuggler-NPC. The detective's monologue system flags them according to the detective's analytical frame.
|
||||
|
||||
| Tell | Observable Behavior | When It Occurs | Detective Monologue (If Flagged) |
|
||||
|------|-------------------|----------------|--------------------------------|
|
||||
| **Corridor awareness** | Smuggler-NPC glances down corridors before entering. Brief pause at intersections. | Every transition between areas | "That dock worker checks the corridor before turning. Habitual. Military? Or just careful." |
|
||||
| **Shift-transition alertness** | Smuggler-NPC's movement pattern changes during shift transitions. More purposeful. Straighter route. | During 20-minute shift transition windows | "Movement pattern changed at shift change. More direct. Less idle. Interesting." |
|
||||
| **Security-proximity tension** | Smuggler-NPC's pace increases slightly when passing security checkpoints or Commission-tagged NPCs. | When near detective-NPC or other authority figures | "Slight acceleration past the checkpoint. Most people do it. But this one does it every time." |
|
||||
| **Ring member proximity** | Smuggler-NPC gravitates toward Kael, Renn, and other ring members during breaks. Tight social cluster. | Break periods, bar evenings | "Same three people at the same table. Every shift. Consistent social group." |
|
||||
| **Cargo attention** | Smuggler-NPC's gaze lingers on specific containers. Brief interaction with freight systems. | During work routine near flagged cargo | "That worker checked container 4471 twice. The same container that's in my manifest discrepancy file." |
|
||||
|
||||
### Detective-as-NPC Observable Tells (Seen by Smuggler)
|
||||
|
||||
These are what the smuggler player can observe about the detective-NPC. The smuggler's monologue system flags them according to the smuggler's operational awareness.
|
||||
|
||||
| Tell | Observable Behavior | When It Occurs | Smuggler Monologue (If Flagged) |
|
||||
|------|-------------------|----------------|-------------------------------|
|
||||
| **Note-taking habit** | Detective-NPC pauses after conversations. Brief lattice interaction (recording notes). | After talking to any NPC | "Commission officer just stood there after talking to Voss. Making notes. Not good." |
|
||||
| **Systematic movement** | Detective-NPC moves through the hub methodically. Covers areas in sequence, not randomly. | During hub exploration | "That investigator is working the hub section by section. Not browsing. Searching." |
|
||||
| **Manifest interest** | Detective-NPC spends time near freight terminals, scheduling boards, manifest access points. | During investigation routine | "Commission's parked at the manifest terminal again. Third time today." |
|
||||
| **NPC-watching** | Detective-NPC observes NPCs from a distance before approaching. Stands at sightline-advantaged positions. | Throughout the session | "They're watching. From the corner, where they can see the whole dock floor. Professional." |
|
||||
| **Sera connection** | Detective-NPC is frequently seen with Sera. Eats together at the bar. Comfortable proximity that other NPCs don't get. | Bar evenings | "The investigator and Sera again. Old friends? Or is Sera reporting to them?" |
|
||||
|
||||
---
|
||||
|
||||
## 9. Nine-Step Conversion Checklist
|
||||
|
||||
A practical tool for content authors converting a playable character into an NPC entity. Follow these steps in order.
|
||||
|
||||
### Checklist
|
||||
|
||||
**Step 1: Define the neutral path routine.**
|
||||
Write 5-7 routine entries covering a full day cycle (Morning, Afternoon, Evening, Night). The routine must be plausible as both "normal NPC behavior" (first playthrough) and "what I was doing" (second playthrough). No dramatic decisions. No confrontations. Just the default day.
|
||||
|
||||
- [ ] Morning routine entry (arrival, work start)
|
||||
- [ ] Work period entries (2-3 task-oriented activities)
|
||||
- [ ] Break/social entry (bar visit, meal, downtime)
|
||||
- [ ] Evening routine entry (wind-down, departure)
|
||||
- [ ] Verify routine is plausible for both playthrough perspectives
|
||||
|
||||
**Step 2: Build the starting knowledge graph.**
|
||||
List everything the PC-as-NPC knows at session start. Use the four categories: known NPCs, known relationships, known facts, unknown facts. The unknown facts are critical -- they define what the PC-as-NPC cannot react to.
|
||||
|
||||
- [ ] Known NPCs (by name)
|
||||
- [ ] Known relationships (type, trust level, access tier)
|
||||
- [ ] Known facts (operational, institutional, social)
|
||||
- [ ] Unknown facts (ensures no impossible knowledge)
|
||||
|
||||
**Step 3: Build the starting relationship map.**
|
||||
For each NPC the PC-as-NPC knows, write a full EntityKnowledge entry using the 16 canonical keys. This defines the bidirectional relationship state at session start.
|
||||
|
||||
- [ ] EntityKnowledge entry per known NPC (16 keys)
|
||||
- [ ] RelationshipState assignment (Unknown/Known/Friendly)
|
||||
- [ ] Access tier assignment (public/insider/authority/peer)
|
||||
|
||||
**Step 4: Author reverse knowledge entries.**
|
||||
For each NPC who knows the PC-as-NPC, write their EntityKnowledge entry ABOUT the PC-as-NPC. What do they know? What is their trust level? How does the PC-as-NPC's presence change their behavior?
|
||||
|
||||
- [ ] NPC-to-PC-as-NPC knowledge entries (per relevant NPC)
|
||||
- [ ] Behavioral consequences documented (how does knowing the PC-as-NPC change the NPC's behavior?)
|
||||
|
||||
**Step 5: Write the orientation monologue.**
|
||||
3-5 authored monologue lines for the PLAYER character's first 60 seconds. These establish emotional starting state. The orientation monologue must work in a world where the PC-as-NPC is already present but unremarked.
|
||||
|
||||
- [ ] 3-5 orientation monologue lines
|
||||
- [ ] Emotional baseline established (comfort/isolation/purpose)
|
||||
- [ ] PC-as-NPC's presence NOT mentioned (no reason to notice them yet)
|
||||
|
||||
**Step 6: Define agency boundaries.**
|
||||
Explicitly list what the PC-as-NPC does and does not do. Reference the neutral path. Confirm that no dramatic decisions, confrontations, or relationship state changes occur.
|
||||
|
||||
- [ ] Permitted behaviors listed
|
||||
- [ ] Prohibited behaviors listed
|
||||
- [ ] Neutral path confirmed (no dramatic choices)
|
||||
|
||||
**Step 7: Write authored relationship stubs.**
|
||||
2-3 dialogue lines per relevant NPC about the PC-as-NPC. These are how NPCs reference the PC-as-NPC in conversation with the player. Tag with appropriate access tier and trust level.
|
||||
|
||||
- [ ] 2-3 lines per relevant NPC
|
||||
- [ ] Access tiers assigned
|
||||
- [ ] Trust levels assigned
|
||||
- [ ] Lines tested for both first-playthrough plausibility and second-playthrough recognition
|
||||
|
||||
**Step 8: Design tell inversion.**
|
||||
3-5 observable behavioral tells for the PC-as-NPC. These are visible to the other player's character. Each tell should read as "normal NPC behavior" on first playthrough and "that's MY habit" on second playthrough. Write the observing character's monologue trigger for each tell.
|
||||
|
||||
- [ ] 3-5 observable tells defined
|
||||
- [ ] Monologue trigger text for each tell (from observing character's perspective)
|
||||
- [ ] Tells verified as plausible-but-notable
|
||||
|
||||
**Step 9: Count and validate authored items.**
|
||||
Total all authored items. Target: ~20-30 per PC-as-NPC. Verify nothing contradicts the neutral path. Verify no authored content gives the PC-as-NPC dramatic agency.
|
||||
|
||||
- [ ] Item count: routine entries (target: 5-7)
|
||||
- [ ] Item count: relationship stubs (target: 7-10 lines)
|
||||
- [ ] Item count: tell descriptions + monologue triggers (target: 5-10 lines)
|
||||
- [ ] Item count: public-tier dialogue lines for player interaction (target: 3-5)
|
||||
- [ ] Total within ~20-30 budget
|
||||
- [ ] Neutral path integrity verified
|
||||
- [ ] No dramatic agency violations
|
||||
|
||||
---
|
||||
|
||||
## 10. v0.1 PC Brief: The Smuggler (as NPC Seen by Detective)
|
||||
|
||||
### Identity
|
||||
|
||||
- **Display name:** [Smuggler Name] (dock worker)
|
||||
- **Color (detective's view):** Cool teal `#4a9ebb` (Unknown/Neutral) at session start. May shift to Warm amber `#e8c547` (Person of Interest) if detective flags cargo attention or ring-member proximity tells.
|
||||
- **Pattern:** N/A (PC-as-NPC has no NPC pattern -- they are a special entity type)
|
||||
- **Tier:** Equivalent to Tier 2 depth for content purposes
|
||||
|
||||
### Starting EntityKnowledge (Detective's Knowledge of Smuggler-NPC)
|
||||
|
||||
```rust
|
||||
EntityKnowledge {
|
||||
last_known_position: None, // not yet observed
|
||||
last_observed_tick: 0,
|
||||
last_updated_tick: 0,
|
||||
confidence: KnowledgeConfidence::Unknown,
|
||||
source: KnowledgeSource::None,
|
||||
state: KnowledgeState::Inactive,
|
||||
relationship: RelationshipState::Unknown,
|
||||
known_attributes: BTreeMap::new(), // empty at session start
|
||||
}
|
||||
```
|
||||
|
||||
The detective starts with zero knowledge of the smuggler-NPC. The smuggler is one of many dock workers. Knowledge accumulates through observation only.
|
||||
|
||||
**After first observation (passing in the hub):**
|
||||
|
||||
```rust
|
||||
EntityKnowledge {
|
||||
confidence: KnowledgeConfidence::KnowsOf,
|
||||
relationship: RelationshipState::Unknown,
|
||||
known_attributes: BTreeMap::from([
|
||||
("role".to_string(), "dock worker".to_string()),
|
||||
("faction".to_string(), "civilian".to_string()),
|
||||
("species".to_string(), "human".to_string()),
|
||||
("routine_pattern".to_string(), "morning shift at logistics hub".to_string()),
|
||||
]),
|
||||
}
|
||||
```
|
||||
|
||||
**After accumulated observation (multiple sightings, tell accumulation):**
|
||||
|
||||
```rust
|
||||
EntityKnowledge {
|
||||
confidence: KnowledgeConfidence::KnowsDetails,
|
||||
relationship: RelationshipState::Known, // or PersonOfInterest if tells flagged
|
||||
known_attributes: BTreeMap::from([
|
||||
("name".to_string(), "[Smuggler Name]".to_string()),
|
||||
("role".to_string(), "dock worker".to_string()),
|
||||
("faction".to_string(), "civilian".to_string()),
|
||||
("species".to_string(), "human".to_string()),
|
||||
("routine_pattern".to_string(), "morning shift 06:00-14:00, bar after shift".to_string()),
|
||||
("behavior_flags".to_string(), "corridor_checking,shift_transition_alertness".to_string()),
|
||||
("risk_assessment".to_string(), "low".to_string()), // or "moderate" if tells flagged
|
||||
("moral_weight".to_string(), "innocent".to_string()), // detective hasn't connected them yet
|
||||
]),
|
||||
}
|
||||
```
|
||||
|
||||
### Routine (Neutral Path)
|
||||
|
||||
| Phase | Time | Location | Activity | Observable By |
|
||||
|-------|------|----------|----------|---------------|
|
||||
| Morning | 05:45 | The Terminal (entrance) | Arrives. Checks schedule board. | Anyone at hub entrance |
|
||||
| Morning | 06:00-10:00 | The Terminal (dock floor) | Works cargo processing. Interacts with Kael, other dock workers. Standard freight handling. | Anyone on dock floor |
|
||||
| Break | 10:00-10:30 | The Terminal (break area) | Eats with Kael and Renn. Conversation. | Anyone in break area |
|
||||
| Afternoon | 10:30-14:00 | The Terminal (dock floor) | Afternoon work. Container routing. Schedule coordination with Voss. | Anyone on dock floor |
|
||||
| Transition | 14:00-14:20 | The Terminal (transition) | Shift ends. Cleans station. Briefly checks service corridor. | Anyone watching shift change |
|
||||
| Evening | 15:00-17:00 | The Last Shift (bar) | Drinks with Kael. Sits at regular table. Casual conversation with Lera. | Anyone in bar |
|
||||
| Night | 17:30 | Exits district | Goes home. Off-screen. | No one (departed) |
|
||||
|
||||
### Tells (Observable by Detective)
|
||||
|
||||
1. **Corridor check** -- Pauses at intersections, glances down corridors before entering. Frequency: every transition. Detective monologue: *"That dock worker checks the corridor before turning. Habitual. Military? Or just careful."*
|
||||
|
||||
2. **Shift-transition behavior change** -- Movement becomes more purposeful during the 14:00 transition window. Straighter route, fewer idle pauses. Detective monologue: *"Movement pattern changed at shift change. More direct. Less idle. Interesting."*
|
||||
|
||||
3. **Security proximity tension** -- Pace increases slightly when passing Commission-tagged NPCs or checkpoints. Detective monologue: *"Slight acceleration past the checkpoint. Most people do it. But this one does it every time."*
|
||||
|
||||
4. **Social clustering** -- Same group at breaks and at the bar. Kael, Renn, and the smuggler-NPC form a tight cluster. Detective monologue: *"Same three people at the same table. Every shift. Consistent social group."*
|
||||
|
||||
5. **Cargo attention** -- Gaze lingers on specific containers. Brief second interaction with freight system during routing. Detective monologue: *"That worker checked container 4471 twice. The same container that's in my manifest discrepancy file."*
|
||||
|
||||
### Dialogue (If Detective Talks to Smuggler-NPC)
|
||||
|
||||
The detective can approach and talk to the smuggler-NPC. The smuggler-NPC responds with public-tier dialogue only -- polite, guarded, unremarkable.
|
||||
|
||||
| Situation | Smuggler-NPC Line | Tag Notes |
|
||||
|-----------|-------------------|-----------|
|
||||
| Greeting (hub) | "Morning. Can I help you with something?" | `access: [public]`, `trust: surface`, `situation: [greeting]` |
|
||||
| Asked about work | "Cargo routing. Containers come in, I process them out. Standard stuff." | `access: [public, authority]`, `trust: surface`, `situation: [investigation]` |
|
||||
| Asked about the hub | "It's a freight hub. Busy during shifts, quiet after. Same as any logistics operation." | `access: [public]`, `trust: surface`, `situation: [social]` |
|
||||
| Asked about colleagues | "Good crew. We do our shifts, go home. Nothing exciting." | `access: [public, authority]`, `trust: surface`, `situation: [investigation]` |
|
||||
| Pressed on specifics | "Look, I just move containers. You'd want to talk to Voss about scheduling." | `access: [authority]`, `trust: surface`, `situation: [confrontation]` -- deflection |
|
||||
|
||||
### Authored Item Count
|
||||
|
||||
| Category | Count | Items |
|
||||
|----------|-------|-------|
|
||||
| Routine entries | 7 | Morning arrival, morning work, break, afternoon work, transition, bar evening, departure |
|
||||
| Relationship stubs (NPCs about smuggler) | 7 | Kael (2), Voss (1), Lera (1), Naia (1), Maret (1), Torek (1) |
|
||||
| Tell descriptions + monologue triggers | 10 | 5 tells x 2 (description + detective monologue line) |
|
||||
| Dialogue lines (smuggler-NPC speaks) | 5 | Greeting, work question, hub question, colleagues question, deflection |
|
||||
| **Total** | **29** | Within ~20-30 budget |
|
||||
|
||||
---
|
||||
|
||||
## 11. v0.1 PC Brief: The Detective (as NPC Seen by Smuggler)
|
||||
|
||||
### Identity
|
||||
|
||||
- **Display name:** [Detective Name] (Commission liaison)
|
||||
- **Color (smuggler's view):** Warm amber `#e8c547` (Person of Interest) from first sighting. The smuggler's operational awareness flags Commission presence immediately. Alternatively, cool teal `#4a9ebb` (Unknown) if the smuggler hasn't been warned yet, shifting to amber once Kael or Voss mentions the Commission presence.
|
||||
- **Pattern:** N/A (PC-as-NPC)
|
||||
- **Tier:** Equivalent to Tier 2 depth for content purposes
|
||||
|
||||
### Starting EntityKnowledge (Smuggler's Knowledge of Detective-NPC)
|
||||
|
||||
The smuggler may or may not know about the detective at session start. Two starting states, depending on when the ring's warning reaches the smuggler:
|
||||
|
||||
**Option A: Smuggler has been warned (default for v0.1)**
|
||||
|
||||
```rust
|
||||
EntityKnowledge {
|
||||
confidence: KnowledgeConfidence::KnowsOf,
|
||||
source: KnowledgeSource::Secondhand {
|
||||
via: EntityRef("voss"),
|
||||
},
|
||||
state: KnowledgeState::Active,
|
||||
relationship: RelationshipState::Known, // or PersonOfInterest
|
||||
known_attributes: BTreeMap::from([
|
||||
("role".to_string(), "Commission liaison".to_string()),
|
||||
("faction".to_string(), "Commission".to_string()),
|
||||
("species".to_string(), "human".to_string()),
|
||||
("risk_assessment".to_string(), "moderate".to_string()),
|
||||
("loyalty_assessment".to_string(), "hostile".to_string()), // institution vs ring
|
||||
("position_integrity".to_string(), "N/A".to_string()),
|
||||
("moral_weight".to_string(), "peripheral".to_string()),
|
||||
]),
|
||||
}
|
||||
```
|
||||
|
||||
**Option B: Smuggler not yet warned (first sighting triggers knowledge)**
|
||||
|
||||
```rust
|
||||
EntityKnowledge {
|
||||
// Empty until first observation or Kael/Voss warns the smuggler
|
||||
}
|
||||
```
|
||||
|
||||
### Routine (Neutral Path)
|
||||
|
||||
| Phase | Time | Location | Activity | Observable By |
|
||||
|-------|------|----------|----------|---------------|
|
||||
| Morning | 08:00 | The Terminal (entrance) | Arrives. Shows credentials to Voss. Reviews scheduling board. | Anyone at hub entrance |
|
||||
| Morning | 08:30-10:00 | The Terminal (offices) | Requests manifest data from Maret. Reviews freight records at terminal. | Maret, anyone near office area |
|
||||
| Late Morning | 10:00-11:30 | The Terminal (dock floor) | Walks the dock floor. Observes operations. Takes notes (lattice interaction). | Anyone on dock floor |
|
||||
| Midday | 11:30-12:30 | The Terminal (break area) / exit | Brief break. May leave hub to check district geography. | Anyone in break area |
|
||||
| Afternoon | 13:00-14:30 | The Terminal (offices) | Follow-up with Drin on inspection records. Cross-references manifests. | Drin, Maret, anyone near offices |
|
||||
| Evening | 16:00-18:00 | The Last Shift (bar) | Meets Sera. Sits together. Casual conversation. Observes room. | Anyone in bar |
|
||||
| Night | 18:30 | Exits district | Returns to temporary quarters. Off-screen. | No one (departed) |
|
||||
|
||||
### Tells (Observable by Smuggler)
|
||||
|
||||
1. **Note-taking pauses** -- After every conversation, the detective-NPC pauses and interacts with their lattice (recording notes). Brief but consistent. Smuggler monologue: *"Commission officer just stood there after talking to Voss. Making notes. Not good."*
|
||||
|
||||
2. **Systematic coverage** -- Moves through the hub in a methodical pattern. Section by section, not wandering. Smuggler monologue: *"That investigator is working the hub section by section. Not browsing. Searching."*
|
||||
|
||||
3. **Manifest station fixation** -- Returns to the manifest terminal repeatedly. Spends significant time reviewing data. Smuggler monologue: *"Commission's parked at the manifest terminal again. Third time today."*
|
||||
|
||||
4. **Observation positioning** -- Stands at corners and elevated positions with good sightlines over the dock floor. Watches before approaching. Smuggler monologue: *"They're watching. From the corner, where they can see the whole dock floor. Professional."*
|
||||
|
||||
5. **Sera proximity** -- Consistently gravitates toward Sera at the bar. Comfortable body language. Old-friends energy. Smuggler monologue: *"The investigator and Sera again. Old friends? Or is Sera reporting to them?"*
|
||||
|
||||
### Dialogue (If Smuggler Talks to Detective-NPC)
|
||||
|
||||
The smuggler can approach and talk to the detective-NPC. The detective-NPC responds with public-tier dialogue -- professional, measured, slightly formal.
|
||||
|
||||
| Situation | Detective-NPC Line | Tag Notes |
|
||||
|-----------|-------------------|-----------|
|
||||
| Greeting (hub) | "Good morning. Commission Liaison Office -- I'm conducting a routine compliance review." | `access: [public]`, `trust: surface`, `situation: [greeting]` |
|
||||
| Asked about purpose | "Standard review. Manifest reconciliation, scheduling compliance. Nothing unusual." | `access: [public]`, `trust: surface`, `situation: [social]` |
|
||||
| Asked about the district | "Only been here a few days. Seems like a well-run operation." | `access: [public]`, `trust: surface`, `situation: [social]` -- deliberate blandness |
|
||||
| Asked about Sera | "Ms. Venn? Colleague. We've worked in the same division." | `access: [public]`, `trust: surface`, `situation: [social]` -- professional deflection |
|
||||
| Pressed on investigation | "I appreciate the interest, but I'm sure you have cargo to route. I won't keep you." | `access: [public, authority]`, `trust: surface`, `situation: [confrontation]` -- polite dismissal |
|
||||
|
||||
### Authored Item Count
|
||||
|
||||
| Category | Count | Items |
|
||||
|----------|-------|-------|
|
||||
| Routine entries | 7 | Morning arrival, manifest review, dock observation, midday break, afternoon follow-up, bar evening, departure |
|
||||
| Relationship stubs (NPCs about detective) | 7 | Kael (1), Voss (1), Lera (1), Sera (1), Naia (1), Renn (1), Maret (1) |
|
||||
| Tell descriptions + monologue triggers | 10 | 5 tells x 2 (description + smuggler monologue line) |
|
||||
| Dialogue lines (detective-NPC speaks) | 5 | Greeting, purpose question, district question, Sera question, deflection |
|
||||
| **Total** | **29** | Within ~20-30 budget |
|
||||
|
||||
---
|
||||
|
||||
## Appendix A: Cross-Reference to Downstream Tickets
|
||||
|
||||
| Ticket | Title | How This Spec Feeds It |
|
||||
|--------|-------|----------------------|
|
||||
| #383 | NPC-format briefs for both PCs | Takes sections 10-11 as input. Expands routine entries into YAML format. Adds EntityKnowledge YAML entries. |
|
||||
| #401 | PC-as-NPC content authoring | Takes sections 7-8 as input. Authors the actual dialogue lines, monologue triggers, and relationship stubs in YAML format per content directory structure. |
|
||||
| #299 | Opening hook: smuggler first 5 minutes | Orientation monologue (section 5) provides the first 4 lines. |
|
||||
| #300 | Opening hook: detective first 5 minutes | Orientation monologue (section 5) provides the first 4 lines. |
|
||||
|
||||
## Appendix B: EntityKnowledge Key Reference
|
||||
|
||||
The 16 canonical keys used throughout this document (from `docs/wiki/knowledge/entity-attributes.md`):
|
||||
|
||||
| Category | Keys |
|
||||
|----------|------|
|
||||
| Identity | `name`, `role`, `faction`, `species` |
|
||||
| Social | `relationship_type`, `trust_level` |
|
||||
| Behavioral | `routine_pattern`, `behavior_flags` |
|
||||
| Leverage | `leverage_held`, `leverage_confidence` |
|
||||
| Investigation | `tell_observed`, `contradiction_flagged` |
|
||||
| Role-Perspective | `risk_assessment`, `loyalty_assessment`, `position_integrity`, `moral_weight` |
|
||||
|
||||
## Appendix C: Design Rationale
|
||||
|
||||
### Why ~20-30 items per PC-as-NPC?
|
||||
|
||||
Per D-029 Concept A, the other PC-as-NPC needs enough content to feel real but not so much that it competes with hand-authored NPCs like Kael or Sera (who get 70-100 lines each). The PC-as-NPC is a background presence -- important for the Divergence Reveal but not a major interaction target during normal play. 20-30 items gives enough for: a plausible routine, observable tells, minimal dialogue if the player approaches, and NPC chatter about the PC-as-NPC's presence.
|
||||
|
||||
### Why the neutral path?
|
||||
|
||||
The dramatic choices belong to the player. If the smuggler-NPC makes a dramatic decision (confront Kael, escalate the ring, cover for Drin), that contradicts the player's experience when they play the smuggler and make a different choice. The neutral path is the only version that is compatible with ALL possible player choices.
|
||||
|
||||
### Why tell inversion matters
|
||||
|
||||
Tell inversion is the mechanic that makes the Divergence Reveal (Wow Moment #4) work emotionally. On second playthrough, the player sees their own character's tells from the outside. "That's MY corridor check. That's MY note-taking habit." The recognition transforms an NPC observation into self-recognition -- a mirror moment that makes the dual-lens design visceral.
|
||||
|
||||
---
|
||||
|
||||
*Ticket #381 -- PC-as-NPC unified specification. v0.1 scope: 2 PC briefs (smuggler, detective). Blocks #383, #401.*
|
||||
+103
-20
@@ -1,47 +1,130 @@
|
||||
# Drin Rosta
|
||||
|
||||
**Tier 3 NPC** | Logistics Hub (The Terminal) | Flat
|
||||
**Tier 2 NPC** | Logistics Hub (The Terminal) | Mundane
|
||||
|
||||
---
|
||||
|
||||
## Essential Axes
|
||||
## Core Identity
|
||||
|
||||
### Want
|
||||
**Name**: Drin Rosta
|
||||
**Age**: 40
|
||||
**Role**: Maintenance tech + dock inspector, Sova Transit District Logistics Hub
|
||||
**System Origin**: Krenn System, Station Sova
|
||||
**Lattice Tier**: Baseline
|
||||
**Employer**: Sova Logistics Consortium
|
||||
|
||||
Stay out of trouble. Pay off the debt. Get through the shift.
|
||||
---
|
||||
|
||||
## 10-Axis Profile
|
||||
|
||||
### 1. Want
|
||||
|
||||
**Primary**: Clear the debt. Stop looking over his shoulder.
|
||||
|
||||
Drin is a maintenance tech who also handles dock inspections. He's competent at both. The problem is the gambling debt to Harek — a significant sum from the bar card games that Drin can't repay on his salary. The debt doesn't require Drin to do anything explicitly illegal. It just means Drin is slow during inspections of certain containers. He doesn't open them. He doesn't look hard. The ring has noticed this pattern and relies on it. Drin is compromised by omission, not commission.
|
||||
|
||||
### Routine
|
||||
**Secondary**: Return to when the job was just a job.
|
||||
|
||||
**06:00 - 14:00**: Day shift — maintenance rounds and scheduled dock inspections
|
||||
**10:30**: Break room, avoids Harek if present
|
||||
**14:00 - 16:00**: Post-shift — home or bar (card game nights, 2x per week)
|
||||
**Night**: Home, worrying about the debt
|
||||
Drin remembers the period before the debt. Maintenance rounds, dock inspections, clocking out, going home. The work was repetitive and that was fine. Drin liked the repetition. Now every inspection cycle carries a second calculation running underneath — which containers to skip, which bays to clear without looking, how to file a report that says nothing happened when something might have. He wants the old version of the job back. He doesn't know how to get there.
|
||||
|
||||
### Personality
|
||||
### 2. Secret / Vulnerability
|
||||
|
||||
**Quiet, methodical, avoidant.** Drin fixes things. Pipes, wiring, environmental systems, loading equipment. He's good with objects and bad with people. The gambling started as social bonding (card games at the bar) and became a trap. Drin doesn't talk about the debt, doesn't talk about the inspections, doesn't talk much at all. His silence is both personality and survival strategy.
|
||||
**Surface secret**: Gambling debt to Harek. Known to bar regulars, card game circle. Nobody thinks much of it — debts are common on Sova.
|
||||
|
||||
**Deep secret**: Drin's inspection negligence is being exploited by the ring. Drin understands that someone benefits from his looking the other way — containers move through his shifts without scrutiny and nobody complains. But he doesn't know the ring's structure, doesn't know Kael's role, doesn't know the scope of the operation his silence enables. He thinks it's smaller than it is.
|
||||
|
||||
**Vulnerability**: Compromised by omission. Drin never actively smuggled anything. He failed to inspect. The distinction feels meaningful to him and would not feel meaningful to an investigator. If confronted with the scale of what his negligence enabled, Drin's self-narrative collapses.
|
||||
|
||||
### 3. Relationships
|
||||
|
||||
**Harek Valde**: Debt holder, inadvertent coercer. Fear-based, asymmetric. Harek doesn't press aggressively — he keeps the debt active, invites Drin to card games, covers a round. The relationship is social on the surface and transactional underneath. Drin likes Harek personally, which makes the dynamic worse. It's hard to resent someone who buys you drinks and never explicitly threatens you. The ring noticed the power dynamic and exploits it without Harek fully understanding what he built.
|
||||
|
||||
**Arvo Voss**: Shift supervisor. Professional, strained. Voss needs Drin functional and quiet. Drin senses that Voss knows something about why the inspection negligence is useful but doesn't want to test that suspicion. They interact procedurally — shift handoffs, maintenance reports, inspection schedules. The professional distance is mutual and deliberate.
|
||||
|
||||
**Maret Korr**: Freight scheduler, colleague. Guilt-adjacent. Maret processes manifests. Drin knows his inspection reports feed into Maret's reconciliation workflow. He also senses — without proof — that Maret has noticed the reports are too clean. The discomfort is unspoken. Drin avoids extended interaction with Maret because her attention feels like scrutiny, even when it isn't.
|
||||
|
||||
### 4. Tolerance Threshold
|
||||
|
||||
**Low — already past breaking.** The compromise IS Drin's post-threshold state. He crossed the line the first time he filed an inspection report he knew was incomplete, and he's been living past the threshold ever since.
|
||||
|
||||
**What he tolerates**: The routine guilt. The mechanical compliance. Harek's passive leverage. Inspecting containers he knows he shouldn't clear and clearing them anyway. The daily rhythm of knowing and not acting.
|
||||
|
||||
**What breaks him**: Direct confrontation — the detective asking pointed questions about specific inspections. Escalating demands — if the ring asks Drin to do MORE than look away (actively falsify, handle cargo, participate). Harek pressing the debt publicly — rupturing the social fiction that the debt is just a card game thing between friends. Any of these collapses the distinction between omission and commission that Drin needs to function.
|
||||
|
||||
### 5. Daily Routine
|
||||
|
||||
**05:50**: Arrives at hub. Checks maintenance board for overnight issues.
|
||||
**06:00 - 10:00**: Maintenance rounds — environmental systems, loading equipment, pipe and wiring repairs. Drin moves through the facility with tools and purpose. This is the part of the job he still enjoys.
|
||||
**10:00 - 10:30**: Break room. Eats alone or with other maintenance crew. Avoids Harek if Harek is on-site. Avoids prolonged conversation with Maret.
|
||||
**10:30 - 14:00**: Dock inspections — scheduled bay checks, container verification, freight condition reports. This is where the compromise lives. Certain shifts, certain bays, certain containers get shorter inspections. Drin's timing on compromised inspections is measurably faster than his legitimate ones.
|
||||
**14:00 - 14:30**: Post-shift — files reports, updates maintenance log. The inspection reports are filed here. Clean. Complete. Unremarkable.
|
||||
**14:30 - 16:00**: Home, or bar on card game nights (2x per week).
|
||||
**Night**: Home. Worrying about the debt. Not sleeping well.
|
||||
|
||||
### 6. Information Inventory
|
||||
|
||||
**Knows**: Inspection schedule gaps — which bays, which shifts, which timing windows he's been "slow" on. Harek's debt amount and the social dynamics around it. That SOMEONE benefits from his negligence — containers move through his shifts without scrutiny and nobody complains about the results. Hub maintenance infrastructure in detail — access corridors, environmental systems, loading equipment condition.
|
||||
|
||||
**Doesn't know**: Kael's role in the ring. Ring organizational structure. The contraband itself (Drin doesn't open the containers, so he doesn't know what's inside). The detective's investigation. Pell's wavering. That Pell might approach him as an institutional contact — someone with inspection authority who could receive a report. Maret's private discrepancy log.
|
||||
|
||||
### 7. Contentment
|
||||
|
||||
**Very low.** Trapped. Drin remembers when the job was just maintenance — fixing things, inspecting things, filing reports that reflected what he actually saw. The gambling was supposed to be social. Card nights at The Last Shift, a few drinks, something to do after work that involved other people. Now every inspection is a moral compromise he can't talk about. The contentment axis reads as a man going through the motions of a life that stopped working months ago. He hasn't adjusted; he's just enduring.
|
||||
|
||||
### 8. Personality Traits
|
||||
|
||||
**Primary: Quiet / Avoidant** — Drin doesn't volunteer information, doesn't seek attention, doesn't engage in conversations he can't control. His silence is both personality and survival strategy. Before the debt, the silence was just who he was. Now it serves a function.
|
||||
|
||||
**Secondary: Methodical** — Drin fixes things. Pipes, wiring, environmental systems, loading equipment. He follows procedures, uses checklists, documents his work. The irony: his methodical nature makes the compromised inspections more visible by contrast. When Drin is thorough, he's very thorough. When he's not, the gap is measurable.
|
||||
|
||||
**Tertiary: Anxious (suppressed)** — The anxiety doesn't manifest as nervousness or fidgeting. It manifests as silence. Shorter responses. Fewer interactions. A man shrinking his social footprint so there are fewer opportunities to say the wrong thing. The anxiety is structural, not behavioral — it shapes what Drin avoids rather than what he does.
|
||||
|
||||
### 9. Tell System
|
||||
|
||||
| Tell | Trigger | Observable To |
|
||||
|------|---------|---------------|
|
||||
| **Route changes when Harek is present** | Harek on-site at the hub or arriving at the bar — Drin adjusts his path to avoid casual contact | Bar regulars, Detective (if tracking social dynamics), Smuggler (if observant) |
|
||||
| **Shorter inspection times on specific shifts** | Compromised inspections — Drin clears certain bays faster than his baseline rate | Maret (correlates with manifest discrepancies), Detective (if tracking inspection timing data) |
|
||||
| **Increased break frequency** | Stress response — Drin takes more breaks during shifts that include compromised inspections | Voss (tracks shift productivity), Resha (notices the pattern as a new hire learning routines) |
|
||||
| **Eye contact avoidance during compromised inspections** | Filing reports he knows are incomplete — Drin doesn't look at the person receiving the paperwork | Voss (if attentive), Detective (if observing the filing process) |
|
||||
|
||||
### 10. Skill Set
|
||||
|
||||
**Occupational**: Maintenance tech — environmental systems, pipe and wiring repair, loading equipment servicing, mechanical diagnostics. Dock inspection — container verification, freight condition assessment, safety compliance.
|
||||
**Combat tag**: **No**. Drin is not physical. If confronted, he retreats into silence and compliance.
|
||||
**Lattice capability**: Baseline.
|
||||
|
||||
---
|
||||
|
||||
## Voice Hint
|
||||
## Voice Sample
|
||||
|
||||
*"I just do maintenance. Inspections are part of the schedule. I run them by the book."* [Flat delivery, eye contact avoided]
|
||||
**Mood: Professional (baseline)**
|
||||
- *"Coupling on the Bay 4 loader is wearing. I'll flag it for replacement on the next maintenance cycle. Should hold until then."*
|
||||
- *"I just do maintenance. Inspections are part of the schedule. I run them by the book."*
|
||||
|
||||
---
|
||||
**Mood: Under pressure (Harek nearby, or debt-adjacent conversation)**
|
||||
- *"I'm fine. Busy shift. A lot of bays to get through before the afternoon handoff."*
|
||||
- *"Cards? I don't know. Maybe. I'll see how the week goes."*
|
||||
|
||||
## Function Note
|
||||
|
||||
Drin exists as the **compromised institutional node** in Triangle 2 (Worried Knowledge). Maret notices his clean inspection reports. Voss needs him functional. Harek holds the leverage. Pell (in Triangle 5) might approach Drin as an institutional contact — not knowing Drin is already under the ring's indirect control. Drin is the person where the legitimate system and the criminal system overlap, and neither works properly because of it.
|
||||
**Mood: Cornered (detective asking about inspections)**
|
||||
- *"My reports are filed. They're complete. If there's a question about a specific bay, I can pull the documentation. But I don't know what you're looking for that isn't already there."*
|
||||
- *"I inspect what's on the schedule. I file what I find. That's the job."*
|
||||
|
||||
---
|
||||
|
||||
## Dual-Lens Notes
|
||||
|
||||
**Smuggler**: Drin is a tool — compromised and reliable because of it. *"Drin's on inspection today. We're good."*
|
||||
**Smuggler**: Drin is a tool — compromised and reliable because of it. The ring doesn't interact with Drin directly; they don't need to. Harek's debt does the work. As long as Drin stays quiet and slow on the right shifts, the dock-side processing runs clean. The smuggler reads Drin as a solved problem — a cog that turns the right way without needing to be told. *"Drin's on inspection today. We're good. He doesn't ask questions and he doesn't open the wrong containers. Best kind of help — the kind that doesn't know it's helping."*
|
||||
|
||||
**Detective**: Drin is a data point — his inspection reports are too clean for the volume. *"The inspector — Drin. Maintenance tech pulling double duty. Reports are spotless. Nobody's reports are that spotless."*
|
||||
**Detective**: Drin is a data point — his inspection reports are too clean for the volume of freight he processes. A maintenance tech pulling double duty as dock inspector should have equipment failures, missed checks, variance in his reports. Drin's are spotless. That level of consistency in a high-throughput environment is itself an anomaly. The detective reads Drin not as corrupt but as a process that isn't performing correctly. *"The inspector — Drin. Maintenance tech pulling double duty. Reports are spotless. Nobody's reports are that spotless. Either he's the best inspector on the station or he's not inspecting."*
|
||||
|
||||
---
|
||||
|
||||
## Triangle Roles
|
||||
|
||||
**Triangle 2: Worried Knowledge (Maret - Drin - Voss)** — The compromised inspector. Drin is the institutional process that is supposed to catch irregularities, and his compromise means the process is hollow. Maret sees the output — inspection reports that are too clean — and files it as another data point in her growing suspicion. Voss needs Drin functional and quiet because Drin's cooperation (willing or not) is what makes the schedule manipulation possible. Drin sits between two people who need different things from him: Maret needs the truth (which Drin can't give without exposing himself), and Voss needs the silence (which Drin provides because the alternative is worse). Harek, outside the triangle, holds the leverage that keeps Drin compliant.
|
||||
|
||||
**Triangle 5: The Informant Question (Pell - Renn - Drin) [Cross-Template]** — The institutional contact who is already compromised. Pell is considering cooperation with authorities and might approach Drin as someone with inspection authority — a legitimate institutional figure who could receive information about irregularities. The irony is structural: the one person Pell might turn to for institutional protection is already under the ring's indirect control. If Pell approaches Drin, several things could happen. Drin might freeze (avoidant personality meets impossible situation). Drin might inadvertently warn the ring by behaving differently after the approach. Or Drin, confronted with the scope of what his negligence enables, might finally crack — and Pell's approach becomes the catalyst that breaks both of them free. The triangle's danger is that all three unraveling paths (Pell turns, Drin breaks, Renn's suspicion creates internal conflict) converge on the same question: what happens when the compromised system meets the desperate informant?
|
||||
|
||||
---
|
||||
|
||||
@@ -54,4 +137,4 @@ Drin exists as the **compromised institutional node** in Triangle 2 (Worried Kno
|
||||
|
||||
---
|
||||
|
||||
**Cross-References:** [Harek](harek.md), [Maret Korr](maret-korr.md), [Voss](voss.md), [Pell](pell.md)
|
||||
**Cross-References:** [Harek](harek.md), [Maret Korr](maret-korr.md), [Voss](voss.md), [Pell](pell.md), [Renn](renn.md)
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
| 7 | Maret Korr | Freight Scheduler | Hub | Tier 2 | WITNESS | SKEPTIC | Mundane | Worried Knowledge |
|
||||
| 8 | Resha Neven | New Hire Dock Worker | Hub | Tier 2 | CATALYST | CIVILIAN | Mundane | (Background tension, not formal triangle) |
|
||||
| 9 | Naia Tamm | Teacher (Kael's Partner) | Bar | Tier 2 | MIRROR | CIVILIAN | Mundane | Worried Partner |
|
||||
| 10 | Drin Rosta | Maintenance Tech | Hub | Tier 3 | SYSTEM | TURNCOAT | Flat | Worried Knowledge, Informant Question |
|
||||
| 10 | Drin Rosta | Maintenance Tech | Hub | Tier 2 | SYSTEM | TURNCOAT | Mundane | Worried Knowledge, Informant Question |
|
||||
| 11 | Sess Kolvur | Bartender | Bar | Tier 3 | ANCHOR | CIVILIAN | Flat | None |
|
||||
| 12 | Olin Tavren | Drifter / New Arrival | Bar | Tier 3 | CATALYST | CIVILIAN | Flat | Bar Tensions |
|
||||
| 13 | Renn Harsk | Courier | Ring + Hub | Tier 2 | THRESHOLD | OPERATOR | Entangled | Informant Question |
|
||||
@@ -27,11 +27,11 @@
|
||||
|
||||
**Entanglement breakdown**:
|
||||
- **Tier 1 (THE FRIEND)**: 2 NPCs (Kael, Sera) — 1 entangled, 1 mundane
|
||||
- **Tier 2**: 10 NPCs — 3 entangled (Devra, Renn, Pell), 7 mundane
|
||||
- **Tier 3**: 5 NPCs (Drin, Sess, Olin, Sabel, Tav) — all flat
|
||||
- **Tier 2**: 11 NPCs — 3 entangled (Devra, Renn, Pell), 8 mundane
|
||||
- **Tier 3**: 4 NPCs (Sess, Olin, Sabel, Tav) — all flat
|
||||
- **Off-Stage**: 1 NPC (Nils) — entangled
|
||||
|
||||
**Total**: 5 entangled (28%), 8 mundane (44%), 5 flat (28%). Off-stage NPC (Nils) adds entanglement without on-screen presence.
|
||||
**Total**: 5 entangled (28%), 9 mundane (50%), 4 flat (22%). Off-stage NPC (Nils) adds entanglement without on-screen presence.
|
||||
|
||||
---
|
||||
|
||||
@@ -55,6 +55,8 @@
|
||||
|
||||
**Tension**: Voss has positional authority but takes orders from Nils (via intermediaries). Kael is caught between shift supervisor (Voss) and ring coordinator (Nils, Kael's older sibling). Nils pushes for higher volume; Voss wants stability; Kael wants everyone to calm down.
|
||||
|
||||
**Volume Escalation Fork**: See [Triangle 1: Hub Power — Volume Escalation Fork](../triangles/triangle-1-hub-power.md) for the full smuggler decision fork (3 paths: escalate, stabilize, mediate), NPC state changes, detective observation consequences, and authored dialogue.
|
||||
|
||||
**Player relevance**:
|
||||
- **Smuggler**: Navigates this daily. Knows the resentments, smooths tensions.
|
||||
- **Detective**: Sees Voss's anxiety, doesn't know why. Kael is efficient, unremarkable. Doesn't know Nils exists initially.
|
||||
@@ -172,7 +174,7 @@ information if Pell turns loyal to ring
|
||||
- Kael Davan (Dock Worker, THE FRIEND) — ring member, smuggler's anchor
|
||||
- Maret Korr (Freight Scheduler) — worried, processes manifests
|
||||
- Resha (New Hire) — asks too many questions
|
||||
- Drin (Maintenance Tech) — flat, fixes things, notices things, says nothing
|
||||
- Drin (Maintenance Tech / Dock Inspector) — compromised, inspection negligence, says nothing
|
||||
- Torek Lintar (bridge to bar) — off-shift presence
|
||||
- Renn (bridge to ring) — courier, moves cargo
|
||||
- Harek (bridge to bar) — off-duty security, debt leverage on Drin
|
||||
@@ -242,7 +244,7 @@ information if Pell turns loyal to ring
|
||||
|
||||
---
|
||||
|
||||
### Tier 2 (Working Profile — Voss, Lera, Torek, Devra, Maret, Resha, Naia Tamm, Renn, Pell, Harek)
|
||||
### Tier 2 (Working Profile — Voss, Lera, Torek, Devra, Maret, Resha, Naia Tamm, Drin, Renn, Pell, Harek)
|
||||
|
||||
**Per NPC**:
|
||||
- 10-axis data (all axes populated)
|
||||
@@ -255,7 +257,7 @@ information if Pell turns loyal to ring
|
||||
|
||||
---
|
||||
|
||||
### Tier 3 (Sketch — Drin, Sess, Olin, Sabel, Tav)
|
||||
### Tier 3 (Sketch — Sess, Olin, Sabel, Tav)
|
||||
|
||||
**Per NPC**:
|
||||
- Essential axes only (Want, Routine, Personality)
|
||||
|
||||
@@ -0,0 +1,408 @@
|
||||
# Triangle 1: Hub Power — Volume Escalation Fork
|
||||
|
||||
**Triangle**: Voss - Kael - Nils
|
||||
**Fork Type**: Smuggler decision (3 paths, self-contained)
|
||||
**Trigger**: Nils's escalation demand via lattice message, delivered by Devra
|
||||
**Ticket**: #377
|
||||
**Decision Reference**: D-053 / A-17 (self-contained forks)
|
||||
|
||||
---
|
||||
|
||||
## 1. Triangle Overview
|
||||
|
||||
Triangle 1 is the hub's power structure under pressure. Arvo Voss (shift supervisor, 46) has positional authority on the floor but takes operational orders from Nils Davan (ring coordinator, off-stage) through intermediaries. Kael Davan (dock worker, 34, THE FRIEND) is caught between his boss and his older sibling. The triangle's resting tension: Nils pushes for higher volume, Voss wants stability, Kael wants everyone to calm down.
|
||||
|
||||
The Volume Escalation Fork activates this tension. Nils demands a double-volume shipment. The smuggler — positioned between all three — must decide how to handle it. The choice reshapes the triangle's internal dynamics and changes what the detective can observe, without altering what the detective ultimately discovers. All three paths lead to the ring. The fork changes **when** and **how**.
|
||||
|
||||
**NPCs involved**:
|
||||
- **Nils Davan** (Off-Stage, GHOST+HANDLER): Ring coordinator, Kael's older sibling. Present only through lattice messages.
|
||||
- **Arvo Voss** (Tier 2, SYSTEM+OPERATOR): Shift supervisor. Takes a cut from the ring. Terrified of escalation.
|
||||
- **Kael Davan** (Tier 1, FRIEND+OPERATOR): Dock worker. Caught between Nils and Voss. Secretly trying to exit the ring.
|
||||
- **Devra Talsen** (Tier 2, THRESHOLD+HANDLER): On-station coordinator. Delivers Nils's message to the smuggler.
|
||||
|
||||
---
|
||||
|
||||
## 2. Trigger: Nils's Escalation Demand
|
||||
|
||||
### Context
|
||||
|
||||
Minutes 5-10 of the vertical slice. Devra approaches the smuggler during a routine shift at the logistics hub. She has a lattice message from Nils. The next shipment is double volume. Nils needs more hands and wider timing windows. Voss has to adjust the shift schedule to create a bigger coverage gap. The smuggler is asked to help convince Voss — or handle the extra volume personally.
|
||||
|
||||
### The Lattice Message (Nils to Kael, relayed through Devra)
|
||||
|
||||
Nils's voice: direct, authoritative, strategic. Underneath the business tone, an occasional note of familial warmth toward Kael — not sentimentality, efficiency that happens to include affection.
|
||||
|
||||
> Kael. Next cycle, we're doubling the load. Two containers instead of one, same transit window. I've already confirmed with Sabel — the supply side is handled.
|
||||
>
|
||||
> I need Voss to widen the shift gap by forty minutes. Night transition, not day. Tell him it's temporary. Tell him whatever he needs to hear.
|
||||
>
|
||||
> Get your friend involved. The one who's good with routing. I trust your judgment on people, little brother — always have. But this shipment doesn't wait.
|
||||
>
|
||||
> The money's there. Enough for everyone to feel it. Voss gets his usual plus fifteen percent. You and your crew split the operational bonus.
|
||||
>
|
||||
> Don't let Voss talk himself out of this. He worries too much about things that haven't happened yet. We've run bigger loads through worse windows. This is manageable.
|
||||
>
|
||||
> I'll check in after transit. Stay sharp.
|
||||
|
||||
**Authoring notes**: "Little brother" is the familial note — warm, but embedded in operational language. Nils doesn't separate business from family; for him they're the same register. "I trust your judgment on people" is genuine and instrumentalizing simultaneously. The message is 6 lines of authored content (excluding the sign-off).
|
||||
|
||||
### Devra's Delivery
|
||||
|
||||
Devra approaches the smuggler at the hub, low voice, professional demeanor shifted to operational mode.
|
||||
|
||||
> *"Message from upstream. Nils wants to double the next run. He needs Voss to stretch the window — forty minutes, night shift transition. And he wants you on routing. Here."*
|
||||
|
||||
She passes the lattice message (or relays its contents verbally, depending on operational security context).
|
||||
|
||||
> *"Read it. Then we need to talk about Voss."*
|
||||
|
||||
---
|
||||
|
||||
## 3. The Decision Fork
|
||||
|
||||
The smuggler has three options. Each is self-contained within Triangle 1 — no cross-triangle cascade per D-053 / A-17.
|
||||
|
||||
---
|
||||
|
||||
### Path A: Side with Nils (Escalate)
|
||||
|
||||
**Decision trigger**: The smuggler agrees to help push the double shipment through. Convinces Voss to widen the window, takes on the extra routing work, follows Nils's plan.
|
||||
|
||||
#### NPC Responses
|
||||
|
||||
**Voss reaction** — resentful compliance, anxiety spiking:
|
||||
|
||||
> *"Forty minutes. You're asking me to leave a forty-minute hole in the night rotation. Do you know what that looks like to anyone paying attention?"*
|
||||
|
||||
> *"Fine. Fine. I'll move Drin to the south bay and pull Resha off overnight. But if this blows up, I was never part of this conversation."*
|
||||
|
||||
> *"Another 'adjustment.' Every cycle it's another adjustment. One day there won't be anything left to adjust."*
|
||||
|
||||
**Kael reaction** — relief mixed with unease:
|
||||
|
||||
> *"Nils got his way. Alright. At least the pressure's off for now — he won't be pinging me every hour."*
|
||||
|
||||
> *"You sure about this? Double volume through one window... that's a lot of containers to explain if someone's watching."*
|
||||
|
||||
**Nils follow-up message** (post-shipment, lattice):
|
||||
|
||||
> *"Clean run. Good work. Tell Voss he did fine — and tell him there's a bonus. People work better when they're not afraid."*
|
||||
|
||||
#### Detective Consequences
|
||||
|
||||
The investigation **accelerates**. Voss's anxiety produces observable disruption:
|
||||
|
||||
- Manifest discrepancies spike (Voss reworks schedules visibly, Maret notices).
|
||||
- Voss's behavior becomes erratic — clipped responses, avoidance of break room during ring operations, nervous schedule adjustments.
|
||||
- The detective reads organizational stress:
|
||||
|
||||
> *"Voss changed the night shift schedule. Third time this week. That's not workload management — that's someone covering ground."*
|
||||
|
||||
> *"Manifest revisions are up forty percent since last cycle. The shift supervisor is reprocessing more than the freight volume justifies."*
|
||||
|
||||
#### Mechanical Outcomes
|
||||
|
||||
| Attribute | Change |
|
||||
|-----------|--------|
|
||||
| `exposure_risk` | Increases globally for the ring |
|
||||
| `cover_integrity` (ring) | Drops to `"thin"` |
|
||||
| Voss `behavior_flags` | `"nervous,schedule_changes,evasive"` |
|
||||
| Voss `position_integrity` | `"thin"` |
|
||||
| Kael `behavior_flags` | Unchanged (pressure relieved) |
|
||||
| Wow moment #2 (Character's Eye) | Triggers **EARLIER** in timeline |
|
||||
|
||||
#### Smuggler Monologue
|
||||
|
||||
> *"Nils's money. Voss's schedule. My routing. Everybody's got their piece. ...Voss looked like he wanted to throw up when I told him."*
|
||||
|
||||
> *"More volume means more exposure. But Nils doesn't think about exposure — he thinks about throughput. And now I'm thinking like him."*
|
||||
|
||||
> *"Kael's breathing easier. That's something. One less thing eating at him."*
|
||||
|
||||
---
|
||||
|
||||
### Path B: Side with Voss (Stabilize)
|
||||
|
||||
**Decision trigger**: The smuggler backs Voss's position. Rejects or delays the double shipment. Tells Devra (or Nils through Devra) that the window can't support double volume without unacceptable risk.
|
||||
|
||||
#### NPC Responses
|
||||
|
||||
**Voss reaction** — surprised relief, cautious gratitude:
|
||||
|
||||
> *"You told him no? ...I didn't think anyone told Nils no."*
|
||||
|
||||
> *"Good. The schedule stays clean. Nobody has to explain anything to anyone. That's how it should work."*
|
||||
|
||||
> *"Just — don't expect him to forget this. Nils doesn't forget when people push back."*
|
||||
|
||||
**Kael reaction** — increased anxiety, family pressure redirected:
|
||||
|
||||
> *"Nils isn't going to like this. He'll go around us — straight to me. And I can't... it's harder when it's him asking directly."*
|
||||
|
||||
> *"You did the right thing. I think. But Nils is going to make this my problem now."*
|
||||
|
||||
**Nils follow-up message** (lattice, to Kael directly — the smuggler hears about it through Kael):
|
||||
|
||||
> *"Kael. Your friend made a decision. I respect that. But the shipment still needs to move. You and I need to talk about alternatives. Call me tonight."*
|
||||
|
||||
#### Detective Consequences
|
||||
|
||||
The investigation **slows**. The hub runs quiet. But Kael's internal pressure builds and produces different tells:
|
||||
|
||||
- Fewer manifest discrepancies (Voss's schedule stays clean).
|
||||
- Kael's distraction increases — more lattice checking, shortened conversations, visible tension from direct Nils pressure.
|
||||
- The detective reads personal stress, not organizational disruption:
|
||||
|
||||
> *"The hub's been quiet. But Kael — he's checked his lattice eleven times this shift. Expecting something. Or dreading it."*
|
||||
|
||||
> *"No schedule anomalies this cycle. The shift supervisor's relaxed. But the dock worker — Davan — something's pulling at him."*
|
||||
|
||||
#### Mechanical Outcomes
|
||||
|
||||
| Attribute | Change |
|
||||
|-----------|--------|
|
||||
| `exposure_risk` | Stays low (ring remains quiet) |
|
||||
| `cover_integrity` (ring) | Unchanged — `"solid"` |
|
||||
| Voss `behavior_flags` | `"reliable,punctual"` (baseline restored) |
|
||||
| Kael `behavior_flags` | Escalates faster: `"lattice_checking,distracted,evasive"` |
|
||||
| Kael `trust_level` (from Nils) | Drops — Nils applies pressure directly |
|
||||
| THE FRIEND contradiction | Hits **HARDER** (Kael under more personal strain, tells amplify) |
|
||||
|
||||
#### Smuggler Monologue
|
||||
|
||||
> *"Voss can breathe. The schedule's clean. ...So why do I feel like I just made this worse?"*
|
||||
|
||||
> *"Kael's been on his lattice all shift. Nils called him directly. I took the pressure off Voss and dropped it straight onto Kael."*
|
||||
|
||||
> *"I said no to protect the operation. But Kael's the one paying for it."*
|
||||
|
||||
---
|
||||
|
||||
### Path C: Mediate (Compromise)
|
||||
|
||||
**Decision trigger**: The smuggler proposes a middle ground — half the volume increase, phased across two shipments instead of one. Neither side gets what they want. The smuggler positions it as operational prudence.
|
||||
|
||||
#### NPC Responses
|
||||
|
||||
**Voss reaction** — temporarily calmed, skeptical:
|
||||
|
||||
> *"Half volume. Phased. ...That's something I can work with. Twenty minutes instead of forty. Tighter, but doable."*
|
||||
|
||||
> *"Don't tell me this is the new normal. One compromise turns into two, and then Nils is running double loads through my schedule anyway."*
|
||||
|
||||
**Kael reaction** — confused, uncertain:
|
||||
|
||||
> *"Half? Nils asked for double and you're offering half? He's going to think you don't trust him."*
|
||||
|
||||
> *"I don't know. Maybe it works. But Nils doesn't do 'maybe.' He does yes or no."*
|
||||
|
||||
**Nils follow-up message** (lattice, to Kael — cooler tone):
|
||||
|
||||
> *"Kael. Half volume, phased. Your friend's being careful. I can respect careful — up to a point. But careful doesn't move product, and product is what keeps everyone paid. We'll try it this way. Once. Then we revisit."*
|
||||
|
||||
#### Detective Consequences
|
||||
|
||||
The investigation reads **organizational confusion**. Mixed signals — some disruption, then quiet, then disruption again. The detective reads this accurately as internal disagreement:
|
||||
|
||||
> *"Something's off. Last night extra cargo, tonight normal. There's no pattern, and that's the pattern."*
|
||||
|
||||
> *"Inconsistent operational tempo. Either someone's experimenting with timing, or there's disagreement inside the operation."*
|
||||
|
||||
#### Mechanical Outcomes
|
||||
|
||||
| Attribute | Change |
|
||||
|-----------|--------|
|
||||
| `exposure_risk` | Moderate (some exposure, not full) |
|
||||
| `cover_integrity` (ring) | Slightly degraded: `"solid"` to `"thin"` (marginal) |
|
||||
| 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 |
|
||||
|
||||
#### Smuggler Monologue
|
||||
|
||||
> *"Split the difference. Half now, half later. Nobody's happy, but nobody's exposed. ...Nils is going to remember this."*
|
||||
|
||||
> *"Kael looked at me like I'd spoken a different language. Half. He doesn't understand half — his whole family runs on all-or-nothing."*
|
||||
|
||||
> *"Bought time. That's all this is. The second shipment's still coming, and Nils will be less patient when it does."*
|
||||
|
||||
---
|
||||
|
||||
## 4. NPC State Changes per Path
|
||||
|
||||
### Arvo Voss
|
||||
|
||||
| Attribute | Path A (Escalate) | Path B (Stabilize) | Path C (Mediate) |
|
||||
|-----------|-------------------|---------------------|-------------------|
|
||||
| `behavior_flags` | `"nervous,schedule_changes,evasive"` | `"reliable,punctual"` | `"cautious"` |
|
||||
| `position_integrity` | `"thin"` | `"solid"` | `"solid"` |
|
||||
| `trust_level` (from smuggler) | `"reliable"` | `"reliable"` | `"reliable"` |
|
||||
| `risk_assessment` (detective) | `"high"` | `"low"` | `"moderate"` |
|
||||
| `tell_observed` (detective) | `"nervous_schedule_adjustments,break_room_avoidance"` | (none new) | `"cautious_scheduling"` |
|
||||
| `moral_weight` (smuggler) | `"compromised"` | `"compromised"` | `"compromised"` |
|
||||
|
||||
### Kael Davan
|
||||
|
||||
| Attribute | Path A (Escalate) | Path B (Stabilize) | Path C (Mediate) |
|
||||
|-----------|-------------------|---------------------|-------------------|
|
||||
| `behavior_flags` | `"reliable,punctual"` (baseline) | `"lattice_checking,distracted,evasive"` (accelerated) | `"uncertain,distracted"` |
|
||||
| `trust_level` (from Nils) | `"trusted"` | `"uncertain"` (Nils pressures directly) | `"uncertain"` |
|
||||
| `risk_assessment` (smuggler) | `"low"` | `"moderate"` (visible strain) | `"moderate"` |
|
||||
| `loyalty_assessment` (smuggler) | `"solid"` | `"solid"` (but strained) | `"uncertain"` |
|
||||
| THE FRIEND arc timing | Normal pace | **Accelerated** (tells arrive sooner) | Normal pace |
|
||||
|
||||
### Nils Davan (off-stage, tracked through references)
|
||||
|
||||
| Attribute | Path A (Escalate) | Path B (Stabilize) | Path C (Mediate) |
|
||||
|-----------|-------------------|---------------------|-------------------|
|
||||
| `trust_level` (toward smuggler) | `"trusted"` (delivered results) | `"suspicious"` (defied directive) | `"uncertain"` (half-measure) |
|
||||
| Pressure vector | Through Voss (operational) | Through Kael (familial) | Through Kael (revisit demand) |
|
||||
| Follow-up action | Bonus payment, continued partnership | Direct contact with Kael, bypasses smuggler | One-cycle trial, second decision point |
|
||||
|
||||
### Smuggler (PC state)
|
||||
|
||||
| Attribute | Path A (Escalate) | Path B (Stabilize) | Path C (Mediate) |
|
||||
|-----------|-------------------|---------------------|-------------------|
|
||||
| `operational_trust` (from Nils) | High — reliable operator | Low — defiant | Moderate — cautious, untested |
|
||||
| `operational_trust` (from Voss) | Moderate — Voss complies but resents | High — smuggler protected Voss | Moderate — temporary reprieve |
|
||||
| Exposure position | Higher personal risk | Lower personal risk | Moderate, with deferred risk |
|
||||
| Follow-up fork | None (resolved) | None (resolved, but Kael strain) | **Yes** — second decision when Nils revisits |
|
||||
|
||||
---
|
||||
|
||||
## 5. Detective Observation per Path
|
||||
|
||||
The detective does not know the smuggler's choice. The detective observes consequences.
|
||||
|
||||
### Post-Escalation (Path A)
|
||||
|
||||
**Observable signals**: Manifest discrepancies spike. Voss's schedule revisions increase. Night shift personnel reassignments without clear operational justification. Voss avoids the break room during transition windows.
|
||||
|
||||
**Detective monologue**:
|
||||
|
||||
> *"Voss changed the night shift schedule. Third time this week. Two workers reassigned without explanation. The freight scheduler — Korr — she's noticed too. Her manifest revision rate is tracking his."*
|
||||
|
||||
> *"The shift supervisor is managing something that isn't on the schedule. Whatever it is, it's getting bigger."*
|
||||
|
||||
**Monologue implications**: The detective's investigation accelerates toward Voss as the institutional weak point. Voss becomes the thread to pull. The ring's operational footprint expands, making pattern detection easier.
|
||||
|
||||
### Post-Stabilize (Path B)
|
||||
|
||||
**Observable signals**: Hub runs quiet. No schedule anomalies. But Kael's personal behavior shifts — lattice checking increases, social interactions shorten, visible tension without an organizational cause.
|
||||
|
||||
**Detective monologue**:
|
||||
|
||||
> *"The hub's been quiet. But Kael — he's checked his lattice eleven times this shift. That's not work communication. That's someone waiting for something they don't want to arrive."*
|
||||
|
||||
> *"No schedule disruptions. No manifest flags. Everything's clean on paper. But the dock worker — Davan — he's carrying something. Personal? Professional? Filing it."*
|
||||
|
||||
**Monologue implications**: The detective's investigation slows on the institutional side but builds a behavioral case against Kael specifically. Kael's tells become the primary signal. When THE FRIEND contradiction arrives, it hits harder because the detective has already been watching Kael.
|
||||
|
||||
### Post-Mediate (Path C)
|
||||
|
||||
**Observable signals**: Inconsistent operational tempo. One night shows excess cargo movement; the next is normal. The detective reads this as internal disagreement or experimental timing.
|
||||
|
||||
**Detective monologue**:
|
||||
|
||||
> *"Something's off. Last night extra cargo, tonight normal. There's no pattern, and that's the pattern."*
|
||||
|
||||
> *"Inconsistent tempo. If someone's running an operation through this hub, they're either changing methods or arguing about them. Either way — disorganization is observable."*
|
||||
|
||||
**Monologue implications**: The detective reads organizational confusion. This provides a different kind of evidence — not volume (Path A) or personal behavior (Path B), but structural inconsistency. The detective infers internal disagreement within the operation, which is accurate.
|
||||
|
||||
---
|
||||
|
||||
## 6. Self-Containment Declaration
|
||||
|
||||
**This fork is self-contained within Triangle 1 (Hub Power: Voss - Kael - Nils).**
|
||||
|
||||
Per D-053 / A-17: Self-contained forks are independent decision state machines with shared NPC state. Triangle 1's outcome modifies Voss and Kael's behavioral attributes and does NOT gate Triangle 2 (Worried Knowledge), Triangle 3 (Bar Tensions), Triangle 4 (Worried Partner), or Triangle 5 (Informant Question).
|
||||
|
||||
**What crosses triangle boundaries**: NPC state changes are **observable** by other triangles' logic, but this is emergent, not scripted cascade. If Voss's `behavior_flags` change to `"nervous,schedule_changes,evasive"` (Path A), Triangle 2's Maret can observe this through normal NPC observation mechanics. But Triangle 2's fork (if one exists) is not gated on Triangle 1's outcome.
|
||||
|
||||
**What does NOT cross**:
|
||||
- Triangle 1's decision does not unlock or lock content in T2, T3, T4, or T5.
|
||||
- Triangle 1's decision does not modify NPCs outside the triangle (Maret, Lera, Sera, etc.) except through standard observation.
|
||||
- Triangle 1's decision does not alter the detective's investigation path — it alters the timing and observability of evidence, not its existence.
|
||||
|
||||
**Design principle**: The fork changes WHAT the detective sees first, not WHAT the detective discovers. All three paths lead to the ring. The smuggler's choice determines whether the detective arrives via institutional signals (Path A), personal behavioral tells (Path B), or organizational inconsistency (Path C).
|
||||
|
||||
---
|
||||
|
||||
## 7. Content Requirements
|
||||
|
||||
### Authored Lines Summary
|
||||
|
||||
| Content Type | Path A | Path B | Path C | Shared |
|
||||
|-------------|--------|--------|--------|--------|
|
||||
| Nils lattice message | -- | -- | -- | 6 lines (trigger message) |
|
||||
| Nils follow-up message | 1 line | 1 line | 2 lines | -- |
|
||||
| Devra delivery | -- | -- | -- | 2 lines (shared) |
|
||||
| Voss reaction dialogue | 3 lines | 3 lines | 2 lines | -- |
|
||||
| Kael reaction dialogue | 2 lines | 2 lines | 2 lines | -- |
|
||||
| Smuggler monologue | 3 lines | 3 lines | 3 lines | -- |
|
||||
| Detective monologue | 2 lines | 2 lines | 2 lines | -- |
|
||||
| **Subtotal** | 11 | 11 | 11 | 8 |
|
||||
|
||||
**Total authored lines**: ~41 lines across all paths and shared content.
|
||||
|
||||
### Nils Lattice Message (Shared — Trigger)
|
||||
|
||||
Written above in Section 2. Six lines of authored content in Nils's voice: direct, authoritative, strategic, with "little brother" as the familial note.
|
||||
|
||||
### Devra Delivery Dialogue (Shared)
|
||||
|
||||
Written above in Section 2. Two lines: the relay and the redirect to the Voss question.
|
||||
|
||||
### Voss Reaction Dialogue (Per Path)
|
||||
|
||||
**Path A** (3 lines): Anxiety about the forty-minute gap, resentful compliance, fatalistic observation about "adjustments."
|
||||
|
||||
**Path B** (3 lines): Surprised relief, cautious gratitude, warning about Nils's memory.
|
||||
|
||||
**Path C** (2 lines): Pragmatic acceptance of half-volume, skepticism about whether it stays at half.
|
||||
|
||||
### Kael Reaction Dialogue (Per Path)
|
||||
|
||||
**Path A** (2 lines): Relief that Nils's pressure is off, unease about double volume risk.
|
||||
|
||||
**Path B** (2 lines): Anxiety about Nils going directly to him, acknowledgment that it was the right call but at personal cost.
|
||||
|
||||
**Path C** (2 lines): Confusion about the half-measure, warning that Nils doesn't do compromise.
|
||||
|
||||
### Nils Follow-Up Messages (Per Path)
|
||||
|
||||
**Path A** (1 line): Praise, bonus confirmation, instruction to reassure Voss.
|
||||
|
||||
**Path B** (1 line): Cool acknowledgment, redirected pressure onto Kael, "we'll talk about alternatives."
|
||||
|
||||
**Path C** (2 lines): Measured response, "I can respect careful up to a point," one-cycle trial with implied revisit.
|
||||
|
||||
### Smuggler Monologue (Per Path)
|
||||
|
||||
**Path A** (3 lines): Operational satisfaction shadowed by Voss's visible fear; alignment with Nils's logic; noting Kael's relief.
|
||||
|
||||
**Path B** (3 lines): Voss protected but Kael exposed; recognition of transferred pressure; guilt about the cost to Kael.
|
||||
|
||||
**Path C** (3 lines): Bought time, not resolution; Kael's confusion; awareness that Nils will return with less patience.
|
||||
|
||||
### Detective Monologue (Per Path)
|
||||
|
||||
**Path A** (2 lines): Voss's schedule changes as institutional signal; manifest revision rate as data.
|
||||
|
||||
**Path B** (2 lines): Hub quiet but Kael's lattice activity as personal behavioral signal; clean paper vs. dirty behavior.
|
||||
|
||||
**Path C** (2 lines): Inconsistent tempo as organizational signal; disorganization as evidence.
|
||||
|
||||
---
|
||||
|
||||
## Cross-References
|
||||
|
||||
- [NPC Roster](../npcs/index.md) — Triangle 1 diagram and tension summary
|
||||
- [Kael Davan](../npcs/kael-davan.md) — THE FRIEND, full Tier 1 profile
|
||||
- [Arvo Voss](../npcs/voss.md) — Tier 2 profile, tell system, dual-lens notes
|
||||
- [Nils Davan](../npcs/nils-davan.md) — Off-stage profile, lattice message design
|
||||
- [Devra Talsen](../npcs/devra.md) — Tier 2 profile, message delivery role
|
||||
- [Entity Attributes](../knowledge/entity-attributes.md) — Canonical `known_attributes` keys referenced in state tables
|
||||
- [Monologue Guide](../authoring/monologue-guide.md) — Tag taxonomy, prerequisite format, voice discipline
|
||||
Reference in New Issue
Block a user