Showing posts with label WWS. Show all posts
Showing posts with label WWS. Show all posts

Friday, April 24, 2009

[Druid]More wacky SD shenanigans, like uptime

Astrylian was kind enough to look over the recent blog post on SD that I made, and point out some problems with it that I'd like to correct or clarify.

First off, on using 'uptime'. This is potentially really misleading. By uptime I simply meant the amount of physical hits that were blocked by Savage Defense compared to the total amount of physical hits that landed (ie, not avoided). However, this is not the same as the uptime value in WWS. And while they coorespond somewhat, they're not particularly relevant to each other nor should you really care - because the ideal is that you don't have 100% uptime as tracked by WWS.

That sounds weird, but it's true. Why? Because as soon as you get hit you lose your SD uptime, and unless you've got some very weird bosses you'll never refresh it right after that. Thus, in order for SD to function, it must go down for some short amount of time. If for some reason you had 100% uptime, that would likely mean that you never actually got hit. Which is awesome, I suppose, but not particularly useful when trying to figure out how well SD did.

So what should you do? Well, look for the total number of hits and then the total number of absorbs. That will tell you the absorption rate. I highlight this term because it is what I'm going to use from now on to make sure you understand what I mean. The absorption rate is simply how many attacks were absorbed by SD vs how many attacks hit you in total. It is not uptime (how long the proc was around) or block rate.

Next up, how bugs in SD look. Here's an example from my Ignis log:

0:02'41.594 Felhoof Maul hits Ignis the Furnace Master for 4788 Physical. (Critical) #354766
0:02'41.594 Skylopez Holy Light heals Felhoof for 12145. (12145 Overheal) #354770
0:02'41.610 Ignis the Furnace Master's Lacerate is refreshed. #354778
0:02'41.610 Felhoof Lacerate hits Ignis the Furnace Master for 223 Physical. (Critical) #354779

(At this point I should have gained SD and refreshed SD ).

0:02'41.969 Ignis the Furnace Master melee swing hits Felhoof for 21349 Physical. #354791

(nothing was absorbed)

0:02'42.016 Felhoof gains Savage Defense. #354805

(And now I have the proc up - which should be just an annoying latency thing, right? It'll work for the next time)

0:02'42.016 Felhoof gains 2329 health from Felhoof Improved Leader of the Pack. (2329 Overheal) #354806

(this needs to be talked about more)

0:02'42.016 Felhoof's Savage Defense is refreshed. #354809

(This would be presumably from the second crit that I received)

0:02'42.125 Felhoof Savage Defense was removed from Felhoof. #354814

(And this would be it going away without actually being hit.)

0:02'42.375 Felhoof gains 5 Rage from Primal Fury. #354832
0:02'42.375 Felhoof gains 5 Rage from Primal Fury. #354838

(Finally, I get the primal rage from my two crits)


Here's my theory on how it works. My guess is that the server sees that you've done a crit, and there's some threaded process that sees this and runs off and runs all behaviors when you do a crit (like gain rage, do iLotP, etc), which kicks off other processes potentially. Meanwhile, the mob is still hitting you. So then you get hit, and you don't have SD up - so it's a full amount of damage.

And then we get into the bad part. The process that figures out how SD works comes in, sees that you got a crit at time X, and then gives you an SD proc. It then looks to see whether it should remove the SD proc (or something else does), and the way it does it is by looking to see whether you received an attack since the crit that produced the SD occurred (at time X). In the above, it did (even though nothing was absorbed). So it removes the SD proc.

Oops.

Now, what really bothers me is the next line:

0:02'42.016 Felhoof gains 2329 health from Felhoof Improved Leader of the Pack. (2329 Overheal) #354806

There are no heals that I receive between being hit here. How can this be an overheal - it comes directly after the actual attack I receive? The only answer is that the healing is calculated when the crit occurred too, as well as the amount overhealed - but the actual log message is after the fact. Which either means that the log can't be reasonably trusted...or that iLotP has similar behavioral problems to SD in terms of looking in the past to determine what the behavior should have been. In iLotP's case, it's actually doing the right thing - I should be overhealed here, because I crit before I take damage. But in SD's case, it should not do this kind of behavior. I see why they did it this way - it's the same thing as iLotP and primal fury, so why not do the same process? But because the actual proc determines whether or not something is absorbed, it can't reasonably do this.

The way to fix this isn't that hard, I believe, provided that this is possible: instead of checking whether an attack happened since you got a crit, you need to check and see whether an attack happened and was absorbed since the last time you got a crit. If it wasn't, don't remove the SD proc yet. This requires that whatever is dealing with SD can determine whether or not attacks were absorbed. If that's not possible, this isn't likely to be easily fixed. The other possibility is to have the SD proc object remove itself, which I would think is more easily done. In other words, the object model would look like:
crit-> create SD proc.
on attack: if SD proc exists, damage = SDProc.OnHit(damage)
SDProc.OnHit: newdamage = damage - (AP/4).
SDProc.Remove().
return newdamage.

While it wouldn't remove the latency, at least the behavior would be correct.

On comparing SD to armor and BoSanc - Astrylian rightly pointed out that it's a bit misleading to look at how much damage SD would absorb pre-armor, since that's mechanically not how it works, especially if you're comparing it to something like BoSanc. For instance, I was on average absorbing for 1462 damage per SD. On Ignis, that's 6.3% mitigation after the 23k post-armor attack and worth double what BoSanc says it'd do, right? Basically. It's not quite that good, but it's close compared to BoSanc. And BoSanc is good, so SD is doubly as good. And that's very true!

But how good is it compared to armor? Well, with my armor value as it stood I had 32301 armor for the fight, which gives 66.007% mitigation. That means pre-armor that attack would've done 66760 total damage. If I add 100 AP, I'd prevent another 25 damage of that post-armor attack, going from 1462 to 1487 (and that's the best case, assuming 100% absorption rate). But if I add 100 armor, I reduce the incoming damage by 47.

So in this case, armor is almost doubly as effective as AP on a per-point basis. Except...you don't get 100 armor worth of itemization for the same cost as 100 AP. Armor is way, way cheaper most of the time. For example, you can get 44 AP on gloves or 240 armor on gloves. You can also get 20 agi to gloves, which should after buffs be worth about 44 Armor - which means that 20 agi is more mitigation (in this case) than 44 AP is just from the armor - it doesn't count the extra avoidance or threat or even SD uptime.

Does this mean you should totally ignore AP? Probably not. It's just not worth that much. It takes a lot of AP to come close to what agility provides, but it does mean that you should favor higher AP over higher haste/armor pen/crit/hit/expertise. Okay, haste and armor pen you can see, sort of - but why crit/hit/expertise? Because those only determine the uptime of the procs, and that is (as demonstrated above) unpredictable at best. It may actually be that more crit ends up causing the above issue more; as you get more crits before an attack, you might overwrite an SD proc and cause it to disappear. Hard to say, but at least AP will always mitigate something. Still, AP doesn't come close to armor, stamina or agility.

Monday, August 18, 2008

[Druid] Addendum to Azgalor sucking

Here's the first anonymous report on Azgalor, where I took only 360k.

And here's the more recent one.

Can you figure out what the problem is? Thanks to EJ, I did. And I feel pretty dumb after hearing it.

As pointed out, I took 21% more hits in the worse one but the fight only lasted 6% longer. Or a total of 19 hits. However, the big thing was that the boss was parried 28 more times by people other than me in that fight compared to only 9 more times in the other. (he was thunderclapped 3 times as well, which also helped, but not so much that it would account for 19 more swings). That 19 extra parries is more than enough to get that many more hits in.

Which I really should have picked up on, since I argued for how awesome expertise is on mitigation in one of my very first posts. Heck, I even had graphs and stuff!

Sigh.

So to sum up: 19 more parries effectively meant 110k more damage over the course of the fight. Yeah, expertise is awesome for mitigation.

So what can I do to fix that? Possibly not a ton. I think I may swap the badge of tenacity for a shard of contempt; that should reduce the number of parries that I produce from 45 to around 35, hopefully. The armor loss will hurt but will hopefully be dealt with via buffs and lucky ancestral fortitude/inspiration procs; without the badge I'll be sitting at roughly 34.8k armor. Repositioning so that the NPCs don't get stupid will be the most important thing to do.

And this is why I like tanking some times - because while you can't always easily see what you did right and wrong, the information is often there. It's just something you have to think about a bit more.

[General] What makes tanking fun?


Ranty goodness ahead. Be warned.

Raiding can be damn satisfying, but a lot of the times it's frustrating as all hell. For me, that's especially true when I screw up. Causing the raid to wipe happens, and if you're not willing to accept you will do that, raiding as a tank is probably not for you. Nevertheless, I hate it every time I do it.

Last night I was fire tank on Illidan, and caused a wipe by getting too far from the other flame and causing an enrage. I know why I did it. I even know that I was pushing my luck on it. And it didn't happen again. I still hate that our first attempt was done because I failed to do my part. Yeah, we did great later that night, but it still bugs me when I personally let everyone down.

Then I almost died on Azgalor and honestly probably should have; at one point I had 37 health. That's insanely lucky. That means in the last 4 tries we've had on him, I've wiped twice and barely avoided a third time. This is a boss that is not at all hard and is tailor-made for druid tanking (no crushes, no magic attacks). Yet I'm sucking on it.

And I don't entirely know why.

After Azgalor I got to DPS for the first time on Archimonde, which meant I could see the WWS from the paladin tank. And...again, I don't see anything special here. The paladin tank takes more damage both in general and in max hits, sometimes by quite a big margin. The fight took less time for him, and that helps survivability a lot, but I just...I don't know. I don't see why it's so different. Quantitatively it doesn't look like it should be that different, yet our raid performance with others as tanks is better.

The prior raid I tanked Mother, where we wiped over and over. And every time it was because I died. Before this we regularly were killing her on the first or second try, so...argh. I can't even see what I'm doing wrong, other than taking tons of damage from spells. It may not be the best thing for a druid to tank. But I should still be better at it.

So I'm starting to really question me as a tank. I do this occasionally, especially when I do poorly. The fact of the matter is that we don't need a druid tank right now, and we only really need one for Brutallus and possibly M'uru. The DPS side despite my best attempts still isn't competitive, especially without other good buffs.

But damnit, I still have fun with it. I like tanking 5-mans. I have a blast tanking Magisters' terrace most of the time, assuming the DPS isn't idiotic. I love tanking ZA as a feral, where being able to switch from tank to DPS depending on the boss and trash is a huge bonus, where I can take a saber lash from Halazzi without another tank actually being around and expect that I'll live. I love the rush of tanking the flames of azzinoth and hoping the laser doesn't hit my side so the DPS can finish him off that much faster, and one of my favorite memories was tanking my flame, watching the other flame die and picking up their flame as well, delaying our wipe until later in the phases.

There is an absolute rush when you know you're in control. When you have that boss by the short and curlies and you know that no one is going to catch you on threat and your healers are bored enough that they start casting DoTs. When you pull off that amazing save that would have otherwise wiped the raid. When you blow your trinkets, pot, healthstone, do the idiotic frenzied regeneration and are praying that your dodge saves you that one time. When you plan it so that you don't have to stop tanking Bloodboil because your 90% dodge rate will make the debuff fall off. These things are exhilarating and awesome.

For me, a lot of the fun is knowing that I did well on my assigned task. Whatever it might be. And it's especially great knowing that I was a big part of us succeeding. It's not so much about the control or being the boss; a lot of times that drags me down. But doing good and knowing that because you did good, things went well and folks are happy? That's the big one for me.

Those moments aren't happening as much for me in raiding any more. I think a lot of that is dealing with people that don't care or aren't doing so well or are just unpleasant to deal with, but honestly that's been the case all along and it doesn't matter. It's the sinking feeling that I'm bringing the raid down, that I'm the reason we're not progressing as quickly or as well as others would like. And I'm not sure how to get that fun back.

Tonight we're going to hopefully look at Kalecgos for the first time. Kal is a fight that doesn't favor druids at all - lots and lots of spelldamage, plenty of places where having ohshit buttons would be very helpful. I may be sitting for it after dealing with the amazingly annoying trash. It looks like a really interesting fight from a mechanic perspective - lots of communication and organization is needed, lots of awareness. I hope I get to go.

And I hope I don't fuck up too much. Like I did here, where I got blown up in Solarian's room and was stuck in the ceiling for 10 minutes. Oops.
WoWScrnShot_040508_194939

So tell me - what do you like about tanking? Why do you do it? What gets you down?

Tuesday, May 20, 2008

[General] Dissecting WWS for fun and profit

Another night against Kael. We did make progress, but we were somewhat hampered by having neither of our fire resist warlock tanks signed for the raid. That slowed things quite a bit when dealing with Capernian. Still, we are making it through the weapons fine at this point. It's just dealing with phase 3 that's the real issue. We did get one good try at phase 4, and the fire resist set against the phoenixes was excellent. It seemed a lot easier to tank one away from the melee and from Kael and the healers than it was to kite it, and the damage I took didn't seem particularly bad.

What I'm going to do now is check out our WWS for what happened last night, and where we can improve. Kael'Thas isn't any kind of DPS race; while good DPS is important, the most important thing is to execute. It's an encounter designed to make a person freak out at every turn, and there are plenty of things that each player can do to wipe the raid. So looking at how much damage a person did, or how much healing a person did isn't that useful. Instead we'll look at some common problem areas and who may need to improve.

For instance: I didn't put on my fire resist set (yes, the one I talked about working on) prior to one of our attempts. It didn't end up wiping the raid as the fire resist is useless against conflagration and we didn't end up getting to phase 4, but it would likely have wiped the raid when I took too much damage from the phoenixes. You can't swap gear during the fight either; there's no time when you're out of combat. So you absolutely need to do it before you engage. That won't show up in logs, but I did want to mention it just in case I'm coming across as not having made any mistakes.

First up, Thaladred the Darkener. He needs to be avoided at all costs in both phase 1 and 3. We did stellar in phase 1, but he killed a lot of people in phase 3. Looking at the breakdowns, we can see that dragonstryke took the most damage from him. That's not that big of a deal however; this is over time. What is a big deal is people taking those huge hits. In the second try, Ghillie took a giant hit which killed him. Baelor took one in try 6, and juliand, dragonstryke, kixsty and holypm took a few large ones in that fight too. In try 7,scelyde was nailed hard, as was Juliand. In 8, it was holypm, Invincibull and Aedarg.

Tries 9 and 10 were our best. No one was hit for more than 7k damage, and that went to Juliand and Dragonstryke. That's pretty good, and what we need to do. What's also interesting is how many melee you see there. There's only two ranged on the entire list (kixsty and holypm). Other ranged did take hits, but those were survivable. Part of that makes me think that melee needs to stay away from Thaladred. Thaladred does need to die fairly quickly, but if he turns and kills a melee or three we're simply not going to have enough damage output to get to P4 cleanly.

Another example is the Cosmic Infuser. Our best try was try 10; in that, the infuser only got off 5 holy nova heals. By comparison, in try 9 it got off 11 holy novas and 3 heals. That was a difference of 125k healing. This is something that I think we improved on tremendously as the fight progressed; the interrupts became great towards the end and the weapons went down smoothly, and tries 10-12 had no heals and only a few holy novas.

We did a lot better on avoiding Devastation as well. I was the designated tank for it, and in some attempts I was the only one that took damage to it. In our best attempt I had thought Tarts died to it, but it appears that he did fine and probably used it to get some mana back via spiritual attunement.

What's bothersome to me is another observation by Silena that she was getting hit by the conflagration effect or the arcane confusion effect even though Neoto was using it. In the logs this appears to be the case as well; in our last attempt she gains the mental protection field, then 30 seconds...ah. It has a duration of 30 seconds. So whoever used it to give it to her must not have used it in that time. This means that we need to get better at spamming the field, having it macroed into regular used abilities, and using it all the time. We see that happen in try 12, where she is affected by the field it but it doesn't hit her again until 2 minutes later; by then both her and her target are dead. Looking at his log, it seems like he didn't use the field enough. Why that's a problem: because the field works weirdly. When you turn it on or move into range of someone, it overwrites any existing field. If you die, turn it off or move away, the old field doesn't come back into place. It's very easy in that fight for someone with the staff to move in range of someone, overwrite their shield and then move away. That's why it's important for everyone to constantly spam the staff ability. (actually, after looking at the log again it's clear what happens; the remote toy happens about 15 seconds before Silena gets aggro, she fails to heal Neoto, Neoto dies and then someone else comes in with a staff. So the staff was either not being used or Silena was not in range of its use).

I'm curious if others have had some specific issues with this fight and how to deal with them.

Wednesday, May 14, 2008

[General] Using WWS to calculate TPS

From MainTankadin comes this little gem - a WWS parsing tool that will output threat per second based on the logs.

This isn't useful for e-peenery. I'll say that right now, in case anyone cares. What it is useful for is gauging how actual changes in gear affect your threat from week to week and what the actual source of threat is in fights, especially as your role changes.

For example: this is the WWS of a recent Morogrim fight that I tanked. And from that report, I apparently did 803 TPS. That's not so bad; that means melee can put out 900 or so TPS, and ranged can do 1050 TPS without going over - and of course, they're salved and have other threat reduction caps. From this parse you can see that Maul is a huge part of the threat, more than any other single source. In this fight it is 37% of all threat generated.

What's more interesting is to see the miss numbers. 30% of all mauls were missed! That's a huge chunk of potential threat, right there. I believe for Morogrim I was wearing my max avoidance gear, so that explains that.

This should demonstrate how good the brooch of deftness and other hit/expertise items really can be. For instance, just from maul, if I were using the brooch of deftness I would have reduced that miss percentage from 30% to 25%, roughly. And just from mauls, that would have increased my threat by 2.6%. Just from mauls.

It should also tell you how huge maul is for threat generation. Morogrim is an interesting fight in that you want to max avoidance and you will also often be rage-starved, because he will get big strings of misses or just choose to not swing for a while. Survivability is the big key for Morogrim, not threat. For a threat race you can look at something like Void Reaver. VR also wants as much avoidance as you can muster (so you can avoid the knockbacks) but also as much threat as you can muster (so you can hold onto him after them). In this fight I went for more of a threat-centric build, and it showed - my mauls missed much less (18%) and my threat was at 923 TPS. In that fight, maul actually made up even more of my overall threat - simply because I used fewer normal swings.

Up until recently I hadn't quite realized how large a threat value maul really is. This should show both the value of damage to your threat and the value of hit. It also shows how badly threat scales for bears; Maul only adds 176 damage per hit, no matter what, so as you increase in gear the relative threat that this produces becomes lower and lower.