Monday, 12 August 2013

D&D Next Monsters: Part 6: Hitpoint Analysis...

While this blog does not contain material published by Wizards of the Coast it does contain materials summarized and extrapolated from the D&D Next playtest packets. By continuing to read this blog you are consenting to the terms of the Wizards online playtest agreement, which you can view at dndnext.com.

In the last couple of articles Surf examined both Armor Class and Attack bonus. He now turns his attention to Hit Points....

One thing that becomes quickly obvious to someone browsing D&D Next monsters is that Bounded Accuracy doesn’t apply to hitpoints. The system uses hitpoints, and by association damage, to scale up levels. What we expect here is a steady linear increase over levels, but one higher (or “faster”) than the increase of AC and Attack bonus.

 

High-Level Data

During this particular analysis we consider both the “natural” creature hitpoints and the “modified” hitpoints.

 HP StdHP Mod
Average:43.5748.00
Stdev:43.2348.04
Var:1,869.152,307.94

What we see here is that hitpoints are much more variable within the data than AC or Attack Bonus. This provides some support for our initial thoughts on hitpoints.

StdDevp of HP Std by XP
LevelEasyAverageToughSoloTotal
13.042.890.00 3.74
23.064.529.97 7.03
3 11.5916.790.0014.49
40.007.3211.10 9.51
50.009.9414.19 12.48
6  16.998.0016.61
7  17.3224.5925.24
8   12.3512.35
9   30.1030.10
10   45.8645.86
11   28.7128.71
12  37.6023.7034.95
13  30.2441.2641.26
14   29.3029.30
15   0.000.00
16     
17     
18   28.5028.50
19     
20   25.5025.50
Total6.3613.4735.5447.0043.19

If we are correct we should also see a relatively linear increase in deviation each level. Considering only our green and blue cells that does seem to be the case.

The problem here is that it’s more difficult to be sure we have picked the right target number at the upper levels, where there’s less data. We’ll do what we have done previously - try to ensure levels 1-7 are quite close and that levels 10, 12 and 13 aren’t too far off. And we’ll hopefully end up in roughly the right neighbourhood for level 20.

Something else we need to be mindful of here is using the “by HP” division. We are examining the hitpoints of our data and using the category based on our arbitrary ideas of hitpoint division will likely introduce an artificial skew to our results. So we can look at those divisions, but where there’s a discrepancy between it and the “by XP” category we should go with the XP category.

 

HP Std Average by XP
LevelEasyAverageToughSoloTotal
15.5010.1711.00 7.22
213.0515.9020.36 16.47
3 24.2126.6527.0025.52
422.0030.9035.59 32.84
544.0040.8649.96 44.40
6  58.6160.0058.69
7  60.8985.0078.62
8   65.8065.80
9   126.60126.60
10   118.64118.64
11   124.67124.67
12  146.71129.33141.50
13  175.00141.43151.50
14   149.00149.00
15   142.00142.00
16     
17     
18   178.50178.50
19     
20   224.50224.50
Total8.2825.5047.25110.6943.58

Average Tables

The first thing that jumps out to me here is the obvious relationship between the different types of monster at any given level. If we determine the mathematical relationship between these then determining the hitpoint progression for all of them will be simplified – we can determine any other type based on a single type of the same level.

Consider how RPG designers typically build these tables – they decide on a starting value, a progression and how the adjacent types are derived. It follows that the easiest way to reconstruct a table is to use the same approach.

So we’ll determine an Average progression and build the entire table from there. That will let us ensure that our green and blue data points align closely and that our handful of creatures in the level 14+ region are in the right neighbourhood.

The other thing I notice thing a number of the creatures seem to be miscategorised, mainly because their XP value seems low for their type. Most importantly the Tough creatures at levels 12 and 13 are probably Solo creatures. The “by HP” table supports this idea and being able to use the average of these two rows should help us build a more accurate table.

 

HP Calc Average by XP
LevelEasyAverageToughSoloTotal
15.5810.5011.00 7.42
213.8516.1721.50 17.15
3 25.9129.3427.0027.70
422.0033.6337.59 35.21
544.0045.0252.39 47.83
6  64.1566.0064.26
7  70.4490.7685.38
8   90.0090.00
9   130.20130.20
10   132.86132.86
11   134.00134.00
12  163.86159.33162.50
13  183.67163.71169.70
14   177.25177.25
15   180.00180.00
16     
17     
18   214.50214.50
19     
20   264.50264.50
Total8.5527.3951.25125.1647.86

Both the “HP Std” and “HP Calc” tables are promising. In addition the “by HP” and “by XP” divisions both have some interesting variations within them.

Any of these four tables might provide the data that D&D Next monsters are based upon.

Of course, the best approach is to build all four tables! Then we can reflect on what it took to reproduce the tables and which we believe is the right one.

But before we do that let’s have a look at the graphs...

 

Graphs

HP Std by HP HP Std by XP HP Calc by HP HP Calc by XP

The very first thing that I noticed with these graphs was… Well to be honest it was the variability of most of the trendlines! But that lead me to consider which trendlines show some kind of stability. And my isn’t that Solo trendline stable! Yes, this is mainly because there are Solo monsters scattered across the levels. And yes, many of these are sparse and we shouldn’t have too much confidence in them. But all in all we should be able to rely on our Solo progression running somewhere near to this trendline.

The Average trendline is also more stable than a first glance leads one to believe. Yes, it gets variable between our two categories (“by HP” and “by XP”), but again we did expect that.

Overall I feel confident that determining a good Average progression and extending this across the adjacent monster types, and ensuring the end result aligns with our green and blue cells is still the best plan.

 

Choosing Between HP Tables

As previously noted I went ahead and built out all four variations of the hitpoints table. There was a lot of boring “too-ing and fro-ing” that doesn’t bear detailing here.

While almost any numerical table can be built, assuming sufficient computing power, that really isn’t necessary. When we start having to us complex polynomials and sliding variables we are getting well outside the complexity of roleplaying game tables! This simplified matters somewhat and four tables were built with a minimum of fuss.

So how do we decide which one to use? Well, as I said “things aren’t normally that complex”. So when I have to decide between a table that scales using a long decimal point and one that doesn’t. When the simpler one aligns better with the actual observed data. Well that makes the decision pretty easy.

And the upshot of that is that Wizards of the Coast don’t appear to be using a higher value for hitpoints and subtracting “notional hitpoints” from it to allow for resistances, healing and similar... Not in most cases, anyway. Rather they are assuming that creatures at a certain level will have a similar amount of damage mitigation in addition to their hitpoints. Yep, DR just became part of the core mechanics again.

 

Hitpoints Table

LevelEasyAverageHardSolo
17.0010.0013.0020.00
210.8515.5020.1531.00
314.7021.0027.3042.00
418.5526.5034.4553.00
522.4032.0041.6064.00
626.2537.5048.7575.00
730.1043.0055.9086.00
833.9548.5063.0597.00
937.8054.0070.20108.00
1041.6559.5077.35119.00
1145.5065.0084.50130.00
1249.3570.5091.65141.00
1353.2076.0098.80152.00
1457.0581.50105.95163.00
1560.9087.00113.10174.00
1664.7592.50120.25185.00
1768.6098.00127.40196.00
1872.45103.50134.55207.00
1976.30109.00141.70218.00
2080.15114.50148.85229.00

If we take 10 as our starting value for a level 1 Average creature and add 5.5 for each subsequent level we have a progression very close to what our sample data shows. Next we make an Easy worth 70% of an Average, a Tough 130% of Average and Solo worth 200% of Average.

This can be expressed as...

  •   Average_HP = 4.5 + (level x 5.5)
  •   Easy_HP = Average_HP x 0.7
  •   Tough_HP = Average_HP x 1.3
  •   Solo_HP = Average_HP x 2.0

This puts us very, very close to our observed data, providing maximum alignment with our blue and green data points...

We are out in a few places though… The amount of data we have to analyse is quite sparse and even our “green data points” are bound to deviate from the underlying proscribed value.

Adjustments seem to be pretty minimal. Regeneration does appear to be factored in (so subtract estimated regeneration per combat from total hitpoints), however resistance does not. Neither do most other forms of damage mitigation. I wouldn’t recommend varying hitpoints by more than +/-2% without being careful to compensate elsewhere.

I could complain here about the low volume of sample data and the uncertainty behind the samples that introduces, but the fact is that this table should work well for most DMs and is quite close to the current crop of monsters.

No, my big concern here is that this is an area where the math is probably wrong. The D&D Next community receives complaints almost daily about the weakness of monsters. And this weakness seems to become more pronounced at higher levels. Wizards of the Coast has generally acknowledged that this is the case and that monster math isn’t finalised yet. They quite rightly indicate that getting the core math correct is a necessary precursor to finalising monster math, since monster math is built upon the character system. Their current stop-gap is to simply adjust monster XP, with the occasional tweak to armor class or hitpoints.

What leads me to believe hitpoints are one of the main areas at fault? Well common sense and history provide some support. Consider the role hitpoints have played in basic monster math revisions in previous editions – most recently in 4th Edition. Hitpoints are one of the major design dials for monsters.

But more to the point the numbers support it. Let’s take a look at that now...

 

Validation

You might remember back in the Part 2: Class Development Profiling installment I indicated I’d validate monster hitpoints against PC damage, as the primary comparator, and PC hitpoints, as a secondary comparator. So I expect to see some kind of stable and/or predictable relationship with PC damage output. Since PC hitpoints increase faster than PC damage output I wouldn’t expect to see any constant relationship against it, tho I’d hope to see a trend of steady difference.

So imagine my surprise when I paste my proposed hitpoint table into my validation sheet and find a perfect fit… Against PC hitpoint progression!

Yes, the current monster damage progression is completely stable against PC hitpoints! An Average monster of a given level has half the hitpoints of a PC of the same level. How constant is that? Well the average is exactly 0.500 of PC hitpoints with a variance of 0.0002 and a stdev of 0.0141. That’s very, very stable!

This means that Average creatures take progressively more hits to kill, eventually many more than their XP award covers. This isn’t very noticeable at lower levels, where Average monsters are concentrated, and DMs and players using Averages won’t notice an issue. But as players level up the Tough and Solo creatures come progressively into play. But these are quite weak! A Solo has four time the XP of an Average, but Solo creatures at higher levels only have double the hitpoints of an Average creature... An Average creature that doesn’t exist at those levels.

While the table included in this instalment matches the current crop of monsters I consider it faulty and in serious need of correction... Which we’ll tackle a couple of instalments from now.

 

 

Check back in a couple of days for the next installment Part 7: Damage Analysis...