Surf branches from Spellcasting into Damage...
Part 7: Construction: Damage
I had really wanted to cover Damage in Part 6, but simply ran out of both time and space. And the analysis of Damage represents a fair investment of both time and space. And there seems to be a lot of demand for the Damage post. So in this case I am going to give Damage an instalment all of its own.
To compound matters I had nearly completed this post when I discovered minor mistake in Damage calculations for about 5% of the data. That meant I had to review all Damage data to make sure it was solid... A further delay!
So let's get right into Damage, and then see how this fits in with our Example Monster.
Damage
First, an up-front reminder. As I have said before I believe that D&D 5e has somewhat decoupled the Damage/HP axis from the AC/Accuracy axis. As such I believe that it's not necessary to factor these into Damage calculations. The proof is in the pudding, or the numbers in this case, and you'll catch a glimpse of some of that here...
There are a several ways we can calculate Damage for the same creature and this consumes quite a bit of time at the data entry stage. What do we include as Damage? Just the stable "At will" standard actions each round? Do we factor in attack and defense modifiers? Critical hits? How do we factor in variable damage like spell lists? How about recharge actions and other "once off" type attacks? How do we best calculate the damage of area effects? Because of things like spell lists and recharge attacks what do we assume about the number of rounds in an "average combat"? How do we allow for saving throw clauses?
There is a lot to consider and we need to be as thorough as possible... But even with a strong desire to be thorough and a relatively small number of samples we still can't consider every possible variation. We need to lean on previous works, community feedback... sometimes we must resort to trail & error and sometimes even to gut instinct. When we follow these non-statistical leads we must pour time into validating them with good solid math.
The methods I use for calculating Damage are fairly close to the methods used by the wider D&D community for DPR and the community has had some exposure to it via my PC Stats thread on the Wizards of the Coast forums. As repeatedly highlighted the principal differences are that I have intentionally removed both attack bonus and critical hits from my Damage calculations.
These haven't been removed due to the difficulty of including them or through laziness, including these simply isn't very difficult. It's simply a matter of adding a couple more columns in my spreadsheets, which were in fact present until relatively recently. No these have been removed because including them increases data spread and data skew. The data becomes more spread out and single values significantly above or below the median carry disproportionate weight. In simpler terms, the data becomes less meaningful with these factored into the calculations. That's fairly solid evidence that their inclusion simply isn't a significant part of the foundational monster math. This may or may not have been a conscious design decision on the part of Wizards of the Coast, but it is statistically evident in the resulting D&D 5e monsters.
Explaining every aspect of every decision step-by-step would take a lot of space and chew through a lot of time. So I'll go through the process for one aspect of it here. Let's assume for a moment that the way that I am calculating Damage is basically correct. But should we focus on "Regular" (or "At Will") Damage or on overall Average Damage? Let's look at the two...
So what we can do is create two almost identical scatter graphs. These have the same boundaries, axis values, formatting, size, trendlines and source the same rows in our spreadsheet. One will source the "Regular" Damage column, which we'll show in blue, and the other will source the "Average" Damage column, which we'll show in red.
If we place these next to one another, what differences are there?
The first thing most folks will notice is that the trendline is significantly higher in the red scatter graph, a reflection of the higher numbers resulting from including the damage from recharge actions and other "alpha attacks".
The next thing the attentive eye will notice is that the data points in the red graph tend to cluster around the trendline more evenly, that many of the data points on the blue graph tend to be scattered below the trendline.
Let us now consider the consolidated data. We have some big pivot tables that encompass all of the data in our main worksheet. We can trivially average both perspectives on Damage by CR and then create the exact the same graphs from that summarized data. That makes it very natural to compare these summary graphs with the two detail graphs, and to one another.
The trendlines have clarified a little, but haven't changed a whole lot. This isn't a big surprise and is mainly due to the relatively sparse higher level data we have.
The data points in both graphs have evened up significantly compared to their unsummarized versions, of course.
The data points in the blue graph now tend to wander back and forth. First above the trendline for a while, then below for several levels, then crossing back a forth a few times. But the data on the red graph is now fairly close to a consistent line. There is, of course, some variation but the scattering is fairly close in most cases and pretty evenly on both sides of the trendline. The variability isn't anywhere near as pronounced as in the blue graph.
We also need to consider how both sets of data compare against PC Hit Points. My principle way of analyzing this was by manual comparison - I enjoy the flexibility this provides and the opportunities it affords to drill into and expand out various aspects of data. But I realize that isn't going to appeal to many readers, so I'll summarize what I saw and provide some graphs for visual purposes.
For these purposes I've created two scatter graphs. The first graph plots the PC Hit Point progression along with the raw data for both regular monster Damage and average monster Damage. I added a trendline to each of these data sets, of the same color as its data points. The second graph is the same, but shows summarized data.
These graphs let us see the data we have just been discussing in one place and how that data relates to PC Hit Point progression.
It's pretty obvious from this that Damage is less than PC Hit Points, which will be no surprise to those with experience from earlier editions. But the question is what percent of PC HP should they be? What's not immediately obvious from a graph is what these numbers shake out to under closer scrutiny.
So a useful tool at this part of the analysis is determining the percent of the average PC HP progression that the summary monster Damage accounts for. This involves several avenues of further investigation.
This brings us to something interesting that's not immediately evident on any of the graphs - the relatively high damage of CR1 monsters. The average Damage for these is a whopping 120% of average PC HP! Regular Damage only lags behind this a very small amount at 117%. Since CR2 creatures are pretty much at normal I believe this is an artificial spike that produces a feeling of greater lethality at first level. Why is this the case? Well the data shows that the CR1 creatures have relatively low HP (less than 4 times that of an average PC's Damage, instead of the more normal 7-8 times that of average PC Damage). So the CR1 monsters' high Damage is balanced by their low HP. Since we have 26 CR1 monsters it seems a bit of a stretch to call this coincidence, so I'd have to say that the intent is for monsters at this level to play out this way.
If we consider the current CR1 creature statistics to simply be a result of a general monster design decision (like "We will make most CR1 creatures Glass Cannons") then this has very little impact on producing an appropriate progression formula. We simply need to ensure that they generally fall near the parameters we end up with and rely on our CR assessment to produce an appropriate ranking.
But for the purposes of determining baseline monster Damage as a percent of PC Hit Points we have to be careful to consider the implications of this spike. One way of doing this is checking two versions of certain stats, one version that includes CR1 and one that excludes it. For simplicity we will simply ignore CR1 in the remainder of this post, but be assured that I did consider it in my analysis.
One useful technique for determining which percentage to use is to select a sliding window of a set number of adjacent values (I used 4 for a total of 5 in the sample) and move through the entire range, allowing us to enumerate the most common groupings of percentages. As we'd expect this tends to wander to a bit for regular monster Damage and is comparatively stable for average monster Damage. That said there is a general trend to tapering down as we progress from CR2 through to CR30.
Another useful "tool" is to determine the average, median, standard deviation and variance percentages for both regular and average monster Damage. We can use these in conjunction with our sliding windows to make decisions which are better informed.
Regular monster Damage has an overall average of 59.4% and a median of 61.4%, with a StdDev of 15.5% and variability of 2.3. The average for the mapped percentage groups is 59.4% with a median of 66.2%. These percentage groups have a StdDev of 10.5% and variability of 1.1.
Average monster Damage overall average is 80.3% and median is 78.8%, with a StdDev of 11.7% and a variance of 1.3. The mapped percentage group average for these is 81.5% with a median of 82.0%. These groups have a StdDev of 4.6% and a variability of 2.1.
These numbers do more than just identify possible target percentages, they tell us what level of confidence we can have in those percentages. We can see that regular monster Damage has a good deal more variability and uncertainty than average monster Damage. We can be pretty confident that it's somewhere in the 45% to 75% range and probably in the 50% to 70% range. If we needed to we could take a punt on it being 60%, but we could be wrong. Average monster Damage looks a good deal more stable though, we can have high confident that it's in the 70% to 90% and almost certainly in the 75% to 85% range.
Can we gain any more confidence than this? Perhaps, but the thing is the sparse data at the higher CRs does lend a certain amount of skew to the data and gaining a higher level of confidence takes progressively more effort and analysis. There is one shortcut we can use though. The spreadsheet this analysis is in has a provisional CR evaluation built into it. This still isn't complete and requires more refining, but Damage is a big part of CR. We can try different values in this range and see how that impacts the CR assessment of the current crop of monsters.
CR | Average Damage | ||
---|---|---|---|
Min | Target | Max | |
⅛ | 1 | 2 | 3 |
¼ | 2 | 3 | 4 |
½ | 3 | 4 | 6 |
1 | 5 | 7 | 11 |
2 | 9 | 13 | 17 |
3 | 15 | 19 | 23 |
4 | 21 | 25 | 29 |
5 | 27 | 31 | 35 |
6 | 33 | 37 | 41 |
7 | 39 | 43 | 47 |
8 | 45 | 49 | 53 |
9 | 51 | 55 | 59 |
10 | 57 | 61 | 65 |
Note: Typical boundaries shown. |
The results of this suggest that 75% is the closest match to existing data and so we'll go with that until we have enough data to make a more accurate assessment.
Now, PC Hit Point progression can be expressed pretty simply as...
HP=8 × Level + 1
So it's easy to calculate monster average damage, we just have to ask ourselves "what is 75% of 8?"...
Damage=6 × Level + 1
If we add this progression to our average monster Damage graphs we see it's very close to the trendlines we have on that data series. After a little experimentation an overlap of around 15% between adjacent CR values seemed like a good fit.
As always the boundaries shown are what most monsters at a given CR should generally fall within. It's possible to have monsters above or below the given damage parameters that are still within CR by compensating elsewhere.
Prediction: Damage will prove to be concerned with average Damage and this will be closer to 75% than to 80%.
Example: Human Pyromancer
Since our Pyromancer achieves all of its damage through spells what we need to do is assess the profile of its likely spell use. I always assume a creature that is played fairly intelligently by a DM who is somewhat familiar with it.
Let's assume that the Pyromancer generally lasts 3 turns in combat. This seems fitting because we've designed it to attack with surprise and from a distance, using some allies and/or the terrain to shield it from its enemies.
At this point some readers are probably thinking "but what if it only lasts two rounds". Well the answer is its average Damage will increase, because we calculate the most powerful attacks it is probably going to use and its spell slots prevent it from using its most powerful attack (Fireball) more than twice.
So we'll calculate two uses of Fireball and one use of Flaming Sphere.
Fireball: A fireball does 8d6 damage and a d6 is worth 3.5 average damage. We'll assume it hits 2.5 targets on average (about the standard for AoE damage calculations). It's a spell with a "half damage on save" clause so we'll multiply that base by 1.5 (in the DPR world we'd multiply by 0.75, but that's because we normally multiply by 0.5 for misses and in this case we aren't factoring in misses just extra damage). That gives us...
Damage=3.5 × 8 × 1.5 × 2.5=105
Flaming Sphere: This is 2d6 so we use the 2.5 base average again. Again it's a "half damage on save" spell so we use the 1.5 multipler and assume the standard 2.5 targets. It is a concentration spell though and the most elegant way to factor in it hitting another creature is to simply increase its number of targets by 1. This gives us...
Damage=3.5 × 2 × 1.5 × (2.5 + 1)=36.75
Human Pyromancer | |||||
Medium humanoid (human), any alignment | |||||
Armor Class 12 | |||||
Hit Points 77 (14d8+14) | |||||
Speed 30ft | |||||
STR 9 (-1) | DEX 14 (+2) | CON 12 (+1) | INT 19 (+4) | WIS 12 (+1) | CHA 12 (+1) |
Saving Throws Dex +5, Int +7 | |||||
Skills Arcana +7, Perception +4 | |||||
Damage Resistances Fire | |||||
Lanuguages Common, Ignan | |||||
Challenge 5 (1,700 XP) | |||||
Spellcasting. The pyromancer is an 5th-level spellcaster. Its spellcasting ability is Intelligence (spell save DC15, +7 to hit with spell attacks). The pyromancer has the following wizards spells prepared. Cantrips (at will): dancing lights, fire bolt 1st level (3 slots): burning hands, disguise self 2nd level (2 slots): invisibility, scorching ray 3rd level (1 slot): fireball |
That gives us an average of 82.25... Which is very, very high for a CR5 monster. Even allowing for our very low Hit Points it is probably too high. What can we do to reduce this? Dropping down the number of times Fireball can be cast is obviously going to be important. What if we add Scorching Ray and reduce Fireball to a single casting?
Scorching Ray: This level 2 spell creates three separate rays that each do 2d6 damage on a hit (the caster makes a ranged spell attack). That gives us...
Damage=3.5 × 2 × 3=21
Introducing this opens up some different possibilities.
For one Fireball, one Flaming Sphere and one use of Scorching Ray this gives us...
Damage=(105 + 36.75 + 21) ÷ 3=54.25
And one use of Fireball with two uses of Scorching Ray results in...
Damage=(105 + 21 + 21) ÷ 3=49
We could go with either of these options and having both spells available to the Pyromancer would let the DM make that call. However I prefer simplicity so I will opt for the Fireball/Scorching Ray only option.
Now there are a few things to note here.
First up, some DMs and certainly some players are going to cry out "but that's not a valid Wizard spell progression!". Correct, it's not. I invite those especially concerned with this to show me the rules that say monsters must follow exactly the same progression as PCs. I believe that monster Spellcasters based on the Wizard are just that, based on the Wizard.
Secondly, some folks are going to observe that a monster that does an average 50-ish Damage each round with an "alpha strike" of over 100 damage is very powerful and going to be quite a challenge for a same-level party. That is correct and I guesstimate that this monster will be in the upper end of its CR. But I believe it will fall within its CR boundaries. This is based on the provisional CR evaluation formula I am currently using, which will be refined and presented a couple of posts from now.
As a final note I start three weeks' vacation in a couple of days. The next post (Attack Actions, Bonus Actions, Moves, Reactions) is looking fairly straightforward and I do plan on working on it during this time. But do be aware that posts may be less frequent during this time than some might hope.