
DnD Encounter Win Odds Simulator
Overview
Every DM has lived it: the "medium" encounter that nearly kills the party, or the "deadly" boss that falls in two rounds. CR math is famously unreliable, and the existing encounter tools are gridless, spell less, or abandoned, which is why a community built combat simulator hit number 1 on r/dndnext with 429 upvotes and 142 comments within hours of posting (per the author's own writeup at e4developer.com, as of Oct 2026). DMs keep asking for the same two things: custom monster import and homebrew balance testing, in a tool that works offline. This skill is that tool, packaged as an executable simulator instead of a web page.
What makes this different
A generic chatbot will eyeball your encounter and guess. This skill runs the battles. Thousands of Monte Carlo fights with honest simplified 5e combat: initiative order, attack rolls versus armor class, real damage dice, combatants dropping at zero hit points. The output is not a vibe, it is a win probability, a round distribution, a damage spread, and a difficulty verdict from published bands, plus a full assumptions block so you know exactly what the model does and does not simulate. Set a seed and the result is byte identical every run, so you can tune the encounter and re test.
How it works
- You describe your party and the monsters in simple JSON stat blocks, or start from the included SRD style examples.
- You run the included script with your battle count. It validates every stat block and explains any formatting problem in plain language.
- The script simulates the battles: fresh initiative each fight, natural 20s crit, natural 1s miss, random targeting, 200 round cap.
- It prints the win probability, average rounds, and damage spread, and writes a report with per monster kill counts and the difficulty verdict.
- You adjust the encounter, re run with the same seed, and watch the odds move.
Who it is for
Dungeon masters planning combat encounters, homebrew monster designers who need balance testing, and D&D content creators who want defensible difficulty claims. Built for 5e; the stat block format adapts to any d20 system with hit points and armor class.
What you get
- The encounter_sim.py script (Python 3, standard library only, no installs, no accounts, no network calls)
- Example party and monster JSON files in SRD style, ready to replace with your homebrew
- The JSON stat block template with every field explained
- The difficulty verdict bands table, with the rested party assumption stated
- Two fully worked examples: a standard party versus goblins at 2000 battles, and a tricky 500 hit point boss edge case
Welcome Message
Planning a fight? Hand me your party and monster stat blocks and I will run the battles, report the win odds and round counts, and give you a Deadly to Easy verdict. You bring the stat blocks, I bring the dice.


