This is a
blog post. To read the original post, please
click here »I'm really delighted to have this guest post! Enjoy. - GravityRawr.TankDK
Hello, I’m Shazear the current contributing developer for the
Tank DK module in
Rawr. For those who don’t know, Rawr is a 3rd party tool to help evaluate gear for your PvE endgame WoW character. It does not have a direct in-game corresponding addon, but rather can import characters from the Character Profiler addon or via WoW Armory. Each module does its own evaluation of your character appropriate by class/role, so most gear-evaluation bugs are unique for the module, e.g.: between DPS and Tank DK.
What TankDK Does PoorlySelf-healing mechanics of Blood. This tree tanks differently than any of the more classic models of Survival and Mitigation. The talents don’t model very well in the current structure of evaluating only what the Tank itself can bring and possibly what additional buffs may be provided by the raid. There are key +health temp buffs as well as +incoming healing bonuses, be it through damage done or through healing buffs to take the raw healing burden off your healers.
My initial implementation of key blood talents: Vampiric Blood and Mark of Blood caused problems with the model, either through completely tearing apart the results in the case of VB, or causing a weird loop/hang with Mark of Blood. After getting some Rawr3 implementation taken care of, getting the Blood talents integrated more reliably is next up on my list of work to do.
The other challenge is dealing with the variety of bosses. Each boss mechanic in the current raid scene are different enough that tanks are swapping out some pieces of gear to better tackle whichever boss they may be looking at any time. Some raid teams swap out different types of tanks for some fights, and just look at that as being the normal way of dealing with leading content. In the coming versions of Rawr, we’re working to implement the ability for any character to tune their gear for a specific boss encounter. This is not just for tanks, but it will be generic so all classes can have good expectations for the bosses they have to deal with. I see this really helping the tanking modules so that we are no longer just trying to guestimate the type of boss in very vague terms.
Accuracy and ComparisonsWithin Rawr, there are many stats and evaluations. Something most users need to remember is that it doesn’t just model the static values of what’s equipped like Pawn or most of the other evaluators out there. Most of the stats include the procs of the trinkets and such, and are relayed in the context of the boss level for the current raid content. So for example Dodge/Parry values will be lower than you see in the Armory or in-game because the level difference decreases your effective avoidance.
I don’t use other addons or simulators to compare to the results of Rawr. I rather would work to ensure the accuracy of the model. Because Rawr has the full power of a compiled application, I can, given enough time, make the model exceptionally accurate. Right now, however, I still feel like I’m just getting the model to stand on its own. A key point that contrasts Rawr with other addons/simulation tools out there is the active modeling of procs and buffs. Most addons simply can’t do the work to make those evaluations very accurately. Even the accuracy within Rawr can vary depending on the situation. As we integrate better boss-modeling we should see some of the tanking procs and such come into their own even more.
What TankDK Does WellI strive to ensure that the number values that come out of the TankDK module actually represent some real values in the game. With this in mind, I work to keep the
Tanking Formulas Wiki page for the basic formula models that I use in TankDK, but also tend to follow pretty close to what the other tank models are using as well. In the current incarnation, the user can adjust the levels of incoming damage, and how much threat matters vs survival vs mitigation. I believe it allows the tanks with different needs to find the gear that matches their playstyle and the content they’re facing.
Another point to trying to get the number to mean something, since taking over the module, I’ve worked to ensure there aren’t any magic numbers floating around. I work to not introduce functions or formulae that don’t reflect the reality of what we face through various encounters. It has a long way to go still as some of the stat curves I don’t believe are modeled very well, but I believe it keeps the model grounded. I have long been a silent observer of the EJ forums and other related theorycrafting boards so I feel there’s a legacy that I should be living up to now that I’ve thrown my hat into that ring.
FutureSome of the more recent discussions I’ve read have been working to try and balance the value of EH (Survival) vs. Mitigation/Avoidance for any of the tank classes. Not just balance, but deal with the difference of opinions on each score’s value as well as deal with the problem of accurately modeling the chance for bad RNG situations. Key is how do show that a given tank does really have enough EH while still stacking Avoidance to reduce the overall damage taken. When there’s a bad string of failed avoidance rolls, the tank gets gibbed and the raid wipes, through no one’s fault of execution. Even Blizzard is showing this to be an issue by changing how tanks will be taking damage with the Chill of the Throne mechanic.
I want to improve the model by not just having Survival/Mitigation/Threat (“SMT”) or Burst/Reaction Time graphs, but I want the SMT graph to show that for Boss X, you will be able to survive even the worst situation long enough for the healers to be able to deal with you properly.
Another aspect of the model that I am looking to change related to the above, is the modeling of Defense. DEF’s value after the soft-cap is not really that good, because of the avoidance that it continues to provide, but we’re not seeing the model really show the user that DEF is that important before the softcap. I believe that’s a lack in the model, and once I find a solution to the gibbing chance of a tank I think that we’ll see a more realistic value curve for Defense.
Personal Background
A bit about me: (feel free to skip this, if you want to more info about the module scroll down) I’ve been playing WoW since early Vanilla, and Warcraft since the original RTS. My mains are a Troll Holy Priest (Shizukana) and my Undead DK tank (Unshiz). I’d always wanted to play a DK after WC3, but since it wasn’t available, I had to find another route and eventually found that I loved healing. I was in a small friends-only 4-5 man guild for the first year of WoW and then we all joined Veterans of the Phoenix on Malygos-US where I’ve been ever since and currently sit as an officer. My priest is still slightly more along than my DK as our guild always needs the healers over the tanks so gets more opportunity for love. But I really do love tanking and the thrill of being in the thick of things.
I have tinkered around with WoW addons in the past and as I was leveling my DK with the expectation to tank, I realized that I needed a way to reliably evaluate gear. I knew the basics of the defense requirements and such through the basic reading, but I had no reliable way to deal with what it meant for DKs, especially as the community quickly began to see that different specs relied on different types of stats on their gear to be effective. I knew instinctively that unlike what seemed like more linear evaluations of stats for DPS classes, namely my wife’s hunter which just used AEP (or Agility Equiv. Points), the complexities of the DK as well as tanking needed something more. I looked around to see what else was out there to fill this role, and eventually stumbled upon Rawr. There had been some initial work done on the TankDK module, but that initial developer had left. TankDK needed some loving attention.
As a software QA engineer by trade, I had experience with C#, and so I contacted Astrylian to lend my support both as the TankDK developer and to help out with some additional testing experience. I admit that lately, I haven’t been spending much time on trying to QA Rawr, as much as just get the accuracy of TankDK improved and in some areas there’s still long way to go.
ThanksThank you, Gravity for giving me the opportunity to speak about Rawr and TankDK specifically to your audience.
ContactIf you want to contact me, the best place I check daily is the
rawr discussion threads. Alternatively every few days I’m on
EJ’s thread, where you can also PM me.