SoC Ultra Difficulty Director v3.0.0
An ungodly madly vastly enhanced, fair, real-time difficulty director. Instead of one static lobby slider chosen before you know how the map plays out, the director watches your match every round — the game's own five score pillars, live army value, liquid treasury — and leans on twelve independent levers to hold the match at exactly the tension level you configure. 99 settings, four one-click presets, and a telemetry tab that shows you its mind.
BepInEx 5 (x64) installed and initialized — Part I. The Graphics Suite is not required; the two mods are designed side-by-side (different GUIDs, different hotkeys, zero shared patch targets) and run perfectly together or alone.
Download StixsworldHD_SoCDifficultyDirector_v3_0_0.rar and open it with
7-Zip / WinRAR / NanaZip. Inside:
| File | Size | What it is |
|---|---|---|
StixsworldHD.SoCDifficultyDirector.dll | 138 KB | The entire mod — one BepInEx 5 plugin. |
README.md | 17 KB | Deep documentation: every lever, the multiplayer architecture, the full configuration tour, changelog. Worth the read. |
-
Copy the DLL into
pluginsWith the game closed, drag
StixsworldHD.SoCDifficultyDirector.dllfrom the archive intoBepInEx\plugins:SongsOfConquest\BepInEx\plugins\ ├── StixsworldHD.SoCUltraGraphics.dll ← from Part II (if installed) └── StixsworldHD.SoCDifficultyDirector.dll ← new
Checkpoint — the complete pluginsfolder with both mods installed: the Difficulty Director (138 KB) beside the Graphics Suite (88 KB).Upgrading from v1.x / v2.x?Just replace the DLL. Your existing config is kept and the plugin appends the new v3 settings with their defaults on first launch. Every setting hot-applies — the only exceptions are the two match-creation bakes noted below.
-
Launch the game config + state folder generate themselves
Start Songs of Conquest. The director registers, logs itself in
BepInEx\LogOutput.log, and writes its fully documented config to:BepInEx\config\stixsworldhd.songsofconquest.difficultydirector.cfgA small sidecar folder,
BepInEx\config\StixsworldHD.DirectorState\, appears once you play: it holds the director's cross-save memory (a few hundred bytes per match, keyed to the match seed, newest 24 kept, auto-cleaned when a match ends). Your actual save files are never touched.
Checkpoint — configfolder.stixsworldhd.songsofconquest.difficultydirector.cfg— 37 KB of settings, every one documented with its min/max and how it feels in play. -
Press F9 meet the director
Works in any scene — menus, adventure map, battles. You get a solid-background menu with 10 setting tabs, a search box (type “tax”, “revive”, “coalition” — matching settings from every tab render inline, fully editable), the preset row, and the Telemetry tab.
The F9 menu. Note the top-right badge: “dormant — waiting for a match” is the correct state on the main menu. The director only attaches when an actual match is being simulated on your machine. Sensible from second oneThe Balanced preset — “the intended always-a-good-fight experience” — is active out of the box. Start a match and play; the HUD chip and action toasts will narrate every intervention as it happens.
| Preset | Feel |
|---|---|
| Story | Gentle, forgiving, strong comeback help. For campaigns and relaxed maps. |
| Balanced | The intended “always a good fight” experience. The default. |
| Veteran | The AI gets real muscle and mercy is thin. |
| Nightmare | The director actively conspires against you. |
| Custom | Hand-tune all 99 settings. Selecting any other preset instantly rewrites the whole configuration (your file is updated too); switch back to Custom to hand-tune. |
Full mechanics live in the shipped README.md and inside the config file
itself — every lever acts through the game's own synced commands and server-side hooks,
never through client-side hacks.
| Lever | What it does |
|---|---|
| AI Tier Shifts | Promotes/demotes each AI through the game's own difficulty tiers (Simple → Deadly) mid-match. |
| AI Economy | Income-proportional stipends for struggling AIs, taxes for runaway AIs. |
| AI Last Stand | A collapsing AI gets one dramatic war chest and goes down swinging instead of becoming a free-XP farm. |
| Coalition Instinct new in v3 | Every AI's grudge toward the runaway leader rises — the table quietly turns on whoever is winning, human or AI. Raise-only and self-relaxing. |
| AI Brain | Bravery/caution, bonus movement & vision, troop discounts, XP/production/income tier rescales. |
| Auto-resolve tuning | Separate casualty scales for AI camp-clearing and your Quick Battles, plus a dynamic pressure-scaled AI layer. |
| Skill-Adaptive Difficulty | Grades every manual battle you fight into a rolling skill rating and bends the difficulty target around your actual battle craft. |
| Player Assist | Resource care packages + wielder XP tutoring for trailing humans only. |
| Revive Assistance | Grants a share of a fallen wielder's actual revive price, read resource-by-resource from the game. |
| Mercy Windows | A wielder dies or a battle turns into a bloodbath? Guaranteed grace rounds of amplified aid. |
| Battle Aftermath | Pyrrhic-win relief for humans; one-time rebuild grants for beaten AIs. |
| Neutral World | Global camp growth rescale + targeted growth pulses, including NearLeader targeting that raises the threat exactly where the winner lives. |
Everything is smoothed, deadbanded, rate-limited, budget-capped and cooldown-guarded, so the director feels like pacing, not puppetry. New in v3.0.0, the whole system breathes through a three-act dramatic arc — configurable act boundaries with per-act intensity (default 60% / 100% / 130%): openings breathe, mid-game plays at designed strength, finales escalate.
Songs of Conquest runs a server-authoritative command pipeline: one simulation is authoritative (locally in single-player, the host in multiplayer); clients send requests, the server validates and broadcasts results. The director speaks only that language:
- It attaches via the game's own server installer, so it only exists on the authoritative side — guests' copies stay dormant automatically, and guests never need the mod at all.
- Every action is a vanilla, validated, synced command (
AddResource,HostileGrowth,AiAlterGrudge,SetAiMode…). Absolute results go out over the wire like always — desync from this mod is impossible by construction. - Host migration safe: if a new host is promoted and has the mod, the director re-attaches there; if not, the game simply continues vanilla.
- The Multiplayer + Safety tab adds policy on top:
FullDirector,AiAndWorldOnly(the default when remote guests are connected — no human ever receives aid, competitive-integrity mode) orDisabled, plus per-team exclusions, a per-team bias ledger, a hard gold floor for taxes, and a global per-round action fuse.
- “Dormant — waiting for a match” won't go away?
- That badge is normal anywhere outside an actual running match. Also remember
GraceRounds(default 3): the director deliberately takes zero actions before that round so early scouting plays exactly vanilla. - Two settings bake at match creation
AiProductionScalePercentandAiIncomeTierScalePercentapply when a match is created, exactly like lobby settings. Everything else hot-applies mid-match.- Want to watch before you trust it?
- Turn on DryRun (General tab): the director logs every decision it would make without touching anything. The Telemetry tab shows per-AI pressure bars with 48-round sparklines (ember above the midline = boosted, steel below = reined in), the rolling action log, and the real cost of the last evaluation in milliseconds. A pause hotkey freezes the whole director mid-match.
- Campaigns & scenarios
- Fully supported — use
GraceRounds,ExcludedTeamNames/PerTeamBiasfor scripted allies, the act intensities, or simply the Story preset for gentler narrative pacing. - Saves
- Load and save freely. With
PersistStateAcrossSavesON (default), the director's full memory resumes exactly where it left off; with it OFF, pressure state rebuilds from live game state within one evaluation. - Performance
- Zero per-frame work and zero polling — the director wakes on the round-change event, runs one pass, issues at most its action budget, and sleeps. The menu/HUD only cost anything while visible.
- Uninstall
- Delete
StixsworldHD.SoCDifficultyDirector.dllfromBepInEx\plugins(and, if you like, theBepInEx\config\StixsworldHD.DirectorStatefolder). Saves are untouched — everything the director did flowed through normal game commands.