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.


✅ Core Concepts

1. Player Dialogue

  • Direct dialogue spoken by the player character.
  • 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.

⚙️ 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

💬 Prompt Types Involved

1. Player Thoughts Prompt

Example Template:

[Internal Monologue]
{{ actor_name }} has just experienced: {{ recent_event }}.
Context:
{{ recent_context }}

What does {{ actor_name }} think?

🧠 Prompt Handling Details

1. Player Thought Prompt

  • Only used when response_type = thought
  • Injected silently unless voice output is configured

2. Player Audible Reaction Prompt

Example Template:

[Spoken Player Reaction]
Situation: {{ triggering_event }}
Location: {{ actor_location }}
Mood: {{ current_emotion }}

Generate a natural verbal response.

🗣️ Audible Reactions

  • Used when response_type = audible
  • Spoken aloud using the Player voice or TTS configuration

🧠 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