(Madness of Block)

In the latest developer blog, it was revealed that blocking will move to a two-roll system – one roll for avoidance, and a second roll for blocking if we fail to avoid. In addition, we learned that block will be receiving diminishing returns. These aren’t necessarily surprising developments. After all, they were some of the more obvious solutions I mentioned in an earlier blog post. It’s a little disappointing that they chose the boring solutions rather than trying for something more interesting, though (my favorite idea is still a Reckoning/Redoubt-like effect: fixed block chance of ~30%, and taking an unblocked hit gives you 2-3 charges of +50% block chance and +10% block value, blocking uses a charge).

However, I’m a little critical of the two-roll system. The emperor has no clothes, if you will, because the two-roll system *doesn’t fix any of the problems with blocking*. It’s completely equivalent to keeping a one-roll system and simply nerfing the mastery-to-block conversion ratio. And the downside is that it introduces counter-intuitive behavior that’s both confusing and completely unnecessary.

**One-to-one mapping**

To start, let’s demonstrate the equivalence of the two systems. With the two-roll system, assume we have 5% chance to be missed, 15% dodge, and 5% parry. Let’s also assume that we have 25 mastery, and each point of mastery gives us 2% block, giving us a total chance to block of 50%. We have the following two combat tables:

Table 1 | Table 2 | ||
---|---|---|---|

Roll | Result | Roll | Result |

01-05 | Miss | 01-50 | Block |

06-20 | Dodge | 51-100 | Hit |

21-30 | Parry | ||

31-100 | Roll on table 2 |

So we roll on table 1, and if we don’t avoid the attack we roll again on table 2. What’s our net chance to block? Well, it’s the probability that we don’t avoid the attack (70%) times the probability that the second roll results in a block (50%). So our net chance to block is 0.7*0.5=0.35, or 35%. So compared to having 50% block on the first table, 50% block on the second table is worth 30% less because of our avoidance. A similar thing happens for DPS specs with critical strike – not being hit-capped devalues your critical strike rating.

Now let’s consider a one-roll system, with a combat table that looks like this:

Table 1 | |
---|---|

Roll | Result |

01-05 | Miss |

06-20 | Dodge |

21-30 | Parry |

31-65 | Block |

66-100 | Hit |

This one-roll table gives us exactly the same results as the two-roll system. We still have 5% miss, 15% dodge, 10% parry, 35% chance to block, and 35% chance to be hit. You can get this table by using a 1 mastery = 1.4% block conversion rate instead of 1 mastery = 2% block. In other words, there’s a “one-to-one” mapping of the two-roll system on to the one-roll system. Anything you can do in one system, you can do in the other. Which makes the two-roll system extraneous – we don’t need it to fix block, because it isn’t actually doing anything useful. In short, for a fixed amount of avoidance, **the two roll system is equivalent to just nerfing the mastery->block conversion rate.**

That in itself isn’t a problem, because mastery did need to be nerfed somehow. And if the two systems are so equivalent, you might ask why I’m critical of it. The answer is twofold: it’s adding unnecessary complication to a simple and elegant system, and more importantly, that extra complication introduces some weirdness that doesn’t happen in the one-roll system. Much like the current Vengeance implementation, this extra complication causes collateral damage.

Note also that the presence of diminishing returns doesn’t change anything. In the same way that you can map the two-roll probabilities on to one table, you can find an equivalent diminishing returns equation that matches whatever is used in the two-roll system. So diminishing returns doesn’t affect this relationship at all.

**Collateral Damage**

To see the real problem, first let’s take a look at a statement Ghostcrawler made in the blog:

- The chance to block will be handled by a separate combat roll for each attack that is not avoided. In other words, we first determine if an attack misses, or is dodged or parried. If it is not, then the attack has a chance to be blocked.
- This gives block a consistent value, regardless of avoidance. Currently block becomes more valuable the more you have.

This is a little vague, in that “value” isn’t well defined. I’m not yet sure exactly what he meant, but by most of the relevant measures, the second statement is flat-out false. Let’s consider what happens in the earlier scenario if we add another 10% parry. The combat table becomes:

Table 1 | Table 2 | ||
---|---|---|---|

Roll | Result | Roll | Result |

01-05 | Miss | 01-50 | Block |

06-20 | Dodge | 51-100 | Hit |

21-40 | Parry | ||

41-100 | Roll on table 2 |

Which gives the single-roll equivalent table:

Table 1 | |
---|---|

Roll | Result |

01-05 | Miss |

06-20 | Dodge |

21-40 | Parry |

41-70 | Block |

71-100 | Hit |

Notice here that while we’ve gained 10% avoidance, we’ve *lost* 5% block! In the (true) one-roll system, block and avoidance are completely independent – gaining 10% avoidance doesn’t change how much block you have (provided you aren’t capped). But the two-roll system inherently couples avoidance and block (or more accurately, couples block to avoidance – it’s a one-way street, in that avoidance affects block but block doesn’t affect avoidance). The two-roll system introduces an interdependence that leads to some really unintuitive behavior. When you increase your avoidance, you are effectively reducing your mastery-to-block conversion factor. If it’s 1 mastery = 1.4% block at 30% avoidance, it drops to 1 mastery = 1.2% block at 40% avoidance.

So the statement that that “block gives a consistent value, independent of avoidance” is clearly false using this metric, because increasing your avoidance *reduces* the effectiveness of every point of mastery you have.

What if he meant that the damage prevention value of block is unchanged? Bear with me here, I’m going to break out a little calculus. Damage taken can be characterized by this equation:

D ∝ (1-A-Bv*Bc)

Where *D* is damage taken, *A* is avoidance, *Bv* is block value (fixed at 30%), and *Bc* is your block chance. We already know that *Bc* is reduced because of the two-roll system; if we have block chance *Bc0* on the second table, it’s only *Bc=(1-A)*Bco* “effective” block in the equivalent one-roll system. If we differentiate that, we get *dBc=-dA*Bco*, which means that increasing avoidance decreases our effective block chance (again, we already knew that). If we differentiate the damage taken equation and plug our expression for *dBc* into it, we get:

dD ∝ -dA-Bv*dBc = -dA + Bv*Bco*dA = -(1-Bv*Bco)*dA

What does that mean though? Well, increasing avoidance reduces our damage taken by *dA*. But the resulting reduction of block value also *increases* our damage taken by *Bv*Bco*dA*. Now, *Bv* and *Bco* are both necessarily less than one, which means the increase is always less than the decrease. For representative values (30% block value and 50% block chance, or *Bv*=0.3 and *Bco*=0.5), we find that about 15% of the damage prevention gained through avoidance is offset (or wasted) by an increase in damage taken due to less efficient blocking. So it’s still a net gain to add avoidance, but it does mean that the block chance we have is getting less effective at preventing damage than it was before. Again, the statement that block will “have a consistent value, regardless of avoidance” is demonstrably false.

Maybe he meant that the damage “smoothing” value of mastery would stay the same? I have doubts about that, not least of which because nobody has a very good model or metric for what damage “smoothing” even means. In the past, developer and CM comments have indicated that they don’t put much stock in the damage smoothing argument anyway, so it seems unlikely to me that they’ve put any time into generating a sophisticated model of damage intake profiles. And worse yet, it would be a horrible metric to use in a blog post, as the majority of the readers wouldn’t understand what such a smoothing metric would mean in the first place. But even if all of those assumptions were correct, the smoothing will be a function of the “effective” block chance in the one-roll equivalent, which depends on avoidance in the two-roll system. So it’s virtually impossible for any smoothing metric to give a consistent value for block independently of avoidance.

He might have meant that we won’t have to worry about “wasting” over-capped mastery. If you take the view that excess block chance beyond what’s needed to cap reduces the value of your existing mastery, he has a point. Though any paladin worth his salt will reforge to waste as little of that as possible, and the variation isn’t great because we generally “waste” a very tiny percentage of our overall mastery. So even if it does make the statement true, it doesn’t make much sense, because it’s essentially meaningless. They eliminated a fluctuation of ~0.1% that nobody was overly concerned about in the first place.

And worse yet, the fact that they’re introducing diminishing returns means that it can’t *possibly* be a consistent value, because the whole point of diminishing returns is to *decrease the value as you get more of something*.

So in short, I don’t have any clue what Ghostcrawler means by that statement. I can’t find a definition of “value” in which block isn’t somehow affected by avoidance in the two-roll system. Every metric I can come up with shows some sort of dependence on avoidance, and all of them have a *negative* dependence, meaning that avoidance makes block demonstrably worse.

I don’t think that’s at all intuitive, and it’s the primary reason I think the two-roll system is unnecessarily complicated. It doesn’t do anything to help prevent block-capping, because you can get the same results with a one-roll system. I suppose it makes the block-cap more obvious, because it’s now always 100% instead of being level-dependent, but due to diminishing returns we’re not supposed to be hitting block cap anyway. So there’s no apparent gain to be had by moving to a two-roll system.

My other fear is that it will relegate mastery to a dump stat, because all of the proposed changes suggest a significant nerf to its value. Keep in mind that since we can’t cap block anymore, mastery becomes first and foremost a “healer mana conservation” stat, like dodge and parry. It won’t be an anti-burst stat, like Stamina or cap-able mastery. Combine that with a nerfed conversion rate and the ability to guarantee blocks with SotR, and mastery could very easily become much less attractive than avoidance.

Which might have been the point, I guess – it certainly needs to be toned down compared to where it is on live. But it may mean that we don’t care much about secondary stats at all, because they’re all fairly uninteresting. I feel sad that we didn’t get a more interesting or exciting revamp of mastery, especially when there are lots of viable options. Block is sort of boring, but at least it’s strong in 4.x. Make it boring *and* weak, like dodge and parry, and it’s really bland.

**Conclusions**

So the two-roll system introduces unintuitive behavior for no apparent gain. It doesn’t solve any problems with blocking, and it doesn’t give the developers any new degrees of freedom. It’s 100% extraneous from a mathematical point of view. So it just comes off as sort of pointless. Why put developer time into building a system that doesn’t improve anything, and introduces new problems?

I mean, it’s not the end of the world or anything. A two-roll system will work, and I’ll spend the next two years explaining the intricacies of avoidance-block coupling to new tanks who struggle to understand why avoidance makes their mastery worse. But I can’t help but keep thinking, “Why?” Because the change just seems so utterly pointless to me.

GC meant that increasing your mastery (while having fixed avoidance) doesn’t alter the ‘value’ of mastery to the better or the worse.

Before Dodge and Parry were on DR we had a situation where increasing your avoidance also increased the ‘value’ of it. The DR curve was implemented in a way to prevent this double scaling.

So he means that no matter how much avoidance you have, increasing your mastery doesn’t alter its value.

Two points:

1) That’s only true for avoidance because it is binary. Going from 70% avoidance to 80% avoidance is a 33% reduction in damage taken. Going from 70% block (and 30% hit) to 80% block (and 20% hit) is not nearly as significant an increase. In fact, it’s a reduction of around 3%.

2) In any event, that’s specifically *not* what he said. He said that block would have a consistent value regardless of avoidance. Which is demonstrably false. What you said is equivalent to saying “avoidance has a consistent value regardless of mastery,” which is true.

So if I’m reading this correctly, and I’ll admit it got a little hazy for me when the calculus got added, paladins and warriors will be in a similar state as death knights in that avoidance will essentially be “fighting” their mastery with the two roll system?

That’s exactly correct. Gaining avoidance makes your blocking weaker, counteracting the value of mastery. In other words, mastery will get worse as you gear up, even without considering diminishing returns at all.

I can’t help but think this will be a way for them to make folks feel better because they’ll have a big block percentage but the reality of it is that the actual effect is smaller than it appears. And I fully expect it to have some serious issues at first.

It really is hard to see why this move made any sense to the developers, and I can’t imagine any way they’ll make it as intuitive as the one-roll system. I hope to be enlightened at some point. I guess one possibility is they felt it may give them more freedom in adding effects onto the block table or miss/avoid table. But as you say, since there is a mathematically equivalent mapping to a one-roll system, it still doesn’t make sense.

I’m not sure that the critique of GC is entirely fair; there is a fairly natural interpretation of his comment under which it comes out true. I believe GC is interpreting “value” in terms of percentage damage reduction, i.e. if I increase my block by X, and I decrease my average damage taken by Y%, then Y is the “value” of the X amount of block. Under the two roll system, while Y will depend on the amount of block you have, it is in fact independent of your avoidance level; in that sense, the “value” of block does not depend on avoidance.

Here is the argument, using notation as above. The relevant quantity to look at for marginal changes in percentage damage taken is dD/D, or d(Log(D)). The formula for D simplifies to

D = c*(1-A)(1-Bv*Bco)

For some constant c. So

Log(D) = Log(1-A) + Log(1-Bv*Bco) + c

and

dLog(D) = dA/(1-A) + Bv*dBco/(1-Bv*Bco) (*)

There are no mixed terms here, simply a term that depends on avoidance and a term that depends on block. In this sense the “value” of block and avoidance are independent.

I’ll note that this is obviously not a mathematical disagreement: multiply (*) through by D and set dBco = 0 to recover Theck’s equation from the original post. I’m merely trying to give an interpretation that makes sense of GC’s comment.

Maybe that is what he meant, the math certainly works. But I’m not sure it’s a metric that most people care about. I think in practice more tanks are concerned with raw numbers. I have X hit points, and I need to be taking less than Y damage per second. Which stat reduces D by more, avoidance or block?

As an extreme example: if I stack enough avoidance to reach 50%, or 70%, or 90% avoidance, my block is still preventing 50% of the remaining damage that I take. But as avoidance goes up, the remaining damage is getting smaller and smaller, so I’m preventing less actual hit points worth of damage with block. As avoidance increases, whether I block or not becomes less important because it has a smaller effect on my DTPS, which is what matters to my healers. They don’t care that I’m blocking the same percentage of incoming damage at 1000 DTPS and 10k DTPS. They care that I minimize that DTPS number so that they can keep up.

The new system might be nice for analyzing WoL parses, since everything is relative to damage taken on a parse. But I’m not sure it’s better in a practical sense.

That is fair enough, although I would note that this is already how avoidance interacts with armor, passive damage reduction, cd’s, Blood DK mastery (more or less), and Guardian mastery in MoP. Savage Defense shields are somewhere in between, but they appear to be gone in MoP. Arguably the additivity of block and avoidance was the “outlier”.

There is another oddity about the two roll system, which is already implicit in Theck’s post, but I think it is work drawing attention to. The formula for damage taken, D=c*(1-A)*1(Bv*Bco), is symmetric between block and avoidance. However, the two roll system is an inherently asymmetric process, and this becomes clear when you think about how avoidance and block diminish the (absolute) value of one another. Avoidance diminishes block simply by reducing the total number of attacks blocked; increased block, however, does not reduce the total number of attacks avoided, but instead reduces the average damage of an unavoided hit, thus reducing the absolutely damage reduction value of avoidance.

Why is this relevant? Because, as Theck has often emphasized, we don’t care about avoidance and mastery solely for their effect on DTPS. The ctc/damage smoothing effects are more important today, and they are likely to be so even in MoP, when capping is impossible. This asymmetry means that the ctc value of avoidance is unaffected by block, and is the same as it is today (modulo ratings conversion, DR, etc) but the ctc value of block is diminished by avoidance. More precisely, we have

dCTC = dA + (1-A)DBco

As avoidance increases, it is theoretically possible that avoidance could eventually become almost as good a ctc stat as mastery. So under a harder to quantify, but more general understanding of “value” in terms of survivability, the two-roll system hits mastery much harder than it hits avoidance.

It’s funny, the more I look at the two-roll system, the more intriguing the intricacies of it are to me. But I’m a math nerd, of sorts. My main concern is that most players aren’t like you or me – they’re going to look at this and go “WTF, I stacked more avoidance and now I’m blocking less often!”

On the other hand, if that’s not made clear in the character sheet, maybe they won’t notice? I don’t know.

Hmm, I may be misremembering, but I believe when I started playing (I’m a Cata baby), I assumed the different events were on separate rolls, and was mildly surprised when I learned how the combat table actually works. I have no idea what pre-theoretical intuitions most people have about this stuff.

I have to admit, though, that I don’t really envy you the number of times you are going to have to explain these changes over the next few years

Eh, I don’t really mind. I’m not fundamentally opposed to the two-roll system. It’s not going to have a huge effect on how we play, which is what matters. And it has some nice symmetries with crit. It just feels sort of unnecessary, since anything you can do with the two-roll system can be done with the one-roll system. You just have to choose the right numbers. Want an un-cappable 1-roll system? Figure out the max avoidance you’ll give players (say 45%), and the minimum chance to be hit you want to allow. Adjust the block DR and conversion coefficient such that it doesn’t exceed 1-max_avoid-min_hit. Done.

The two-roll system is just as susceptible to capping if you screw the numbers up. There’s no difference between nerfing the mastery->block conversion and DR such that you can’t reach 100% on the two-roll table and doing the same to make sure you can’t reach 50% on a one-roll table. They’re mathematically identical problems.

Oops, (*) needs some minus signs. Stupid minus signs.

The thing that I don’t get from GCs blog is that he says early on that capping a stat is fun and appealing… as long as that stat is hit or exp rather than defensive.

I must say I am pro -capping. It gives some gearing decisions rather than stat1 > stat2 > stat3 get more of the best one until… no just moar

Thanks Theck (and others!) for having such an amazing blog. You have some amazing ideas and insight into the mechanics of the game.

As for blocking (and parry and dodge and armor), I’m beginning to think a big part of the problem is that they are percentage based. These stats naturally scale to the size of the hit. Which means tank survivability not only scales by getting more gear, but the already existing stats effectively scale to prevent more damage for a harder hitting boss.

I wonder how a tanking model wear avoiding attacks for 100% of the damage was gone, armor provided a base number of damage mitigation and other mechanics further shaved off damage from that. Sorta like tank scaling works like DPS (raw numbers getting bigger against bosses hitting for more damage) instead of playing with percentages and pushing hits off of the combat table.

None of this takes into consideration the design goals for tanking as a whole. Remember active mitigation, where things like hit are possibly defensive stats that can be mathed as well.

That really depends. I’m still skeptical that hit/exp are going to be viable survival stats. At least for paladins, they will only affect Holy Power generation. Since we can now pool HP up to 5 and will have faster HPG thanks to Judgement and a higher GC proc rate, the importance of missing a few generators is greatly relaxed. You’re still going to be able to bank 5 so that you can WoG-CS-WoG or SotR-CS-WoG to combat a burst. The question is whether it’s critically important to hit that CS (and I sort of hope it is, I’d love to actually care about hit/exp again).

In addition, I’m not sure that has much bearing on this discussion. Mastery’s relative worth compared to avoidance is independent of hit/exp. The only relevance here is that a nerfed mastery means it’s more likely to end up in last place behind avoidance, hit, and expertise as far as survivability stats. But that’s not a characteristic of the two-roll system either – it’s true of a one-roll system with a nerfed mastery conversion and DR. It’s basically the move away from being able to block-cap that nerfs mastery, and I’d argue that it’s a necessary nerf to properly balance tanks.

Still though, block is pretty bland and boring as-is on live. It’s just going to be more bland in MoP. That makes me sad. I think most of my disappointment with the two-roll implementation isn’t the fact that you get weird behavior, it’s that we’re still going to have a boring mastery/block implementation even though there are much more interesting options.

I would think if they see HPG being an issue in MoP they will do something similar that they did with DK’s (as they are essentially the “reference point” to what they want tanks to be) in that they will remove the requirement for CS to land in order to generate HP. Like how they did with death strike not having to actually land to heal you. Although with as many HP generators as paladins have now I doubt that will end up being an issue. What this will do (IMO) will still relegate hit/exp to the bottom of the barrel again which, I would think, will still keep paladin and warrior tank DPS down compared to the rest of the classes and still require a vengeance mechanic. Although hopefully not the same mechanic that they have live now.

As far as mastery’s order in stat weights? I think we will end up going back to a Wrath style of gearing where stamina is king and tanks will smooth out their damage intake not from gearing but from various abilities (holy shield, shield block, death strike, etc.)

I think that assessment of stat weights is spot-on.

If I follow correctly, the effect is that mastery has less relative value the more of it you have. Tanks that have a balance of the tanking stats will perform better than if they stack any one of them exclusively.

That seems like a nice design, and indeed an intuitive one.

I confess I have the same confusion as Ironshield, though. Why is capping good for hit but not for block? I can only guess, but maybe the reason is more about how he wants to design loot tables for bosses. It’s awkward if mastery is a cappable stat for some classes but not for others. If it’s cappable, then it’s not a great idea to put just more and more of it on gear at higher levels.

Pingback: The Fluid Druid » Blog Archive » Stat changes in Mists

So here are a couple of notes from someone who is only a semi-math nerd, so feel free to poke holes in my arguments if you see them. The whole point of this change seems to be not just fixing mastery for block tanks, which could be done on a one roll system with better planning for scaling, but making it something more in line with the non-block tank’s mechanics to make balancing easier. This oddity that you noted in the two roll system is that increasing your avoidance actually decreases the absolute value of the damage reduced by block, but keeps the % of damage taken reduced by adding x% of block constant and independent of your current avoidance. As Weeby noted above, this actually is already how the mechanics of the non-block tanks interact with avoidance, with the possible exception of SD bear bubbles which are going away for MoP. It seems to me that the point they’re going for here is to make balancing and scaling balance easier to accomplish across different tank types.

For those confused as to why capped stats like hit/expertise are good but capping block is bad, this is for the same reason: balance between different tank types. Considered independently of non-block tanks, capping block works just like capping hit/expertise as an interesting and valid gearing strategy. The problem is that when you have a situation where some tanks can block cap and never be hit for more than 70% of a normal swing and other tanks don’t have access to a stat like that which greatly diminishes the maximum possible hit taken at a certain breakpoint, it begins to be hard to balance an encounter where incoming damage can put a block tank in danger of dying without having another tank occasionally taking a 100% swing at risk of being globaled without a substantially larger health pool.

Pingback: Previewing Pandaria Part 2! « Blessing of Frost

I guess my biggest disappointment is that they announced this combat table change and we got no new information regarding the idea of ‘active mitigation.’ I moved away from my paladin tank this expansion (not because of QQ, weird raid team dynamics forced me to DPS on my DK for part of T11, so my off-set tanking gear picked up REALLY fast, and well, the rest was history), and now have a lot of experience tanking with both models.

The Death Knight model might be overpowered (although maybe not so much for average players like me) but it represents a significant change to how players tank – a change that I really enjoy. I mean, there is NEVER a dull moment when DK tanking.

Maybe I was being crazy, but I really thought we would see something similar with Paladins regarding the interaction between Holy Power and Holy Shield. 3 charges = 75% health shield, or a 50% chance to block on the single roll table; where each swing reduces shield size or block chance and fewer HP means smaller shields/less block %. In this type of model you would have 0% chance to block normally – like a DK or Bear. And mastery would increase the effectiveness of those HP –> shield/block conversions.

Anyway, now I’m rambling into ‘I wish’ territory which I wasn’t originally intending to go. Good post. Not terribly interesting news, which is unfortunate.

In a way, the two-roll system is its own diminishing returns for block. Your article invokes the image of the developers making this choice by flinging darts at pieces of paper tied to a board.

Pingback: Followup à Block | Sacred Duty

Pingback: Stat changes in Mists | Gaming News from around the Web

Pingback: MoP Block Calculations – Part 3 | Sacred Duty

Pingback: Blessing of Kings: Pandaria Stat Changes

Pingback: MoP Beta Mitigation Stat Weights – b15983 | Sacred Duty