Combat Balancer – How it works
This page documents the simple 2014 DMG encounter math used to generate suggestions.
Inputs
- Party size: number of characters.
- Average level: 1–20. Rounded and clamped to the 2014 DMG table.
- Difficulty: one of
easy,medium,hard,deadly.
XP thresholds (2014 DMG)
For each level L, we use per‑character thresholds for each difficulty. The party XP budget is:
budget = thresholds[L][difficulty] × partySize
Monster XP by CR
Each creature’s base XP is taken from the 2014 table by its challenge rating (supports 0, 1/8, 1/4, 1/2, 1–30).
Encounter multipliers
Per DMG, multiple foes increase the effective XP via a multiplier:
- 1 →
×1 - 2 →
×1.5 - 3–6 →
×2 - 7–10 →
×2.5 - 11–14 →
×3 - 15+ →
×4
Adjusted XP
For N identical creatures of CR C with base XP xpEach:
adjustedXP = round(xpEach × N × multiplier(N))
Suggestion search
- Enumerate CR values and counts N from 1 to 8.
- Compute
adjustedXPand a budget fit metric:fit = min(budget, adjustedXP) / max(budget, adjustedXP). - Keep suggestions with
fit ≥ 0.7. - Sort by highest
fit, then by loweradjustedXP. Return the top 12.
Ruleset and Modes
The page includes a Ruleset toggle to switch between the 2014 and 2024 guidelines. XP thresholds, per‑CR XP, and multipliers come from the selected ruleset.
Note: For initial 2024 support, values align closely to 2014 to provide parity; you can still tune outcomes at your table.
Solo vs Groups
The UI lets you toggle between two suggestion modes:
- Solo (identical foes): Uses a single CR repeated N times. This is the classic DMG flow where all monsters share a CR.
- Groups (mixed CRs): Builds small combinations of different CRs that spend the same XP budget with the multiplier applied.
In Groups mode, for a total count N we estimate a target per-creature base XP as:
targetPer = budget / (multiplier(N) × N)
We then pick a handful of CRs whose base XP is closest to targetPer and enumerate compact mixes:
- Two-type mixes:
kof CR A andN − kof CR B, for 1 ≤ k ≤ N−1. - Three-type mixes for small N (≤5) to add variety, splitting N into x+y+z.
For each mix, adjusted XP is:
adjustedXP = round((Σ countᵢ × xpEachᵢ) × multiplier(N))
We compute the same fit metric and keep mixes with fit ≥ 0.7, deduplicate by CR×count, sort, and return the top 12.
Rules basis: D&D 5e 2014 DMG encounter building guidelines. Use as a starting point and adjust to your table.