Player Dialogue & Thoughts

This system allows the player to express internal thoughts, spoken reactions, and context-aware dialogue in response to game events, driven by LLM prompts. It blends narrative depth with character voice, enabling SkyrimNet to act like a true interactive roleplay engine. This system, depending on user settings and preferences turns your character into a blend of someone you control but that can also display a degree of creative and autonomous responses, inside the decisions you make and the personality you set.
✅ Core Concepts
1. Player Dialogue
- Direct dialogue spoken by the player character. (either by text input or using speech-to-text, like open ai.whisper)
- Can be manually initiated or generated in response to gameplay events.
- Often injected into conversation trees or scene interactions.
2. Player Thoughts
- Internal monologue generated by the LLM.
- Not voiced aloud (unless overridden); shown as thoughts in logs or text.
- Driven by the
"thought"response type in config. - Uses the
Player Thoughtsvirtual entity (voice, location, behavior can be customized).
3. Player Reactions
- Autonomous responses to gameplay events.
- Can be either:
thought(internal)audible(spoken)
- Triggered by configurable event types like
combat,book_read, ordeath.

you can add additional already registered events to the default listing, by using the add entry button. Enabling them, allowing automatic reactions, setting the reaction as a thought or audible speech and choosing a specific cooldown for them.
⚙️ Configuration Overview
🔩 System Enabled
- Global toggle for all autonomous player thoughts and reactions.
- If disabled, no reactive thoughts or internal monologues will be generated.
🧩 Autonomous Response Events
Each event includes:
| Field | Description |
|---|---|
Event Type | What triggers the reaction (e.g., book_read, combat, crime) |
Enabled | Whether the response is active |
Response Type | thought (internal) or audible (spoken aloud) |
Probability | Chance (0.0 to 1.0) that a reaction will occur |
Cooldown | Minimum time between this event type’s responses |
✅ Example Settings:
| Event | Response Type | Probability | Cooldown (s) |
|---|---|---|---|
book_read | thought | 1.0 | 300 |
combat | thought | 0.8 | 120 |
crime | thought | 0.6 | 90 |
death | audible | 1.0 | 300 |
dragon_soul | thought | 1.0 | 30 |
hit | audible | 0.1 | 90 |
🎭 Virtual Entities
Used to distinguish voices, locations, and narrative context for different types of AI-driven outputs.
| Entity Name | Voice ID | Location | Purpose |
|---|---|---|---|
Game Master | malecommoner | Meta Space | World controller, narrative injection |
Narrator | dlc1seranavoice | Omniscient Space | Descriptive narration or transitions |
Player Thoughts | playervoicefemale01 | Player's Mind | Internal monologue of the player |
System Voice | femaleeventoned | System Space | Optional meta/system messages |
🧠 How It Works (Internally)
- Event fires (e.g., player enters combat)
- System checks:
- Is Player Dialogue & Thoughts enabled?
- Is this event type enabled in the config?
- Has the cooldown expired?
- Does it pass the probability check?
- If all checks pass:
- Chooses the appropriate prompt type (
thoughtoraudible) - Invokes the LLM to generate the response
- Logs or outputs the result using the assigned virtual entity (voice, location, etc.)
- Chooses the appropriate prompt type (
🧠 Use Cases
-
Let players comment on the world naturally
"This book is about... interesting."
-
Enable emotional roleplay after major events
"Another soul claimed by my blade..."
-
Create reactive immersion through fear, anger, reflection, or awe
-
Tie into virtual entities like Game Master, Narrator, and System for layered storytelling
✅ Tips for Customization
- Use lower cooldowns and high probabilities for frequent inner thoughts (e.g., when exploring ruins)
- Mix audible and internal reactions for a rich, immersive experience
- Customize the Player Thoughts virtual entity to match your character’s voice and personality
- Combine with GameMaster, Narrator, and System entities to produce deeply layered narrative moments
🕯 Whisper Mode — Privacy Bubble System
Overview
Whisper Mode is a dynamic interaction system that limits how far NPCs can perceive or respond to player actions, speech, and events. When activated, it creates a privacy bubble around the player, reducing detection, dialogue triggers, and AI event propagation beyond a defined range. This allows private or stealthy interactions without unwanted NPC interruptions.
Core Behavior
- Event Isolation: All AI perception, dialogue, and trigger events are ignored by NPCs outside the configured interaction range.
- Dynamic Range Control: The system adjusts interaction distances in real time based on the player’s mode (Normal or Whisper).
- Hotkey Toggle: Players can seamlessly switch modes using a designated hotkey.
- Immersive Privacy: Enables confidential conversations, secret actions, or stealth gameplay without global AI awareness.

Default Configuration Example
- Max Interaction Distance: 1200 (global upper limit for NPC detection and interaction)
- Normal Max Interaction Distance: 1200 (default range for normal dialogue and detection)
- Whisper Max Interaction Distance: 200 (reduced range while whispering, isolating nearby events)
- Max Audible Distance: 2400 (maximum range before speech becomes inaudible, in the tts sound generation, unrelated to the perception of events itself, this just simulates sound decay)
Effect
While Whisper Mode is active, no events, speech, or triggers generated by the player are perceived beyond the Whisper Max Interaction Distance. NPCs outside this radius remain unaware of the player’s actions or voice until the mode is disabled or the player moves closer.
🗣️ Dragonborn Voice Over (DBVO)
Dragonborn Voice Over (DBVO) is a Skyrim SE/AE mod that makes the player character fully voiced — using text-to-speech (TTS) or pre-recorded voice packs — for all vanilla and mod-added dialogue.
🎯 Purpose
By default, the player in Skyrim is silent — dialogue options appear only as text.
DBVO changes that by giving the player a voice that actually speaks those dialogue lines aloud, similar to NPCs.
⚙️ How It Works
- Detects when the player selects a dialogue line.
- Uses a prebuilt voice pack to generate and play the voice audio.
- Works for both vanilla and modded dialogue.
- Integrates with mods like Fuz Ro D-oh and SKSE for handling subtitles and script events.
🔄 SkyrimNet Integration
SkyrimNet integrates with DBVO to provide dynamic player voicing using its own TTS system.
- SkyrimNet hooks into DBVO’s dialogue events instead of using static voice packs.
- All TTS generation and playback is handled by SkyrimNet’s engine (Zonos, XTTS, or other providers).
- This ensures consistent tone, personality, and emotional variation across dialogue.
Setup with SkyrimNet
- Install Dragonborn Voice Over.
- Disable or delete
DBVO.esp— no voice pack is needed. - SkyrimNet will automatically capture DBVO dialogue events and send them to TTS.
- You can configure response delay under:
Advanced Configuration → game → Player-Voiced Vanilla Dialogue (DBVO)
⚠️ Note: If
DBVO.espis active, SkyrimNet will automatically disable this feature to prevent conflicts with DBVO’s own voice system.