• Bares mostly like the taste of fase!

Mathiness

Hello!

As you probably know (or heard me mention at least), Theck and I started a new podcast solely about tanking in World of Warcraft. In our first show we talk about Vengeance and Resolve. Specifically their history, how they work, and what it means to a tank.

Download

00:50 – Intro
02:45 – What is this show?
09:25 – News
11:05 – 2nd Boss Grimrail Depot
12:45 – Paladins and Haste
14:00 – Holy Shield Bug
16:25 – Vengeance History
40:35 – Resolve
59:10 – Q&A

Level 100 Talent Comparison

September 30, 2014

Introduction

Hello Guardians!

I said I’d have this up earlier than I actually ended up doing it, but I ran into a (seemingly) never-ending series of bugs in SimC. Fortunately with the help of Theck and Pawkets I’ve managed to kill most of them. As a result, it’s now in a place where reasonably accurate tests can be done with it. The first of these is a simple talent comparison. Of course the biggest question here is just how big is the difference when it comes to the level 100 talents?

I mean, besides the obvious answer. Clearly Pulverize is vastly superior to the other two choices. But by how much? That is what I will discuss here.
 

Assumptions

As with any simulation, you have to make a certain set of assumptions about how it should operate. Not only that, but there are also a couple of bugs that you will (probably) see in the results. They don’t affect the results at all, and have since been fixed, but they are worth noting.

I ran the simulation using two different kinds of bosses. One with a 300k melee swing, and one with a 200k melee swing plus a 100k magical DoT every 3 seconds. This gives me a variety of results to use for analysis. For any further details, you can easily check the results files and find what you’re looking for.
 

Pulverize

We’ll start with the easiest (and by far the best) talent.


Pulverize Pulverize
Sim Results Sim Results

In this context, there’s nothing particularly surprising. However it does serve as a kind of benchmark that the other two talents have to be “sort of” competitive with in order to be useful. Obviously as the most “active” talent Pulverize should be the best option, but the spread is what matters.
 

Bristling Fur

And then we go all the way to the other end, to – arguably – the most passive talent.


BristlingFur BristlingFur
Sim Results Sim Results

You can clearly see here that Bristling Fur is easily 15% behind Pulverize. Makes sense since they’re virtually the same sets of conditions. I didn’t include Bristling Fur in the usage of this APL since that’s not how you would use the talent in the first place. It’s not for reducing “everyday” damage, rather as a cooldown for a specific situation. Even so, it would never make up the existing difference between where it is now, and Pulverize. Since this is probably the most “passive” of the three talents, it should be empirically the weakest but not this weak. Again since it is a “passive” talent – sorta – tacking on a simple Armor increase of around an additional 40% to 50% or so (i.e. Bear Form now grants +300% Armor) would be enough to bring it to within a reasonable distance of Pulverize.
 

Guardian of Elune

This is the real problem child. At first glance you might think this is actually a sorta-decent talent. But you would be wrong. It’s only just slightly better than Bristling Fur, as we can see below.


BristlingFur BristlingFur
Sim Results Sim Results

But how is that possible? How could a talent actually be only marginally superior to not picking a talent at all? It’s not as simple as it first might seem. The first thing we need to consider is what does Guardian of Elune actually do to Savage Defense? There are three very specific things:

  • The dodge chance is increased.
  • The duration is decreased.
  • The recharge rate is decreased.

That means one (or more) of these changes has to be responsible for this talent’s problems. We can immediately throw out the increase in dodge chance since it’s not possible for that to be a problem. Which leaves us with two possibilities. Let’s examine the possibility of the duration decrease causing us the problem first. This is reasonably easy to do with math. Ahanss already went through it in the comments below, but I’ve re-listed the calculations here for clarity (note I use a Base Dodge value of 16.7% for all of these calculations – which is the amount from BiS Heroic T17 Raid gear). This is based on a 450s encounter, with a 1.5s swing timer.

Regular Savage Defense is a pretty simple calculation. Every activation gives you on average 1.8 dodges. So all you have left to do is determine the number of additional Dodges you would have gotten throughout the fight, and add that to the Savage Defense total.

  • Savage Defense: 1.8*((450/12)+2) = 71.1
  • Base Dodge: (0.167-0.045)*(450/1.5) = 36.6
  • Total: 71.1 + 36.6 = 107.7.

Next we get the amount for Guardian of Elune. That is also pretty easy. There’s a couple of different ways to go about it, but we’ll go about it the easier way.

  • Recharge Rate: 12*(1-0.167)=9.996
  • Guardian of Elune: 2*(2+(450/9.996)) = 94
  • Base Dodge: (0.167-0.045)*((450-141.05)/1.5) = 25.12
  • Total: 119.12

That gives us an increase of around 10.5%. So clearly the effectiveness isn’t the actual issue. Something else has to be causing our problems. Since we’ve eliminated both the Dodge chance change and the duration, the only remaining possibility is the recharge rate somehow. But what does the recharge rate affect? RPS cost. The normal RPS cost of Savage Defense is 5 (60/12). But what does the RPS cost of Guardian of Elune look like? I’ve included a chart below.

GoERPS

Clearly the RPS cost of GoE gets rather out of control towards the end of an expansion. A talent essentially costing you 2+ RPS (although in the first tier that number is more like 1.25 or so) just for picking it is a bit nuts. For comparison, you can see how much Pulverize “costs” in the Sim results. A Bristling Fur build serves as the base (111133), which gives us a total RPS of 8.4. Compare this to the same build using Pulverize (111132), and we see a total RPS of 8.2. This is because Pulverize‘s RPS cost actually goes down as your gear improves since you’re more and more likely to sacrifice a Lacerate rather than a Mangle the higher your Haste is.

So we can see that the total RPS cost of GoE is far too high, which causes fewer Tooth and Claw applications, which drives DTPS up. Easy solution? Make GoE also reduce the Rage cost of Savage Defense at the same rate as the recharge time is reduced. Problem solved.
 

TLDR

  • Pulverize is too powerful relative to the other L100 talents.
  • Given that Bristling Fur is a mostly passive talent, giving it a small armor increase makes sense to put it where it should be relative to Pulverize.
  • Guardian of Elune‘s recharge rate makes it extremely lackluster compared to even not taking a talent thanks to the drastically increased Rage cost. Addressing this problem by adding a Rage cost reduction will maintain the feel of the talent while improving its value.

There’s plenty of time to address tuning concerns still, of which this is obviously one. It won’t change my own personal talent choices since I really like Pulverize, but others shouldn’t feel hamstrung because they don’t enjoy a particular playstyle.

Part Deux

Hello Guardians!

I probably should have put this up last weekend, but I got distracted by Heroes of the Storm. In any case in my last post I talked about what kind of RPS levels we could expect in Warlords. As we found out it appears that our base Rage generation is going to be substantially higher than it was in Mists.

But what happens if a Guardian chooses to talent into Pulverize? Is there any kind of change to Rage generation? Let’s find out.
 

Assumptions of Play

As with the basic rotation, in order to come up with an estimate of the Rage generation for a Pulverize rotation you have to come up with a set of assumptions. Obviously being able to simulate the rotation will give the most accurate result, but we can’t do that yet.

  1. 1 Pulverize every 10 seconds.
  2. Given the previous assumption, at least 3 Lacerates every 10 seconds.
  3. The number of Mangles won’t be appreciably affected by when a Pulverize is used.
  4. Any remaining GCDs are filled with Lacerate.

The obvious question that follows these assumptions, is can they be proven? Well, not very easily it turns out. The first two are pretty obvious, in order to maintain the buff from Pulverize you need at least three Lacerates. Simple. For the second assumption however, it is not very likely that you will end up using Pulverize in the “free” (and by “free” I mean that it can’t reset Mangle) GCD. That means it’s pretty likely that it will negatively impact the number of times you can press Mangle within a 10 second window.

That being said, it’s really hard to quantify what that effect is within a spreadsheet. I know that the RPS of Mangle as it is represented in this version of the SS is actually a bit higher than it should be. But there isn’t enough of a possible discrepancy that it changes the results.

You’ll notice here that I didn’t mention Thrash anywhere. There’s a couple reasons for this. The first is that in order for Thrash to be Rage positive in a normal rotation – or at least enough of a difference that it’s worth using – it needs to be used during the “free” GCD mentioned earlier. The second is that in a Pulverize rotation, a Lacerate has extra benefit in that it pushes the next Pulverize forward. This also increases Rage generation beyond the original chance to reset Mangle.

At higher Haste levels we will have more of these “free” GCDs within a given 10s window. However this number won’t increase significantly enough to allow the use of Thrash in any amount that significantly affects Rage generation outside of an AoE scenario.
 

Results

These results will look familiar to anyone that read my previous post. The essential conclusion to be drawn from these results – just like the previous ones – is that if you choose Pulverize you will still be swimming in Rage. At best you will actually have more Rage than a regular rotation, and at worst you’ll have an about equal amount. Anyway time for pictures!

nekkid_2

You can clearly see that Haste is far and away beating Crit already, and we haven’t even put any gear on.

500stats_2

At something similar to dungeon levels of gear Haste is still far-and-away killing Crit.

1000stats_2

I feel like I’m just repeating myself here, but this is what it looks like at 1000 Haste and Crit rating.

2000haste_2

And here we can see the GCD cap causing Haste to level off. However it’s unlikely that we’ll approach that amount of Haste at all during the expansion, given the push for other secondary stats as well.
 

Conclusions

The conclusions here are identical to what we saw previously. Namely that Haste far, far, far outperforms Crit and we’re probably currently generating too much Rage. I expect we’ll see changes that address both of these issues in a future pass on the Guardian rotation.

Introduction

It’s been a while since I’ve done a legitimate theorycrafting post. We’ve had everything in MoP figured out for so long that there hasn’t been much incentive to do anything further. However now that we’ve started getting information about Warlords, there’s new things we can do! But first, a story.

A while ago I wrote a little story about how I got into theorycrafting. Normally this wouldn’t be pertinent, but part of this story was about making sure things are accurate and how to do that. One of those ways is of course, to ask for someone to look at your work. Kind-of like proof-reading.

Something that you may also not know (well some of you will) is that while I’m pretty decent at algebra, I’m really terrible at calculus. So I’ve had people review my stuff before, and did so again today. Thankfully both Theck and Ahanss made sure I wasn’t totally off my rocker. Theck may have also implicitly questioned my intelligence (he’s my friend, he’s allowed). I kid, I kid.

In any case, I’m here to talk to you today about Guardian Rage generation in Warlords of Draenor. At least, what we know about it from the alpha patch notes. Well, the first half of it anyway.
 

Spreadsheets and Simulations

In the current iteration of Guardian development, there are two different distinct possible rotations: With and without Pulverize. Today’s post is going to focus on the latter, more simple version of this rotation. Now, before we get into anything specific it’s important to understand that the most accurate way to investigate this kind of thing is through simulations which replicate gameplay. However it’s very possible – and usually much easier – to get most of the way there using a simple spreadsheet. Enough in any case, to pick up on any potential problems that might occur as gear improves throughout an expansion.

You may have seen me mention on Twitter that I want to get into working on SimC. I originally thought I would simply re-teach myself Java and build my own simulator, but Theck convinced me otherwise. Until I manage to teach myself C++ (or whatever they use) to a degree that I’m able to do anything productive, I will approximate situations using spreadsheets as best I can. That’s what I’ve done here. In order to do that though, I made a few assumptions.
 

Assumptions of Play

The results I will describe shortly are based on a set of assumptions of how a Guardian would play while tanking a boss. These are:

Fortunately I can prove all of these assumptions – with a reasonable degree of accuracy – using math. First, we know that Thrash‘s duration is 16 seconds. We also know that the chance of not getting a Mangle proc on 2 consecutive Lacerates is 75%*75% = 56.25%. Bare nekkid our GCD is 1.42857 seconds (5% Haste raid buff). That gives us 16 / 1.42857 = 11.2 GCDs every 16 seconds, or almost 12. That means the chance of not being able to use a Thrash on the 3rd GCD after a Mangle is only around 3% ((1-0.5625)^4).

Second, we know that the RPS to maintain 100% SD uptime (for 42 seconds) is only 6.6666~ if you bank 100 Rage before swapping. Since Mangle and Lacerate together generate at least 10 RPS without considering Mangle procs (60/6) or Haste, then that is definitely possible. I also assume around 10% base Dodge from Agility, which is about what we had at the start of the expansion after suppression.

My third assumption is pretty obvious, since Mangle does the most damage and generates the most Rage. As is by extension, the fourth. The actual formula for calculating the number of Mangles is something I re-purposed from Helistar by removing the “miss” and changing it to a variable GCD based on Haste. We know this formula is accurate to at least 3 sig-figs because of Tangedyn’s simulations during MoP Beta.

The fifth and final assumption is implied from the wording of Primal Fury although never confirmed.
 

Results

The “TLDR” version of the results is that we’re going to be swimming in Rage, and Crit is worse than Haste in the current build until you reach GCD cap. The longer version has a bit of exposition along with visual aids. For example, this is what the graph looks like when you are completely naked and only have raid buffs.

NekkidS

We start at just over 18 RPS with this rotation. To provide a relative example, this is approximately the same amount of RPS we have now in heroic SoO gear. The obvious difference between the two examples is that Tooth and Claw is now free. This liberates an absolutely huge amount of our Rage for Frenzied Regeneration. But what happens when we add around 500 Crit and 500 Haste, an amount you might attain in Warlords dungeon gear?

500stats

Haste is still better, and our base generation has grown to 19.5 RPS. What about 1000 Crit and 1000 Haste, something you might see in the first raid tier?

1000stats

We’re nearly hitting 21 RPS, and Haste is still clearly the superior stat. But what if we choose to purely stack Haste, since it’s clearly objectively better than Crit?

2000Haste

Over 21.5 RPS, and Haste still generates more Rage than Crit until the GCD cap.
 

Conclusions

There are two very clear conclusions visible.

  1. Crit is objectively worse than Haste until GCD cap. Even if the two generated similar amounts of Rage, Haste would still win because of the mitigation benefit from Tooth and Claw, and the increased uptime of Ursa Major.
  2. We are potentially generating too much Rage simply by executing our rotation.

In order to fix (1) Crit needs to either generate substantially more Rage than Haste, or also contribute to our survival in some other manner. However even if you simply increase Crit’s contribute to the Rage pool, I’m not convinced that the additional benefits of Haste won’t continue to outweigh it. Especially given how much base Rage generation we have.

(2) is something that is impossible to evaluate without knowing what Blizzard’s targets are. The concept makes sense from a high level though. The higher our base Rage generation is, the more incentive we will have to seek out secondary stats that do not contribute to Rage generation. I’m just really worried that our base generation will be too high, especially after Tooth and Claw becomes free.

If you want to play with the SS yourself, the link is available under “The Maths Corner” above.

Getting Into Theorycrafting

January 15, 2014

The idea for this post came from a Twitter discussion between myself, Poneria (author of the Warlock column on WoW Insider), Dayani (author of Healiocentric), and Theck (author of Sacred Duty) about how someone should start theorycrafting. Something that was brought up is that noobie theorycrafters find it far too daunting of a hobby to get into. So I thought I’d share with you how I got started, and maybe you can take some inspiration from it.
 

In an Expansion Far Far Away….

Some (or most) of you may not actually know this, but I only started seriously “theorycrafting” at the tail end of Wrath. As you may or may not remember when the pre-Cataclysm patch hit, Swipe was doing basically no damage. It was actually causing some pretty significant problems for Bear tanks (including myself) that were still dallying around in ICC. I looked around the on the forums, and didn’t see anything that would explain why this had started happening. Since nobody else appeared to be doing anything, I took it upon myself to do some digging. Back then I didn’t do any sort of empirical evidence gathering – or turn out to be right even – I did dig deep enough to get a response from a Blizzard CM. That got me noticed by a couple people you might know. Reesi and Fasc.

I had gotten a taste of what it felt like to be recognized…..and to be honest I liked it. I wanted to pursue it a bit further. So naturally the first step was to learn more about combat mechanics. I had a bit of an understanding based on the years of experience already playing the game. I knew what the various stats did but I didn’t really study them in great detail. So I took the next step.
 

Dissection

I took Fasc’s spreadsheet (at the time) and started playing with it. I learned what each of the stats did, how they interacted, coefficients, ratios, the list goes on. This knowledge helped me find defects in the spreadsheet and help Fasc fix them. Not only that, but once I understood how Armor worked, I moved on to what would be my first serious bit of theorycrafting.

Back in Catactlysm beta Astrylian had started a thread on EJ for basic storage and updating of Guardian information. During Cataclysm beta it quickly became evident that this information was not being kept up-to-date. I found that abilities were not doing the amount of damage they should’ve been doing, at least according to the listed AP coefficients. Since Astrylian was no longer updating his post, I decided that I might as well start doing tests myself. This lead to what is now known as the DPS/TPS Spreadsheet which you can find in the menu above. Not only that, but it would also lead to determining what the ideal DPS rotation was for Bears in both Cataclysm and Mists of Pandaria. Tangedyn and Yawning would go on to use this information in Mew, and most recently Pawkets has been using it to keep SimC updated.

None of that would’ve happened if I didn’t first take the time to learn WoW’s combat system, and how it affected my class. Pretty much all of that information is available somewhere on the internet nowadays for your particular class and spec. A quick Google search is usually all you need to get started.
 

It’s All About Accuracy

One of the things that will make or break a serious attempt at theorycrafting is accuracy. I’ve previously mentioned that my first attempt wasn’t even remotely accurate, primarily because there was no practical way to gather the data to make a diagnosis. For most of you out there, this is not the case. There aren’t any ambiguous mysteries left in this game, and any that are introduced are swiftly clarified by Blizzard themselves. Therefore it comes down to making sure that the data you’re presenting is actually accurate. The two methods that I use the most to ensure accuracy are In-Game Experimentation and Peer Review.

In-game experimentation is actually relatively simple, and usually involves things like target dummies. For example the method of verifying the AP ratio on a physical attack reduced by Armor:

  1. Strip all gear and buffs.
  2. Use the ability on one of the respawning target dummies in a starting area (I used Stormwind). These dummies have 0 armor – verified by testing for a difference in damage between a dummy affected by Weakened Armor and one that wasn’t).
  3. Add various levels of gear and repest (2).
  4. Compile the results and determine the slope. This is your AP modifier.
  5. Check the slope by calculating the damage value from AP at various levels of gear. If all have the same base damage, you have the correct slope and your damage equation.

Of course, when you’re presenting your information it’s a general rule that you will include your data and your methods so that they can be replicated by others. That way they’ll know you’re right.

Peer review is the act of asking someone to look over your work. For the information I compiled on trinkets in ToT, I asked Theck and Hamlet to look over it to make sure I had done it right. Since they were the ones that did the original proofs (one of them even at my request – remember Talisman of Bloodlust?), it made sense to ask them for a little help. It’s worth pointing out that asking someone in private – in game or a DM over Twitter – is much different than doing it publicly. Most theorycrafters are actually quite nice, and are very willing to help out when asked. However when you do ask for peer review, don’t harass the person you’re asking. We’re typically a very busy bunch. Here’s a general overview of the projects I have going on right now:

  • Writing Blog Posts for TiB
  • Hosting, Scheduling, and Recording TWP
  • Moderating and Responding to TiB Forums
  • Checking in on the Official, MMOC, Icy-Veins, and EJ Forums
  • Running a Heroic 10m Raid Team
  • Creating Video Guides
  • Streaming

And that’s just the WoW related stuff. We’re very busy people. Nice, but busy. We’re happy to help, but if you ask us you can’t harass us to get it done for you. If you don’t hear anything in a week or so, it’s fine to just check in and see how things are going. But if you nag us daily or something else equally ridiculous, you will swiftly become ignored.

Remember if you want anyone to take you seriously – be it your audience or someone reviewing your work – you must be professional.