Recognition chime timing (D-067), 5-bus audio architecture (D-068), audio dip profiles (D-069), confrontation as cognitive vulnerability (D-070), monologue chime placeholder strategy (D-071), universal conversation murmur (D-072), zone crossfade (D-073), hybrid audio generation (D-074). Amends D-038 scope, resolves Q-014. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
13 KiB
13 KiB
Open Questions
Tracked questions awaiting discussion or resolution.
Q-001: Game engine selection
- Status: Resolved → D-020
Q-002: Scope of v0.1 playable prototype
- Status: Map spec resolved (D-014). Remaining: mechanics, characters, interactions for minimum playable build.
- Assigned to: Full team
Q-003: Art direction / presentation style
- Status: Further resolved for v0.1 via Content Gap Analysis Workshop. Araminta's v0.1 Visual Grammar proposal covers: entity color palette (D-033), zone-specific color palettes (3 zones with hex values), fog rendering (4 states), monologue presentation spec, insert dual-character variants. Long-term art direction beyond v0.1 remains open.
- Remaining: Long-term art direction, sprite replacement timeline, full visual identity.
- Assigned to: Araminta (lead)
Q-004: One campaign spanning all eras or separate era scenarios?
- Status: Not yet discussed
- Context: Gore raised that Commonwealth Era and Void Era play very differently. Prototype focuses on pre-Starflyer War era.
- Assigned to: Gore, Miri to lead discussion
Q-005: Scale for prototype - locations, characters, factions
- Status: Partially scoped
- Early signal: Institute/Armstrong City hub, ~10-20 characters, Guardians + institutional + political factions
- Assigned to: Gestalt, Tyre, Miri
Q-006: Multiplayer or single-player only?
- Status: Resolved → D-009
Q-007: Target platform(s)
- Status: Not yet discussed
- Context: Team Leader has Linux background (Fedora). Cross-platform considerations?
- Assigned to: Tyre
Q-008: Licensing / distribution model
- Status: Not yet discussed
- Question: Open source? Free? Commercial? This affects engine choice and asset decisions.
- Assigned to: Team Leader
Q-009: Time system
- Status: Resolved → D-031
Q-010: Storyteller AI design
- Status: Not yet discussed
- Question: How does the Rimworld-style storyteller work? What are the pacing rules? How much structural randomness vs dramatic randomness?
- Assigned to: Gestalt, Nigel
Q-011: Character selection and playable characters
- Status: Not yet discussed
- Question: Which characters are playable in the prototype? How different are their starting positions? Can you play canon characters or only original ones?
- Assigned to: Miri, Paula
Q-012: Generation expansion method for dialogue
- Status: Open
- Question: How does the 4x generation expansion pass work? LLM-based, template-based, or rule-based? Affects how base lines are authored — LLM needs style-strong anchors; rules need substitution patterns.
- Assigned to: Gestalt, Mellanie
- Source: Content Gap Analysis Workshop (Mellanie R2)
Q-013: Line previewer temporal progression
- Status: Open
- Question: How does the line previewer (#193) handle THE FRIEND's multi-visit contradiction arc? Needs sequence mode to simulate interaction progression over multiple encounters.
- Assigned to: Gestalt, Dudley
- Source: Content Gap Analysis Workshop (Mellanie R2)
Q-014: Audio timing with monologue chime
- Status: Resolved → D-067
- Resolution: Chime fires at ONSET of cognitive delay, not completion. 300-400ms duration, overlapping delay start. Chime is "unresolved" — opens a question, doesn't answer one. Sequence: hear/sense → chime plays → 0.6s delay begins → monologue text during delay → blob transitions to D-033 color → recognition complete.
- Date resolved: 2026-02-16
Q-015: Generation expansion for THE FRIEND content
- Status: Open
- Question: Does the 4x generation expansion apply to THE FRIEND's custom lines, or are all ~70-100 lines per FRIEND hand-authored? Recommendation: no expansion on FRIEND lines — risk of flattening hand-crafted voice.
- Assigned to: Mellanie, Gestalt
- Source: Content Gap Analysis Workshop (Ozzie R2, Gestalt R2)
Q-016: Knowledge hierarchy for monologue prerequisites
- Status: Resolved → D-041
- Resolution: 4-level hierarchy:
Suspects < KnowsOf < KnowsDetails < Direct. Suspects = "something's off", gates initial investigation and vague monologue. KnowsOf = "X is involved in Y", gates topic-specific dialogue and peer-tier access. KnowsDetails = actionable detail, gates confrontation and secret-tier dialogue. Direct = currently in LOS, provides live position data. Maps to D-028 access tiers and D-035 prerequisite tags. - Date resolved: 2026-02-11
- Source: Knowledge Graph & Information Boundaries Workshop
Q-017: Triangle pressure threshold
- Status: Open
- Question: Triangles need a numeric pressure value that increases based on events. When it crosses a threshold,
confrontationsituation activates. What events increase pressure? What's the threshold? - Assigned to: Gestalt, Paula
- Source: Content Gap Analysis Workshop (Gestalt R2)
Q-018: Shadowcasting algorithm selection
- Status: Resolved → D-035
- Question: Which line-of-sight algorithm should be used? Symmetric shadowcasting (Albert Ford) vs recursive shadowcasting. Both are proven but differ in symmetry properties (symmetric: if A sees B, then B sees A) and implementation complexity. Requires benchmarking at 150x150 map scale with 30 entities to validate performance within 100ms tick budget.
- Context: D-011 mandates LOS shadowcasting for fog of perception. Architecture review identified this as unspecified (audit section 2.2). Critical for Sprint 2 perception pipeline.
- Assigned to: Tyre, Dudley
- Source: Architecture Review Audit 2026-02-11
Q-019: Entity ID stability strategy
- Status: Partially resolved → D-041
- Resolution: Server-side:
StableEntityIdcomponent +EntityRegistryresource provides bidirectionalStableId(u64) <-> Entitymapping. StableId assigned once at entity spawn, never changes, persists across save/load. Knowledge graphs reference StableId, not bevy Entity. Client-side mapping (Godot StableId -> scene node lifecycle) remains open. - Remaining: Client-side entity lifecycle management, scene node mapping strategy.
- Date partially resolved: 2026-02-11
- Assigned to: Tyre, Dudley (client-side portion)
- Source: Knowledge Graph & Information Boundaries Workshop
Q-020: Multi-entity collision resolution
- Status: Open
- Question: When two NPCs attempt to move to the same tile on the same tick, what is the resolution policy? Options: first-write-wins (deterministic with system ordering), both fail (conservative), priority-based (e.g., player > NPC, Active tier > Background tier).
- Context: D-012 defines tile collision. WalkabilityMap exists (server/src/simulation/movement.rs) but handles single-entity validation. Architecture review identified multi-entity collision as unspecified.
- Assigned to: Gestalt, Dudley
- Source: Architecture Review Audit 2026-02-11
Q-021: Tick budget overflow policy
- Status: Open
- Question: When a simulation tick exceeds the 100ms budget, what happens? Options: (1) slow down real-time and preserve determinism (tick completes fully before next), (2) skip ticks and break determinism, (3) cap work per tick and defer to next tick. Must align with D-010 principle 4 (deterministic simulation).
- Context: D-026 defines 100ms tick budget for Active tier at 10 tps. Architecture review consensus recommendation proposes "slow real-time, don't skip ticks." Needs formal decision.
- Assigned to: Tyre, Dudley
- Source: Architecture Review Audit 2026-02-11
Q-022: NPC pathfinding cache eviction
- Status: Open
- Question: With 80 Active-tier NPCs each caching ~3 pathfinding routes, the cache holds ~240 paths. What is the eviction policy? LRU? Time-based expiration? Fixed size per NPC? How are paths invalidated when walkability changes (doors lock, areas become restricted)?
- Context: Architecture review identified pathfinding as MEDIUM gap (audit section 2.2). Cache management needs specification regardless of algorithm choice.
- Assigned to: Tyre, Dudley
- Source: Architecture Review Audit 2026-02-11
Q-023: Debug visualization scope
- Status: Open
- Question: What information should the debug overlay display? Candidates: LOS rays, pathfinding waypoints, vision cones, information boundary tags (who knows what), tick timing breakdown, spatial partition grid cells. Dev-only tool, or accessible for mod development?
- Context: Architecture review (Troblum) identifies debug visualization as missing operational infrastructure. Needed for debugging perception system, information boundaries, and performance issues.
- Assigned to: Tyre, Stig
- Source: Architecture Review Audit 2026-02-11
Q-024: Gossip propagation timing
- Status: Open (preferred direction: queued)
- Question: When does NPC-to-NPC knowledge transfer occur? Two options: (1) Immediate during conversation — knowledge transfers instantly when two NPCs talk, more reactive but harder to predict. (2) Queued for routine intersection — knowledge transfers at scheduled meeting points (bar visits, shift changes), more predictable and player can exploit timing windows.
- Preferred direction: Queued approach aligns better with core gameplay. If gossip propagates at routine intersections, the player can observe NPCs meeting and predict information flow, time actions between intersection points to exploit windows of ignorance, and strategically attend/skip routine events to control what they overhear. Creates the "I need to be at the bar before shift change to see who talks to whom" mechanic. Immediate propagation makes gossip invisible and unpredictable; queued propagation makes it observable and exploitable, which is the design goal (D-010 principle 2, D-028 Layer 4).
- Context: Deferred to Sprint 3. Making this decision now without implementation experience would be premature. Gossip propagation is not in Sprint 2 scope (D-041).
- Assigned to: Gestalt, Tyre
- Source: Knowledge Graph & Information Boundaries Workshop (Gestalt Round 1)
Q-025: Knowledge graph cap and eviction strategy
- Status: Open
- Question: At what point does an NPC's knowledge graph need entry eviction? What is the eviction policy? Options: MAX_ENTITY_KNOWLEDGE constant (e.g., 100 entities), LRU by
last_observed_tick, lowest confidence first, hybrid approach. How are evicted entries handled — complete removal, or archival to "forgotten" state that can be refreshed? - Context: Memory budget analysis shows ~14 KB per NPC with 50 entities + 20 facts. At 80 Active NPCs this is ~1.1 MB, well within budget. However, long-running sessions or NPCs with high interaction rates could accumulate entries. Eviction policy affects gameplay: forgetting low-confidence rumors creates natural information decay; forgetting old observations simulates memory limits.
- Assigned to: Tyre, Dudley
- Source: Knowledge Graph & Information Boundaries Workshop (Dudley Round 1, section 8.3)
Q-026: Contradiction detection algorithm
- Status: Open
- Question: How exactly does the system detect that two knowledge entries contradict each other? Options: (1) Content-authored contradiction pairs (explicit markup in content files: "fact A contradicts fact B"), (2) Automatic same-subject different-value detection (algorithmic comparison of EntityKnowledge fields), (3) Hybrid (author-marked contradictions plus automatic location/state conflicts). How granular should contradiction detection be? Entity location only, or also attributes, relationships, facts?
- Context: THE FRIEND arc (D-034, D-039 wow moment #3) requires contradiction detection for emotional impact. The canonical example: Sera tells detective "Kael was at the dock during second shift" (ToldBy source), then detective observes Kael in corridor B-7 at that time (DirectObservation source). System must detect location contradiction, set both entries to Contradicted state, emit monologue event, and shift relationship to PersonOfInterest.
- Assigned to: Gestalt, Paula, Dudley
- Source: Knowledge Graph & Information Boundaries Workshop (Gestalt/Paula Round 1)
26 questions (3 resolved, 2 partially resolved, 21 open). Last updated: 2026-02-11