Skip to content

v3.0.0

Choose a tag to compare

@galanx galanx released this 22 Mar 19:29
· 24 commits to main since this release

IntelEngine v3.0.0 Changelog

v3.0.0 — 2026-03-22

New: Faction Politics System

  • 9 configurable factions — Imperial Legion, Stormcloaks, Thalmor, Companions, Thieves Guild, College of Winterhold, Dark Brotherhood, Silver-Blood Family, Black-Briar Family
  • Political DM — AI-driven faction events every 6 game hours: trade deals, espionage, sabotage, assassinations, border skirmishes, war declarations, surrenders
  • Gradual escalation — relations progress naturally from neutral to tense to hostile to war
  • War system — formal declarations, army strength, morale tracking, off-screen battles, surrender conditions
  • Player standing — per-faction reputation based on actions, crime, and battle participation
  • Political awareness — NPCs know about recent political events and react in conversation
  • Configurable — edit factions.yaml to add custom factions, change thresholds, set conflict styles
  • Per-save SQLite database — political state persists independently per save file

New: Battle System

  • Player-present battles with 5 waves of spawned soldiers (up to 22 per side)
  • Pending battles — spawn at real world locations, player must travel within 3 game hours or battle resolves off-screen
  • Mid-battle join — arrive late to find a battle already in progress with casualties
  • Morale system — battle ends when one side's morale drops below 20%
  • Standing rewards — fight for your faction to gain reputation, spectate and lose it
  • Battle witness memories — nearby NPCs remember the battle and who fought
  • Bounty immunity — no bounty during faction quests, friendly fire forgiven via battle faction membership
  • Deferred cleanup — dead soldiers cleaned up behind the player as they walk away

New: Faction Quests

  • faction_combat — clear enemy faction soldiers from a location
  • faction_rescue — rescue a captive from enemy faction soldiers
  • faction_battle — join a full-scale battle that affects war outcomes
  • Standing-gated — faction quests appear when standing is 20+ with a faction
  • Faction couriers — local guards/soldiers deliver the call to arms
  • Enemy validation — fuzzy matching for LLM-suggested faction names

New: Prisma UI Dashboard

  • Politics tab — faction relations grid, active wars, player standings, recent events
  • Director: NPC Social — manually trigger interactions and gossip between two NPCs
  • Per-action confirmation toggles — disabled / followers only / everyone
  • Whitelist/blocklist settings — faction, location, and NPC filters visible and editable
  • Action categories — drill-down nested actions (Travel, Communication, Scheduling)
  • Open with Shift+7 (customizable hotkey)

New: Story DM Improvements

  • Player familiarity — stranger / aware / acquainted tiers based on dialogue and memory history
  • Gossip location context — NPCs only relay gossip from their own hold
  • Quest subtype tracking — different quest types don't block each other
  • Anti-duplication — won't recreate vanilla quests (Amren's sword, etc.)
  • World silence detection — actively dispatches after 2+ days of quiet

New: Political DM

  • Dedicated AI prompt governing faction relations independently
  • War behavior with battle results, morale, surrender
  • Conflict styles per faction type (military, guild, political)
  • Critical status enforcement — war declaration mandatory at threshold

Improvements

  • Separate Story DM and NPC DM dispatch tracking
  • Hold restriction "same town" policies
  • GoToLocation blocked during fetch/escort/search tasks
  • 100+ new C++ native functions
  • Location resolution improvements for small settlements

Bug Fixes

  • Fixed FormID overflow for dynamically spawned actors
  • Fixed standing wiped on save/load
  • Fixed wrong enemy faction spawning in battles
  • Fixed double quest completion
  • Fixed guards attacking player during battle
  • Fixed gossip without location context
  • Fixed [WAR] tag showing without active war