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...

Friday 11 April 2014

D&D Next Monsters: Part 13: Rebooting The Math: Hitpoint Review

D&D Next Monsters: Part 13: Rebooting The Math: Hitpoint 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.

Wherein Surf reboots monster hitpoints....

Reworking monster hitpoints was also relatively easy.

Hit Points

Scaling Up

HP vs PC Damage - Current
HP vs PC Damage - Current
HP vs PC Damage - Derived
HP vs PC Damage - Derived
HP vs PC Damage - Power
HP vs PC Damage - Power

Under further analysis the HP progression of Normal creatures still seemed appropriate. Initially a Normal monster will take 1.04x of standard PC damage (aka StdDmg) to go down. This makes them pretty easy for any modestly damage-focused PC to take out. By level 5 they are up to 1.53x StdDam, reaching 2.0 at level 15 and 2.14 at level 20. If we extend this trend out to level 25 we get 2.26. While this progression is appropriate I have made a minor correction to my previous Normal formula based on further analysis. This is simply a byproduct of marrying up formula with derived results.

The key to revising this data is a Power based curve for the Monster_HP:PC_Damage ratio. Building this out appropriately was not a difficult task. And from this it was fairly easy to match an appropriate Power formula to the final curve.

Scaling Out

Where I feel Hitpoints need some tuning is in the modifiers for Tough and Solo creatures. Based on their XP a Tough is "worth" just under two Normal creatures, with a Solo being "worth" four Normal critters. Yet the HP multiplier for a Tough appears to be 1.5 and for a Solo seems to be 2.0. Now I get that making these multipliers 2.0 and 4.0, respectively, can cause problems. Who really wants to simply whack away at a sack of hitpoints forever, right? And as monsters scale up they accumulate an increasing suite of resistances, immunities and other mitigations. But even so the multipliers for scaling out are obviously quite low. This is one of the reasons that higher level monsters feel comparatively weaker. So I've conservatively increased these multipliers.

 

Hitpoints
LevelEasyNormalToughSolo
1 4101825
2 7183144
3 10244361
4 12315477
5 15376492
6 174375107
7 194885121
8 225494135
9 2459104148
102665113161
112870122174
123075131187
133280140200
143485148212
153690157224
163894165236
174099174248
1842104182260
1943109190271
2045113198283
2147118206294
2249122214306
2351127222317
2452131230328
2554136237339

For the reader's convenience I have included a full hitpoints table to the left that corresponds to the derived/power formulas.

Formulae:

  • HP (derived) = (1.04 x Level ^ 0.24) * (9.581 x Level ^ 0.57065)
  • HP (Power) = 10 x Level ^ 0.81
  • Easy HP = HP x 0.40
  • Tough HP = HP x 1.75
  • Solo HP = HP x 2.50

 

 

Check back in a few days for the Attack Bonus reboot...

Wednesday 9 April 2014

D&D Next Monsters: Part 12: Rebooting The Math: AC Review

D&D Next Monsters: Part 12: Rebooting The Math: AC 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 remixes monster Armor Class....

Monster AC was probably the least difficult part of rebooting monster math...

 

Armor Class

Current PC Hit Roll Required
Current PC Hit Roll Required
Derived PC Hit Roll Required
Derived PC Hit Roll Required
Poly2 PC Hit Roll Required
Poly2 PC Hit Roll Required
Poly3 PC Hit Roll Required
Poly2 PC Hit Roll Required

Scaling Up

A modest amount of analysis reveals an obvious issue with the way monster AC in the final packet scales up. At level 1 same-level monsters can be hit on a 9, but this value declines as level increases. A level 20 PC can hit Asmodeus on an roll of 6 and a first level PC only needs to roll 13 to hit him. And this is in keeping with the AC progression evident in the current monsters. Ideally level 1&2 PCs would hit same-levels monsters on a 9, then from levels 5 through 20 they hit on 10 or 11, finally they'd hit level 25 Normal creatures with a roll of about 11 or 12.

Is it appropriate for level 1 PCs to only hit level 20 monsters on a 19 or 20? I think so.

These actual required dice roll numbers are a very good fit for a simple power equation (roll=9 x Level ^ 0.08). For a derived formula we simply add the PC attack bonus (attack_bonus=Level x 0.368 + 3.798) to this required roll. The result of this isn't something we can easily match with a simple Power or Logarithmic formula, much less a Linear formula. It is, however, trivially matched using a simple Polynomial formula.

A little curve matching gives us a poly2 formula which produces results functionally equivalent to our derived formula, after rounding. Note the graphs on this page plot data before rounding. Once rounding is applied the derived and poly2 curves have only three minor points of difference. There is significantly more variation within monster samples of the same type an level than this variation represents. We can make a choice between a simpler variation and a perfect match at this point. I personally was happy to this poly2 formula for some time and it's perfectly appropriate for most DMs' use.

That said I know there will be those who strongly desire a closer match. For these readers I have provided a poly3 equation which exactly reproduces the derived curve, once rounded.

 

LevelDerivedPoly2Poly3
1131313
2141414
3151415
4151515
5161616
6161616
7171717
8171717
9181818
10181818
11191919
12191919
13202020
14202020
15202120
16212121
17212121
18222222
19222222
20222322
21232323
22232323
23242424
24242424
25252525

Scaling Out

My review didn't suggest that any corrections to the previously discussed method for scaling out AC were required. The Easy (-2), Hard (+1) and Tough (+2) multipliers appear to still be quite appropriate.

 

Formulae

To summarise the formulae discussed for the AC reboot...

  • AC (derived) = (9 x Level ^ 0.08) + (Level x 0.368 + 3.798)
  • AC (poly2) = -0.0049 x Level ^ 2 + 0.5959 x Level + 12.681
  • AC (poly3) = 0.0004 x Level ^ 3 - 0.0205 x Level ^ 2 + 0.7453 x Level + 12.445
  • Easy AC = AC - 2
  • Tough AC = AC + 1
  • Solo AC = AC + 2

And to the left you will find a table containing the "scaling up" values for the two key formulae, after appropriate rounding.

 

Check back in a couple of days for the Hit Points review...

Tuesday 8 April 2014

D&D Next Monsters: Part 11: Rebooting The Math: Introduction

D&D Next Monsters: Part 11: Rebooting The Math: Introduction

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.

Wherein Surf has a shot at updating the math of the final playtest's monsters....

OK this took a lot longer than expected, for various reasons. I initially thought this would be a relatively short article. OK, it could get on the long side, but surely it would be a single article. Well as I worked through the details several times over the whole thing unfolded into a much bigger body of work than I expected. I also got pretty caught up proving my changes against character progression data. To cap it all off my work life went insane - think 60 to 70 hour weeks as standard for months. I really enjoyed working through this though and it provided some much needed diversion from real life on several occasions. I hope readers feel it was worth the wait.

 

Why Make Changes?

This is a question you might find yourself asking if you haven't played D&D Next much, or have only played at very low levels.

While lower level D&D Next monsters certainly feel appropriate in play there are issues with monster progression. Somewhere past level 5 we notice that same-level monsters seem to be getting easier to defeat, a trend that becomes quite pronounced by about level 10. Some of the causes are quite obvious when comparing the table from Part 10 with PC progression data. But other factors are more subtle.

My hope was to revise the math such that monsters would be viable for a 1-20 campaign and provide sufficient flexibility for all Dungeon Masters.

 

Goals

I initially mapped out some goals for this revision. While I reviewed and refined these a few times these changes were more to the wording of the goals than to the intent. I chose not to give the goals a priority or number as I feel they are all equally important.

Scale Up

Monsters need to "scale up" appropriately. That is, the challenge of Normal type monsters shouldn't taper off as monster level increases. Yes, there is a design objective that the lowest level monsters should be relatively easier to defeat than mid-level monsters and we need to ensure this remains the case and this does introduce some interesting challenges. But as Normal monsters scale up from about level 5 they should provide the same level of challenge to a same level party, if anything becoming slightly more difficult in endgame levels. In fact I believe endgame monster should be correspondingly more difficult - I call this the "easy low/hard high" goal.

Scale Out

Monsters also need to "scale out" appropriately. Easy, Tough and Solo creatures all have statistics derived from the Normal type of monster of their level - typically by applying a multiplier. Issues scaling up Normal monsters are magnified when this multiplier is too low. This is less apparent at lower levels but becomes progressively more apparent at higher levels. Given that the current crop of high-level monsters is composed of all Solo creatures, with the odd Tough creature, this is likely a significant contributor to the current issues with high level monsters.

Complement PC Progression

The general "shape" of monster progression needs to either be in line with the "shape" of PC progression or it must complement that progression. Again - the lowest level monsters should be significantly easier for same-level PCs to defeat than higher level monsters and the very highest level monsters should pose a significant challenge to a same-level party. Monsters of level 19 and 20 should be harder for a same-level party to overcome than level 15 monsters. This can be a little tricky if one wants to end up with a self-contained progression that isn't directly dependent on PC progression. It can be quite a balancing act.

Extend Beyond Level 20

DMs have always thrown monsters at the party that are of higher level than the PCs. Some editions obfuscated this, but there has always been a mechanism to determine how suitable a creature is to fight the PCs and this amounts to "monster level", at least in a logical sense. A natural extension of this is D&D's long history of monsters of a level higher than the PCs can ever reach - generally named entities of greater-deity power. Entities like Bahamut, Demogorgon, Lolth, Orcus, Tiamat and Vecna should not be faced with impunity! Since PC level progression finishes at level 20 I felt it would be useful to extend monster math to level 25.

 

Bringing The Goals Together

Many of these goals carry interdependencies - some subtle and some obvious. So there are some interesting challenges bringing them together. For example, scaling up monster progression too aggressively can create some serious problems with level 25 creatures - there's a good chance few level 20 PCs will ever be able to win against them. By the same token there are some good opportunities for our goals to work together - for example scaling out to level 25 properly provides a very useful way for DMs to ensure tough "capstone" fights at the end of their campaign, but still be able to tune content to their group.

Careful consideration of components and their impact on the whole are a must!

 

Development And Formulae...

You might have noticed that the further this series progresses, the more complicated the formulae become. So it's worth stopping briefly here and considering how monster math is likely developed and what this means to formula selection.

Wizards of the Coast have indicated in several different sources that monster math is dependent upon PC math. Thus it's important for them to fine-tune PC progression before they approach finalizing monster math. That pretty strongly suggests that the actual monster attribute forumlae WotC are using aren't simply stand-alone formulae. Rather, each is likely a formula that includes a reference to PC progression formula (or formulae!). This is one of the things that spreadsheets excel at and I imagine they have some rather interesting spreadsheets. Which you and I will likely never see, unfortunate as that may be.

There are upsides and downsides to this. On the positive side it's very easy to observe the impact of changing a basic value far-removed from the final numbers of interest and then see the widespread impact. This "what if" analysis is another thing spreadhsheets are very good at - things like "if PC Armor Class progresses faster what to-hit bonus would monsters need to still hit on a roll of 10?" are relatively easy to check. The negative side includes issues like the magnification of minor oversights and of errors in dependent math.

While I necessarily consider and include dependent formulae I generally prefer to use stand-alone formulae. The obvious reason for this is portability. But the deeper reason is the ability to produces progression curves that in some way complement our goals. This proved particularly useful with the "easy low/hard high" goal.

In this series I have opted to present the simplest formula that I feel produce a sufficiently accurate result. In some cases there is variation away from the actual related PC progression data, however this is either complementary or not significant.

 

 

Check back tomorrow for the AC Review...