Thursday, 17 April 2014

D&D Next Monsters: Part 14: Rebooting The Math: Attack Review

D&D Next Monsters: Part 14: Rebooting The Math: Attack Review

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.

Surf reboots monster Attack Bonus....

I really sank too much time into this one.

Attack Bonus

I spent quite a lot of time tinkering with Attack Bonus. Way too much time probably, since it really didn't need a "hard reboot". So I might use this as an example to explain why the simplest formula producing an appropriate result is usually the best choice. And why we might sometimes go with a more complicated option.

Attack Bonus - Derived
Attack Bonus - Derived
Attack Bonus - Power (Matched)
Attack Bonus - Power (Matched)
Attack Bonus - Power (Scaled)
Attack Bonus - Power (Scaled)
Attack Bonus - Poly
Attack Bonus - Poly
Attack Bonus Comparison
Attack Bonus Comparison

Scaling Up

So first up, were there any issues with Attack scaling up? If so what? Well for the most part Attack scales appropriately. At lowest levels (1 through 4) monsters need a higher roll to hit PCs (11.6, 10.5, 9.9 and 9.6). This stabilises to around 9.5 from levels 5 through 15, but then starts to climb a little again. Yes the highest level monsters find it slightly harder to hit same-level PCs than the mid-level ones. That's kind of the opposite of what I'd expect with "easy low/harder high". We can correct it pretty easily tho.

We are already verifying our existing formula against PC Armor Class and calculating an Attack formula from PC AC is easy enough, indeed the only trick is properly reflecting the "easy low, hard high" part. Based on our analysis we are looking for a formula where monsters hit same level PCs with a 1d20 roll of 12 or 13 at level 1, dropping down to 10 by level 5 and staying around there through to endgame levels. It would be nice to toughen things up slightly at level 25 by hitting same-level PCs on a naked roll of 9.

Incorporating a simple exponential into our basic equation gives a very good match here. As long as we ignore the "toughen up a bit by level 25" part it's pretty easy to produce a stand-alone Power formula that fairly closely matches this progression.

If we want to dial the difficulty up a bit at level 25 we'll want our base Attack bonus to tick over to 13 at that level. It's pretty easy to produce a Power formula that achieves that, but as we'd expect this does vary away from our derived formula somewhat. If we check out the portions above and below the 9.55 baseline though we can see that it should be an acceptable formula to use. While some might argue that this could be a little on the tough side at higher levels they would be forgetting the role that Bounded Accuracy plays here. Small variations in accuracy (thus AC and Attack Bonus) are less important in D&D Next than in it's immediate predecessors.

That said we can pretty easily produce a poly3 formula that is closer to the "easy low, harder high" ideal. The curve for this formula stays near our 9.55 baseline for most of it's course, as you'd guess it dips down well below it at lower levels and sweeps up to a solid 13 from level 20 through to level 25.

So how do we choose between these candidates?

There are a few "tools" that are useful here. First, I placed a simple reference line showing a "to hit roll" of 9.55 and took careful notice of how the candidate curves related to this. Secondly, I added a linear trendline to each graph allowing us to evaluate the overall balance of the portions of curve above and below our 9.55 reference line. Finally, I added a column to the data table with a simple formula showing whether any given candidate value was less than, equal to or greater than the corresponding derived value.

We can also look at the similarities between the results of a candidate formula and the derived formula. As a table how much variation is there between the two? As a graph with a trendline how similar are they? What are the repercussions of the differences?

Finally, I also graphed the candidate forumlae against the derived one. This allows us to visually consider the repercussions of the variations between the formulae.

Attack Bonus
LevelDerivedMatchedScaledPoly
12222
24333
35444
45544
55555
66665
76666
86676
97777
107777
117787
128888
138898
148898
158999
1699109
1799109
18991010
199101110
2010101110
2110101111
2210101211
2311111212
2411111212
2511111313

If we consider the Power formula's trendline and it's relationship to the 9.55 baseline we can clearly see that this formula produces a noticeable deviation above the baseline from about level 10. Examining the actual data points shows that from level 9 monster accuracy steadily increases above our baseline. That said the deviation is always within a +/-2 range that Bounded Accuracy should be able to accommodate. This formula could be useful in the context of "easy low/hard high" and it's simplicity commends it.

The polynomial formula's trendline balances quite evenly on the baseline. It has an interesting curve in both it's head and tail. The low level curve is a little less shouldered than that of the derived equation and the high level curve has a similar shape to the low level one, popping it's level 25 value above that of the Power curve. Ultimately this formula should result in a "closer to baseline" experience from levels 5 through 20 than the Power curve. It should contribute to "easy low/hard high" at least as well as the Power formula. While it is more complex than the Power equation it has a certain elegance I find compelling.

So how much difference is there really between the three formula we are considering? Not much, particularly after rounding - check out the table. Thanks to Bounded Accuracy the difference is actually pretty minimal - in fact there is generally more variation within samples of the same level than there is across levels.

All else being equal, we generally use the simplest formula producing a valid result. But sometimes "all else being equal" is subjective. Elegant solutions, for example, are important in many circles. In our case I think our objectives at lowest and highest levels have some subtlety about them that our moderate polynomial helps us meet. On it's own it might be negligible, but if we consistently make the same kind of decisions across all the attributes the net effect can be precisely the one feel I believe WotC are aiming for with monsters.

At the end of the day it's up to you to decide which you prefer to use in your own campaign. That said I prefer to use the poly3 formula in my own games.

Scaling Up

Attack bonus doesn't scale out across different monster types. That said a variation of up to +/-2 within a level is pretty common, with some compensation usually made elsewhere in the creature's makeup.

Formulae

  • Attack (derived) ~= (Level x 0.28 + 13.72) - 9.55 - 7 x exp(-0.9 x Level)
  • Attack (matched power) = 2.3403 x Level ^ 0.4796
  • Attack (power) = 2 x Level ^ 0.57
  • Attack (poly) = 0.0012 x Level ^ 3 - 0.0507 x Level ^ 2 + 1.0028 x Level + 0.9833

 

 

Check back after Easter for the Damage reboot...