Event & Reaction System
SkyrimNetβs event system enables dynamic memory, LLM-based dialogue, and NPC reactivity by processing structured in-game events. These events act as the core data stream that drives memory formation, conversation context, and AI behavior.
π§ Core Conceptsβ
1. Eventsβ
- Definition: Structured records representing player or NPC actions (e.g., combat, dialogue, spell casting).
- Per Event Type Settings:
Enabled
: If unchecked, event is ignored.Persistent
: If checked, event is logged to the memory database.Allow NPC Reaction
: Enables live NPC responses.NPC Reaction Cooldown
: Time in seconds before another reaction to the same type.
2. Dialogue Context Historyβ
- Setting:
Event History Count β Dialogue
- Default: 50 (range: 5β200)
- Purpose: Controls how many past events are passed to the LLM during dialogue generation.
3. Preloaded Event Memoryβ
- Setting:
Event Preload Count
(e.g., 1000) - Range: 500β8000
- Purpose: Number of past events preloaded on game start to prime memory and context.
π§ How Events Influence Memory & Dialogueβ
Feature | Uses Events | Needs Persistence | Affected by Cooldowns |
---|---|---|---|
LLM Dialogue Context | β Yes | β Yes | β No |
Memory Recall / Reflection | β Yes | β Yes | β No |
NPC Live Reactions | β Yes | β No | β Yes |
Event Logging / Debugging | β Yes | β Yes | β No |
β Best practice: Events you want remembered or reacted to should be
Enabled
,Persistent
, and haveAllow NPC Reaction
set appropriately.
π¬ NPC Reactions Overviewβ
- What They Are: Real-time dialogue or behavior responses triggered by in-game events.
- Cooldowns:
- Global Cooldown: Minimum delay between any reactions (e.g., 60s).
- Per-Event Cooldown: Delay between reacting to the same event type (e.g., 180s for combat).
Example Use Cases:β
- NPC comments on spell casting (
spell_cast
) - NPC notices player looting a container (
container_changed
) - NPC reacts to combat or death (
combat
,death
)
π§ͺ Event Type Tiers β Recommendation Matrixβ
Event Type | Enable | Persist | NPC React | Cooldown |
---|---|---|---|---|
combat , death | β | β | β | 120β180s |
activation , equip | β | β | β | 30β60s |
book_read , container_changed | β | β | β | 60s |
spell_cast | β | β | β | 60β90s |
dialogue_* , scene_* | β | β | β | 0 |
direct_narration , continue_narration | β | β | β | 0 |
custom , gamemaster_dialogue , player_thoughts | β | β | β | 0 |
π Usage Strategy Summaryβ
β For Immersive Memory and Dialogueβ
- Set
Persistent = true
for all important events. - Adjust
Event History Count
(50β100) for context depth.
β For NPC Interactivityβ
- Enable
Allow NPC Reaction
for immersive actions (combat, lockpicking, spell casting). - Use custom cooldowns to avoid spammy chatter.
β For Performance Balanceβ
- Use a
Preload Count
of 1000β3000 for good memory retention without overloading startup. - Avoid enabling reactions on every event β pick impactful ones.