Skip to main content

Player Dialogue & Thoughts

dialogue

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 Thoughts virtual 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, or death.

dialogue

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:

FieldDescription
Event TypeWhat triggers the reaction (e.g., book_read, combat, crime)
EnabledWhether the response is active
Response Typethought (internal) or audible (spoken aloud)
ProbabilityChance (0.0 to 1.0) that a reaction will occur
CooldownMinimum time between this event type’s responses

✅ Example Settings:

EventResponse TypeProbabilityCooldown (s)
book_readthought1.0300
combatthought0.8120
crimethought0.690
deathaudible1.0300
dragon_soulthought1.030
hitaudible0.190

🎭 Virtual Entities

Used to distinguish voices, locations, and narrative context for different types of AI-driven outputs.

Entity NameVoice IDLocationPurpose
Game MastermalecommonerMeta SpaceWorld controller, narrative injection
Narratordlc1seranavoiceOmniscient SpaceDescriptive narration or transitions
Player Thoughtsplayervoicefemale01Player's MindInternal monologue of the player
System VoicefemaleeventonedSystem SpaceOptional meta/system messages

🧠 How It Works (Internally)

  1. Event fires (e.g., player enters combat)
  2. 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?
  3. If all checks pass:
    • Chooses the appropriate prompt type (thought or audible)
    • Invokes the LLM to generate the response
    • Logs or outputs the result using the assigned virtual entity (voice, location, etc.)

🧠 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.

dialogue

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

  1. Install Dragonborn Voice Over.
  2. Disable or delete DBVO.esp — no voice pack is needed.
  3. SkyrimNet will automatically capture DBVO dialogue events and send them to TTS.
  4. You can configure response delay under:
    Advanced Configuration → game → Player-Voiced Vanilla Dialogue (DBVO)

⚠️ Note: If DBVO.esp is active, SkyrimNet will automatically disable this feature to prevent conflicts with DBVO’s own voice system.