Lately I’ve been doing statistical analysis on D&D 5e monsters to see how they’re built, and I’ve learned some interesting things: the DMG monster-creation guidelines don’t work as expected, monster design formulae have stayed stable from book to book, and many of the complexities of the official monster-design process don’t significantly affect its outcome.
Today, let’s come up with simple instructions for creating monsters in line with the Monster Manual, replacing the faulty instructions in the DMG.
Along the way, I think we can streamline the process. The Dungeon Master’s Guide has 9 pages on monster creation. I think we can fit the key rules on one page. Or even a business card. That way, you can create new monsters on the fly, not as a laborious game prep chore.
First of all, to reiterate what I learned in previous posts:
1) real monsters have fewer hit points and do less damage than those created by the DMG chart, and are more accurate
2) there is no significant correlation between any major monster stat (HP, AC, attack bonus) and any other stat. For instance, you might expect that a monster whose AC is high for its Challenge Rating should have lower hit points, attack bonus, or damage output to compensate. That’s not the case. Therefore, we can examine each monster stat separately without having to consider the others at the same time.
attack bonus
Here’s a scatter plot of the attack bonuses of all the Monster Manual and Mordenkainen’s monsters. The black line is the best fit line. (For comparison, the red line is a plot of the Dungeon Master’s Guide suggested attack bonuses.)
As you can see, the scatter plot shows us a nice, straight, easily graphable best-fit line. It works out to almost exactly:
attack bonus: 4 + 1/2 CR
So tidy! It’s almost as if the designers designed it that way! Hint: I think they did. While the DMG graph is arbitrary and inaccurate, actual monster design shows signs of being very carefully put together.
A note about CRs below 1: These complicate things. For the purposes of drawing graphs, think of them as negative numbers instead of fractions: CR 1/2 is really 0, CR 1/4 is -1, CR 1/8 is -2, CR 0 is -3. That’s the way that the linear values on the attack graph work out, and the way I’ve graphed it.
How much leeway do we have to adjust the attack bonus up or down based on our concept? The DMG advice is to adjust as much as you want, you can always adjust the CR later. We don’t want to adjust anything later! We’ll just look at our Monster Manual data and see how much variation there tends to be from the average monster accuracy.
For our attack bonuses, the average variance (which is a statistical calculation for determining how closely grouped numbers are) is low: 1.22. In other words, monster attack bonuses tend to be a little more than one point away from the average. And, as we’ve proved in previous steps, there is no correlation between high/low attack bonus and any other monster stat. So we could say, without doing too much violence to the Monster Manual data, something like, “Based on your monster concept, you may add or subtract up to 2 points from the attack bonus without affecting its CR.”
DC
Difficulty Class is similarly neat. In fact, its graph is nearly identical to the attack bonus (nearly every monster’s DC is their attack +7). In the following scatter plot, blue X’es are DC, and green triangles are attack bonus.
The DC best-fit formula is
DC: 11 + 1/2 CR
Variance is also the same for DC as it is for attack bonus. So on our final rules, we’ll say, “+-2 DC based on monster concept.”
Armor Class
From the scatter plot, Armor Class also looks like a fairly neat linear graph.
Expressed as a formula, this is very tidy: AC = 13 + 1/3 CR
From looking at the scatter plot, you can see that there will be a higher variance in AC than there was in attack and DC. The average variance is 1.65: 50% more than in attack and DC. Therefore, if we say “+-3 AC based on monster concept” we’d be allowing all but a few outliers.
hit points and damage
I did attack bonus, DC, and AC first because they were the easy ones. The remaining values, average damage and hit points, are a bit hairy, because they’re not nice, neat linear graphs.
Here’s one interesting thing about hit points and damage: they have a very strong relationship, especially at low level. Take a look at this chart where I graph median hit points (blue) and median damage x 3 (red).
To me it kind of looks like the average monster’s hit points is intended to be 3x the average monster’s damage (or, to put it another way, each monster should survive exactly three rounds of hits against one of its peers). Given the fact that the D&D designers have frequently mentioned three rounds as their target combat length, this seems plausible.
I admit, something about the chart above gave me pause. At high CR, doesn’t it look like there is an inverse correlation between damage and hit points? At CR 19 and 21, for instance, where damage is high, hit points are low. Did I miss something in my earlier analysis that showed no such correlation?
After looking at this graph, I did a more thorough statistical analysis. A note about my methodology: I calculated p-value for each pair of stats (above-median damage AC vs below-median HP, etc) and also for each stat paired with the presence of major special defenses, major special attacks, and legendary status. No correlation was significant to a value of p = .05. However, some more confident statistician should re-check my values with the Monster Manual dataset, since I’m not really a stats guy, just a guy with access to free web stats tools.
In particular, the seeming correlation we see on this chart, high damage to low hit points, does exist but is statistically insignificant: in the monster population as a whole, of the 227 monsters who deal higher-than-median damage, 101 have under-median hit points and 96 have above-median HP: a difference of 5 monsters either way. But some of the similar monsters happen to be clumped together. For instance, it just so happens that three low-HP, high-damage monsters are grouped together at that big red spike at level 18. I think we just have to say that, at high levels, our data is sparse and unreliable and we are going to have to be careful not to over-model the ups and downs of the graph.
At low levels, though, where we have dozens of monsters per CR (and where D&D play actually happens), I do want to be as faithful to the data as I can.
Take another look at the graph above and then listen to my crazy plan. Hit points and damage x 3 look pretty damn correlated: The correlation may or may not be intentional, but it’s there. Maybe we can come up with one trend line that will describe both hit points and damage?
Here’s that graph again, with my proposed best-fit threading the needle between the hit points and damage line. The data isn’t linear at low CRs, but high CRs are linear enough.
Here are the formulae for average damage and hit points:
Average damage below CR 1: 1, 3, 5, 8
Average damage between CR 1 and 7: 5 + (CR x 5)
Average damage above CR 7: CR x 5
Average hit points: 3x average damage for that CR
Unlike for AC, DC and CR, variance increases quite a bit for hit points and damage as the numbers get bigger. Take a look at this damage scatter plot, which sort of explodes into confetti once we get to the airy heights of CR 10.
For both hit points and damage, we can say Increase or decrease by up to 50% based on monster concept and get all but a few outliers.
Shouldn’t such a big increase or decrease – for instance, bumping a monster from 100 to 50 or 150 HP, or from 30 damage to 15 or 45 damage – change its CR? Perhaps it should, but it doesn’t in the corpus. There are plenty of examples of monsters with wildly varying hit points and damage potential sitting next to each other in the same Challenge Rating – without any other attributes which obviously compensate for the differences. Consider Geryon and the ancient green dragon, both CR 22.
Geryon: AC 19, HP 300, attack +16, damage per round 97
Ancient green dragon: AC 23 (+4), HP 385 (28% higher), attack +15 (-1), damage per round 151 (55% higher)
It’s wacky, but it’s how CR currently works. And I’m trying to describe CR here, not improve on it.
We need to do one other thing before we leave the topic of damage: on our new, improved monster-creation rules, we have to explain our average damage calculations so that people can turn each monster’s raw damage total into arbitrarily complex sets of attacks, including spells, area attacks, and limited-use abilities. This will be hard to explain concisely and clearly, but let’s take a shot at it.
Here’s a first draft: “Damage: This is the average damage that a monster can do each round during the first three rounds of combat. Assume 1) it always uses its most damaging attack(s) or spell which hasn’t yet been exhausted; 2) all area attacks target 2 enemies; 3) auras and similar traits target one enemy per turn; 4) variable-length effects like Swallow last one turn; 5) all attacks hit; 6) all opponents fail saving throws. Based on the monster concept, the monster’s damage may be dealt in one attack, or be divided between multiple attacks and/or legendary actions.”
This encapsulates the rules as described in the DMG. There’s one problem with these rules though. They’re facing the wrong way. They’re the instructions to take a Monster Manual creature and turn it into a single damage number. We need the instructions to take a single damage number and turn it into a Monster Manual creature. How about this:
Damage: This is the damage budget for all the monster’s attacks. Limited-use (daily, recharge, or situational) attacks do 4x the damage budgeted. Multi-target attacks do ½ the damage budgeted. Limited-use multi-target attacks do 2x. All other damage sources are 1 for 1, including at-will and legendary single-target attacks, auras, reactions, and variable-length effects like Swallow. If a monster has several at-will options (such as melee and ranged), the lower-damage options are free.
Here’s an example of how you could spend a damage budget on several attacks. Let’s say you imagine a fire-using spellcaster. You give her a 1/day fireball for 28 damage (spending 14 points of the damage budget); an at-will Fire Blast against one target that does 11 damage (spending 11 damage); and, to round it out, a 3-damage dagger attack (free because it’s an at-will option that does less damage). That would cost us 25 damage: right on the nose for a CR 4 creature. But because of the variance in damage, she could be pegged as anything between a strong CR 2 (on par with a pentadrone) and a very weak CR 10 (on par with a CR13 rakshasa).
monster traits
Nearly every monster, except for beasts and some boring humanoids, have some “schtick:” some special trait that makes them unique. It’s hard to quantify these. The DMG tries: it offers two pages of traits, listing the modification that should be made for each to the effective HP or AC. Most of these minor modifications, by the DMG rules, are worth a fraction of a CR. Given the wild fluctuations in power of same-CR creatures, this is illusory precision (I talk more about that here).
We can test common and seemingly powerful traits like legendary resistance and magic resistance and in almost all cases, the presence or absence of these traits has no correlation to higher or lower monster statistics. Therefore, they are not visibly affecting a monster’s CR. The only verifiable exceptions, as I mentioned here, are regeneration (which has a negligible but real effect, reducing some monster HP a by a few percent) and possession (which has a large effect, halving hit points) and possibly damage transfer. I think we can turn these three cases into a general rule: you may reduce damage-avoiding monsters’ hit points by the amount of damage you expect them to avoid over 3 rounds of combat.
what about saving throws?
I think we can improve on the original DM’s Guide rules in another way. The DMG chart has values for proficiency bonus, AC, HP, attack, damage and save DC. Monsters also need to make saving throws. Really, what we want to know is, “what does a saving throw look like for a monster’s good stat?” and “what does a saving throw look like for a monster’s bad stat?”
The bad saving throw is easy. It can be anything based on the monster’s story! For instance, the tarraque’s Dex save is +0.
For the good saving throws: calculating this was an afterthought and I didn’t feel like manually entering the good saving throws for the entire Monster Manual. I decided to see if a sample would be enough. I manually entered the best saving throws of all of the monsters up to page 84 of the Monster Manual, right before the start of the Dragons entry. I also added the ancient red dragon, so I could get the good saving throw of the strongest non-thought-experiment monster in the game. Based on how the data looked, I’d see if I had enough information or if I needed more. Here’s what I got.
This data is clearly tightly-grouped and linear: I don’t need any more sample to see that. It’s a hair off of 1 point of saving throw bonus per 2 levels. This formula will always keep us within about half a point of the real value:
3 + 1/2 CR
And the eye test tells me that variance is very low. I’d estimate it at +- 2. That is to say: the saving throw bonus column is equal to the Attack Bonus column minus 1.
By the way, 3 + 1/2 CR also works for a monster’s good skills!
putting it all together
OK, now we have everything we need to make a complete chart replacing the one in the Dungeon Masters Guide! This will give us out-of-the-box numbers that closely match the Platonic ideal of a 5e monster of any CR. Just tweak according to taste, add a special ability or two, and you are good to go. This is something you can do live at the table, not as part of your game prep!
Here’s the finished chart:
And here’s a PDF that you can print out and put in your DMG.
And if you want something really compact, here’s the important rules on a business card:
(front)
(back)
Next up in the monster math series: Monsters of the Multiverse Math!