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 adjustedXP and a budget fit metric: fit = min(budget, adjustedXP) / max(budget, adjustedXP).
  • Keep suggestions with fit ≥ 0.7.
  • Sort by highest fit, then by lower adjustedXP. 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: k of CR A and N − k of 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.