• Bares mostly like the taste of fase!

Mathiness

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.

Hello Guardians!

I have a lot of things to cover, so this one may be longer than normal. Most of it is just general tank stuff, but there are a couple of Guarfdian-specific things I’ll cover as well.
 

Buraan Joins TiB!

This is by far the most important piece of news I have to announce. After Wens quit because of R/L and my own guild’s inadequacies, there’s been a distinct lack of heroic-level content on TiB. I’ve always maintained that the best theorycrafting is done by 1 part math and 2 parts practical experience. With that in mind, I needed someone to pick up the slack in terms of heroic content.

Who better to have talk about it than (agruably) the #1 Guardian in the world? Yeah, I don’t have an answer to that either.

In any case, it is with great pleasure that I announce Buraan as the new contributing author for TiB. He’ll be covering heroic progression content through SoO and hopefully beyond.

Obviously you should follow him on Twitter and watch his stream as well.

Welcome!
 

PTR Changes

There are an absolute fuckton of these this time around. I’ll try and make sure I catch them all.

Vengeance now grants Attack Power equal to 1.5% of the damage taken, down from 1.8% (The tooltip said 2% but it was actually 1.8%).
Tanks no longer receive Vengeance from many persistent area damage effects (standing in the fire) or from missed attacks (dodging and parrying an attack will continue to work as it has before).
There are now diminishing returns on Vengeance gains while tanking multiple targets. Each additional target grants progressively less Vengeance.

The first two are pretty obvious. Vengeance was getting out of control compared to tank survival, and standing in fire to increase your Vengeance was a design oversight anyway. It’s the last one that’s rather vague. Thankfully Lore posted some details for us:

The basic, concise explanation is as follows: The Nth strongest (based on pre-mitigation average auto attack DPS) mob that has hit you in the last 5 seconds grants 1/Nth of full vengeance with their attacks. N is recalculated on every hit taken.
So here’s an example. Say you’re tanking 3 mobs – we’ll say it’s a boss and two adds. The boss has pre-mitigation average auto attack DPS of 1500k, one add does 400k, and the other add does 300k. The game will form a list of those mobs from 1-3, like so:
1. Boss: 1500k DPS, 1/1 (100%) of normal vengeance is granted
2. First add: 400k DPS, 1/2 (50%) of normal vengeance is granted
3. Second add: 300k DPS, 1/3 (33.333%, repeating of course) of normal vengeance is granted

This would of course continue as more mobs are being tanked (granting 1/4, 1/5, 1/6, and so on). Also, if the second add were to land a hit at any point when the first add hasn’t attacked you in the last 5sec (such as if it swings first), that attack would grant 1/2 Vengeance instead of 1/3.

So the example Lore gave is totally unrealistic. In order to put it in perspective I came up with something that most Guardians are probably familiar with: Heroic Tortos Bats. Details below (note this for 10m heroic):

A Vampiric Cave Bat on 10m heroic has an autoattack DPS of ~85k (taken from a friend’s log from last week’s kill using approxmiate Mastery values) give or take. Click here for log.

Which means under the current Vengeance scenario we’d cap out at around ~240k (20 * 85000 * 0.018 * 8) after 20 seconds. The bats die long before that happens though.

Under the new scenario we’d end up with: 30 + 15 + 10 + 7.5 + 6 + 5 + 4.28 + 3.75 = 81.53.

Slashlove (one of the Tanking forum regulars) made a quick post positing that using 1/sqrt(n) would be a better idea than simply 1/n while accomplishing the same goal (Source). Let’s look at what happens then:

30 + 21.2 + 17.3 + 15 + 13.4 + 12.2 + 11.3 + 10.6 = 131.

Suddenly much more palatable. Yeah, I like Slash’s better. Another thing to remember is this same logic also applies to Challenge Modes and Proving Grounds, both of which feature a plethora of AoE pulls. So maybe we’ll see a change to this formula, and maybe not. Only time will tell.

So as not to affect Challenge Mode leader boards, the above Vengeance changes will not apply there. For Challenge Modes, Vengeance will continue to work as it did in patch 5.3.

Well apparently time did tell. There you go.

Chance on being hit by a melee attack to gain a 20% reduction to all damage taken for 15 sec. (Approximately 2.57 procs per minute, ICD: 3 sec)

So this is the update to the tanking meta gem that was mentioned last week. The change to all damage reduction by itself is really good, but bumping the RPPM up to 2.57 takes it to almost a 50% uptime (actually ~47%, but hey). That makes it incredibly good, and definitely much, much better than it was before.

Does it compare to the existing DPS LMG? Probably not yet. However I’m definitely expecting that tank RPPM mod to get nerfed with extreme prejudice in an upcoming build. That will definitely put the tank LMG solidly ahead.

Trinket, enchant, set bonus, and legendary meta-gem effects whose triggered effect benefits from haste no longer also have their chance to trigger the benefit from haste. Activation chances for those effects have been adjusted to compensate.

There’s been a whole host of changes to the RPPM trinkets. I took the liberty of updating the RPS spreadsheet with the changes, and here’s the result:

Note, all of these trinkets are the double-upgraded versions. Primarily I’m just trying to show how fucking good Renataki and Bloodlust are now. Everything is basically complete shit by comparison. The new RPS trinkets in SoO don’t even come with passive stats, so they’re fucking awful. Granted almost everyone is going to be using the CDR trinket anyway, but still. It’s good to know what your RPS options are. Special thanks to Theck for helping me sim Bloodlust with the new ICD.

Thick Hide now reduces the cooldown on Barkskin by 30 sec.

I’ll admit, my first reaction to this was WHAT THE FUCK. Then I realized this was probably part of the whole “solution to Nazgrim” thing GC was tweeting about last week. I checked with Buraan, and he agreed with me. So with the CDR trinket we’ll have a 25 second CD on Barkskin (30 / 1.2 = 25). This means that we can have up to 2 minutes and 12 seconds of 100% Savage Defense uptime. That’s actually kind of ridiculous. Close to triple the current value.

That screams broken to me, but what the heck do I know. Everything about this patch screams broken to me. However I wouldn’t be surprised if our 2pc bonus changes as a result.

Dream of Cenarius now increases the Critical Strike Chance of Mangle by 10%. Chance to proc a Dream is reduced to 40%.

I actually just tested this on the PTR. The proc is now 20 seconds in duration, which is pretty incredible. The real question becomes is the Mangle change enough of a DPS gain to offset the GCD loss?

Well the number of procs we get in ~553 gear is: 0.8 * 0.4 * 0.21875 * 60 = 4.2. So that’s 4 GCDs we’d spend per minute (out of 40) on Healing Touch / Rebirth. For the sake of argument let’s assume that all of these GCDs are Lacerates. We then know that Lacerate does 0.616*AP in damage, so missing 4 per minute would be a loss of (2.464 + 1.848) or 4.312*AP in damage.

We also know that Mangle does (0.5*AP) + 7*WeaponDPS in damage. In the course of 1 minute you would have ~13 Mangles (0.21875*60). Without DoC those Mangles would deal 11.05*AP + 154.7*WeaponDPS in damage. With DoC this number increases to 11.7*AP + 163.8*WeaponDPS. A difference of 0.65AP and 9.1 WeaponDPS.

Subtracting like terms we get 9.1 WeaponDPS = 3.662AP. Since we know a 561′s weapon DPS is 8187.5 that means the break even point is (9.1*8187.5)/3.662 or 20345 AP.

So yes, it’s still a DPS loss. How much?

At 200k AP it comes out to around 12k DPS or so. Nothing to sneeze at to be sure, but look at what we gain in return. It’s probably most analagous to the old Battle Healer glyph. Yes we trade a bit of DPS, but we gain a ton of very effective healing in return, plus a little Rage as a bonus. I’ll take that trade any day of the week.

Yeah, changing the way it works. Long term, we want Guardian less focused on dodge more on AM. High armor and health are cool.

At first this caught me by surprise. However after a bit of thinking I realized that this is definitely a 6.0-era change. What could it be? Well a while ago on MMO-Champ (I’ll be damned if I can find the exact post) there was a suggestion to have Savage Defense also increase our Armor. I think that’s the direction GC is talking about here. Cool by me.
 

And one more thing…

Oh yeah. And this happened.

<3

TDR: Haste vs Mastery

April 29, 2013

Introduction

One of the things that has intrigued me for some time is the concept of Haste as a TDR stat. Ever since the introduction of the Indomitable Primal Diamond there’s been some interesting questions surrounding the concept of Haste as a TDR Stat. But it hasn’t really been determined exactly how it compares with simply going for Mastery. Well, I have the answer :)
 

RPPM – A Recap

The legendary meta gems all function on the RPPM – or “Real Procs Per Minute” – system. Hamlet does a much better job describing the math behind RPPM than I ever would. In any case it’s enough to say that anything on the RPPM system is improved by how much Haste Rating you have on your gear. Guardians of course are better off than most because of our passive bonus from Bear Form.

The question then becomes is it more effective to add more Haste to increase the effectiveness of the new meta, or add more Mastery for passive damage reduction? Turns out it’s not quite that simple.
 

A Tale of Two RPPMs

You might recall that something called “Bad Luck Protection” was added to RPPM trinkets recently. Well as of yet we have no confirmation whether or not this was actually added to the legendary metas or not. However that doesn’t mean we can’t compare the two and see what happens!

The graph plots total damage reduction on the Y axis, and the amount of stats gained on the X Axis.

Before I go any further I should note that these numbers were generated using my own stats. Now you could replicate the calculations for yourself, but the relative results will be identical to what you see above, until Armor is capped. Hopefully now you understand why I made the point about “Bad Luck Protection”. Unsurprisingly – at least to me – Mastery still comes out on top in terms of overall damage reduction.

That doesn’t mean this added side benefit of Haste might not make it substantially more valuable to some. It’s worth noting as well that this doesn’t count T&C, since I can’t really come up with an effective way of modelling that. It pretty much requires a sim, something that I don’t have the expertise to build….unfortunately.

As always, it’ll be up to you to weigh the pros and cons of each stat and determine what you want for yourself and your raid.

RPS Stats and You

December 9, 2012

Hello Guardians!

I’ve been wanting to do this sort of research for a while, but haven’t really had the time until this weekend. I was looking at how the various Rage generation stats interact, and determining if any one stat was better than the others. I was inspired by something Theck did for Protadin DPS stats some time ago. Thankfully calculating Rage generation is much easier, but that didn’t stop me from making it complicated :)

I had originally thought I would use a similar approach – have a set of assumptions and use a spreadsheet to produce a pretty graph to explain the results. However I realized that was a terribly huge amount of work and went looking for ways to make it easier on myself. Then I realized it would be massively easier if I could just alter the base stats and buffs via options on the spreadsheet itself. In short, I taught myself a bit about how to code things into Excel to produce what I was looking for. Lets look at the results using me as an example:

It turns out there were a couple bugs in the original version of the spreadsheet. While I guess that isn’t really a surprise, It’s unfortunate that I kinda violated my own mantra of “Make damn sure everything is right.” In any case it’s fixed now, and now the real results are shown above.

So it turns out Haste does not actually generate more RPS than Crit. However what is still true is that the RPS increase required to power the additional T&C procs is about half of the total overall RPS gained by choosing Haste over Crit. That being said since T&C is quite worthless for some encounters (Lei Shi, Stone Guardians) and not as powerful as FR – especially not with the 4pc bonus – whether or not it’s advantageous to choose one strategy over the other is debatable.

What has definitely been confirmed is choosing Haste for fights which high physical EH requirements (Heroic Sha of Fear comes to mind) is a good idea. T&C plays very nicely with Savage Defense on fights with high damage melee swings if you have the extra Rage to power it. You can play around with this yourself and move the Haste value up and down.

So what does this mean for you?

Well for heroic 25m encounters with high melee damage it primarily means you’re going to want Haste instead of Crit. There are far more people to make up the tank DPS difference between the two, and you gain increased mitigation by going Haste – which is the big difference for tanks in 25m. For 10m it’s a bit more of a tough sell. Tank DPS is significantly more important in 10m than 25m, so it’s possible that the DPS you lose by going Haste over Crit could make or break a kill. Furthermore bosses don’t hit as hard in 10m as they do in 25m, thus meaning you can definitely afford to sacrifice that little bit of mitigation to do more DPS.

Once we get into the next tier of content I expect Haste stacking to become significantly more common in both raid sizes.

If you want to play with the spreadsheet, you can find it in the “Maths Corner” menu above. Some quick notes on how to use it:

  • Put in your unbuffed stats/ratings in the green section.
  • On the options page you can set the options that will affect the output.
  • It is assumed you aren’t a baddie and always have MotW up.
  • Bear Form, LotP, and Crit Suppression are automatically calculated.

If you find anything you think is an error, feel free to post a comment below, or contact me on twitter or some other means.

The next thing for me to look at is DPS. But I gotta figure it out first.

Hello Guardians!

In lieu of a news post today (since there isn’t any news) I wanted to discuss a topic that can be almost universally applied to any game: How to Provide Feedback to Developers.

Unfortunately this is something that apparently a lot of people on the official forums don’t understand. While they may have an important point to make or topic to discuss, quite frequently what actually ends up in a forum post is almost worthless. To help other people understand how to provide good feedback – and thus improve the game as a whole – I’ve decided to write this little “guide”. For the past year and a half or so I’ve actually been kind of “cheating” in the sense that writing requirements documents for developers is my actual job. So theorycrafting and providing feedback to game developers is essentially the same as what I do for $$ – except for games. In this case WoW.

Basically I know what I’m doing.
 

Types of Feedback

There are two basic types of feedback a user (or player in this case) can offer: Subjective and Objective. Objective feeback will always be determined using the Scientific Method. That is anyone should be able to replicate the same results that you arrived at using the same variables. Some examples include:

  • Derivation of AP/SP forumlae
  • Combat Logs to show raids with DKs getting obliterated in heroic Gara’Jal
  • Calculation of the effectiveness of different abilities (Savage Defense, Frenzied Regeneration)

When providing objective feedback – “OMG GUARDIANS SUCK” – you must provide supporting evidence. This (for most people) will typically be in the form of combat logs. If you don’t know how to record or parse combat logs, head over to World of Logs to find out how. Without this evidence it is extremely likely that your arguments – however otherwise sound they may be – will be dismissed out of hand, not only by the player base but more importantly by the developers.

Subjective feedback is quite different. By its nature it is expected that not everyone will share the same point of view that you do. However that doesn’t mean you can’t still provide valuable feedback about how something “feels” to you in-game. Some examples are:

  • User Interface
  • Theme or Feel of a character/item/place/thing
  • What you as a player do or do not like about something

The most important note about this kind of feedback is that the efficiency or “math” is never in question. It’s all about how something in the game makes you feel as a player. Note that it is possible to have an objective analysis of something that then implies a subjective response. However you must remember that the reverse is never true. Just because something “feels bad” in terms of efficiency (usually in terms of “X”-per-second) does not mean that you can say so in an objective manner without performing some sort of actual data analysis.
 

Feedback Tips

So what should you do when providing feedback of any kind? I’ve put together a short list below:

  • Use proper spelling and grammar. Nobody is going to read your post if you can’t articulate your arguments in a way people can actually read.
  • Be as descriptive as possible. Explain to your audience why are right using supporting evidence like combat logs, math, or how you think something should work.
  • Whenever possible, don’t try to build your own models. For WoW specifically there are very, very few people qualified to do so as it requires a combination of calculus level math and intimate knowledge of game mechanics. For Guardians specifically there is already a wealth of options available to do analysis.
  • Doublecheck Everything. This is extremely important. Nothing will get your feedback dismissed faster than using information that is completely incorrect. If you’re not sure, double-check with someone else first to confirm. I cannot count the number of times I’ve dismissed posts or discussion out of hand because it was based on incorrect assumptions, knowledge of game mechanics, or just plain wrong. I’ll admit that I’ve made this mistake a few times over my career ;)
  • Don’t take criticism personally. If someone points out mistakes in your feedback most of the time they are just trying to help you.
  • Ignore trolls. They are a waste of your time.

What about you? Do you have any tips on how to provide feedback to game developers?