Friday, November 03, 2006

There’s been a lot of good stuff that’s happened lately, mostly involving Thayet in one way or another (e.g., seeing Flyboys with her, even if I did forget to invite the Duelist; Jammix, even if she did get hurt; the Halloween Gaskell’s, even if we didn’t go). I could blog about that, but I’m not going to. Instead I’m going to blog about World of WarCraft. Note how I have cleverly made mention of the topics of more general interest before delving into the topic of specific interest.

I haven’t touched Aya Silkrose in a long time, but I’ve been having a blast playing Jasica with my weekly five-man of myself, the DM, Ayudaren, Twilight, and Kathelia. We have an extraordinarily conventional party build (warrior, priest, rogue, mage, and shaman in that order), but our party is far from conventional. Quite simply, we are the most awesome party I have ever been a part of (no offense to Alexander or my erstwhile crew on Hyjal). To give you an idea of how awesome we are, allow me to adduce two simple facts.

Fact the first: we cleared the entire Scarlet Monastery Armory in thirty-five minutes with a party that ranged from level 36 to 38.

Fact the second: we have engaged and defeated nine (count ‘em, nine) elite mobs in a single engagement, all of whom were our level.

If you aren’t well-versed enough in WoW to tell how awesome that is, take it from me, it’s awesome.

I could go on and on about just why we’re so awesome, but that would feel like bragging, so let me take this opportunity instead to set down on paper a few thoughts about tanking, since that’s my role in the party. “Tanking” is a word that I dislike, since the role of the “tank” in a MMORPG does not remotely resemble the role of an armored fighting vehicle, but it’s the only word there is for the concept, so I’m stuck with it.

All combat in WoW, I believe, boils down to two quantities. The first quantity we will call “party resources.” This is a conglomeration of all the party’s assets, which can in turn be generalized as: how much damage the party can take before it dies, how much damage per second it can project upon the enemy. Party resources are reduced in a number of ways: mana can be expended, consumables can be consumed, abilities on a cooldown timer can be used and made unavailable for a while, somebody can die. The second quantity is the enemy’s resources – how much damage per second they can project, how much damage they can take before they die, etc. Players emerge from combat when they force the enemy to expend his resources faster than they expend theirs; the more party resources left over when the enemy’s have been exhausted, the easier combat will seem.

I’m pretty sure that efficient management of party resources is, on an analytical level, what sets Jasica’s party apart from all the others I’ve played in. We almost never expend resources by forcing somebody to do something that isn’t their job. For instance, if the mage has to cast frost nova and then run a few steps away, the party has expended resources inefficiently. He wasn’t supposed to have to do that. He was supposed to be using that mana to kill things, not keep from dying. And he was supposed to use that time killing things, not keeping himself from dying.

This naturally raises the question of what people are supposed to be doing. This is really a question of how they best contribute to the party’s resources and how they best contribute to diminishing the enemy’s. In MMORPGs there is a classic trichotomy of roles: some classes contribute best through “damage per second,” or DPS – that is, projecting force onto the enemy. Some classes contribute best through healing - extending the life of the party. And some classes contribute best through “tanking.”

But what is tanking? It is often said that a tank’s job is to take hits. This is untrue. It is true that the tank has the responsibility of taking hits – i.e., if somebody is going to be hit, it ought to be him - but that is not his job (unless he’s a druid or a paladin). Taking hits, as anybody who hasn’t been indoctrinated into MMORPG-speak can instantly see, only diminishes the party’s resources. Getting hit is a bad thing. All things being equal, a tank would rather not take hits. In fact, a warrior getting hit is a concession to the fact that he doesn’t do enough damage. (Absent thorns, flame shield, retribution aura, a naglering, or something similar, the only benefit to getting hit is generating rage. And getting hit is a very inefficient way to generate rage. For those of you who care about math, from a rage generation standpoint, every 57 points of damage Jasica takes at level 38 from a level 38 opponent could be replaced by an extra 19 damage she inflicts – and given the choice of inflicting 19 damage or taking 57 damage, obviously a tank would prefer to inflict damage). A tank’s job is to generate threat.*

This simple (but all too little appreciated) fact can be seen from the following observations. A tank contributes to the fight in two ways. One, he stays alive (preserving party resources – he’s useless if he’s dead). This is a benefit because he is the cheapest cost avoider for taking hits, as we might say in the legal world. Given that the party is going to take X amount of damage from the enemy, that damage should fall on the tank rather than anyone else because the tank mitigates it the most (by virtue of having the highest armor in the party). There is a net gain to party resources when X gross damages falls on the tank rather than falling on anybody else, and thus a tank getting hit “contributes” to party resources, which is untrue of every other role (again, if somebody has to get hit). Two, the tank contributes to a fight by defining the maximum safe amount of damage the party can inflict. The amount of damage each party member can inflict (or the amount of health each party member can heal) before drawing the attention of the enemy is a rigid and mechanical function of how much threat the tank has generated. Feint, fade, and even feign death don’t change the fact that the maximum safe threshold depends upon the tank’s ability to project threat. Now here’s the trick: there is one and only one of these functions that only the tank can affect. We identify that function, and we have identified the tank’s job.

The entire party contributes to keeping the tank alive. The damage-dealers contribute by killing the enemy – the faster the enemy dies, the less damage the enemy inflicts. The healer contributes by negating the damage the enemy actually inflicts. The tank contributes through his armor and defensive skills, reducing the amount of damage he takes in the first place. And a deficiency in one of these areas can be made up by a surplus in the others. Even a tank with no armor at all can be kept alive indefinitely if the enemy dies fast enough, or if the healer can heal for long enough.

But only the tank can raise the safe threshold. If the tank is not producing threat, the healer cannot efficiently heal, and the damage dealers cannot efficiently deal damage. The more threat the tank generates, the more force the party can project and the more damage the party can heal. And nobody else can contribute to this threshold.

One of the consequences of this observation is that, in my party at least, it argues against ever having an off-tank. It might be different in a party with a paladin (though I doubt it), but in a party whose off-tank is a shaman it is manifestly inefficient to off-tank. This is not because our shaman is incapable of off-tanking. It is because she has better things to do with her time and mana – namely, kill things (which contributes to my survivability and makes efficient use of her resources, whereas if she was off-tanking she would contribute to my survivability but make inefficient use of her resources). This requires that I routinely tank multiple enemies at once, but that’s really not that hard if my focus is on threat generation and not on staying alive (one reason Jasica always tanks dual-wielding unless we’re fighting something that’s easy to tank and will take a long time to kill, like a boss). Tanks need to learn to think about tanking in terms of multiple enemies. Everyone agrees, I think, that any rogue worth his salt should be able to kill two enemies of his own level. If I may be frank, any tank worth his salt should be able to tank two enemies of his own level—really, he ought to be able to tank three. Beyond three, I’m willing to concede that exogenous crowd control may start becoming necessary. But again, if somebody’s going to be hit, it’s the tank’s responsibility to ensure that it’s him. That is the most efficient use of party resources; it doesn’t change simply because there’s more than one foe.

Group tanking is really not as hard as I feel people often make it out to be. If the party is doing its job, the damage-dealers will be focusing on only one of the multiple enemies. The threat mechanics of WoW will then make the following true: the tank will have to generate more threat than only two of the party’s four other characters. Those two are the leading damage dealer and the healer.

Even if there are three damage dealers, as there are in Jasica’s party, it is obviously true that at any given time one of them will be doing more damage than the other two. That person, then, is the one the tank must out-threat. This should not be especially difficult. If a tank can’t generate more threat than his leading damage dealer, there’s either a great disparity in gear quality or the tank should turn in his sword. This just leaves the healer.

The healer is somewhat trickier because, unlike the damage dealers (who generate threat to their target only), he generates threat to all enemies simultaneously. This will mean that in order to stay ahead of him, the tank will have to occasionally hit the other enemies with a major dose of threat (it’s been my experience that trying to tank with nothing more than area-effect threat generators like a warrior’s shouts is a mistake. Those can be useful, but it’s far more reliable to expend the resources necessary to whack the other enemies with a sunder armor, maul, swipe, cleave, or even just a rend, if you do it early enough). Fortunately this doesn’t have to happen too often thanks to the threat math (even for a healer with no threat reducing effects and a warrior or bear with no threat enhancing effects, each point of damage the tank deals is 3.38 points of health the healer can safely heal. With talents that number goes up to 4.52). This can be somewhat difficult because the need to stay ahead of the healer means the tank must divert some of his available threat pool away from staying ahead of the primary damage dealer – which only emphasizes again why the tank’s job is to generate as much threat as possible, and not to take hits or to have lots of armor.

An interesting efficiency falls out of this, once it falls into place: a tank who tanks multiple enemies in this fashion actually makes the entire fight easier, not only on everybody else but also on himself. This happens in two ways. First, the damage dealers are not expending resources (including time) defending themselves, so the enemies die faster (which contributes to the tank’s survivability). Because the enemies die faster, the healer has to heal less, and so generates less threat, and is so easier for the tank to stay ahead of in terms of threat generation. Second, because only the tank is taking damage, the healer only has to heal one party member. This has numerous benefits from the tank’s standpoint. For one thing, it means the healer’s entire attention is directed at the tank, which increases the tank’s confidence that the heals will come through in time. For another, because the tank is the best damage mitigator in the party, it means that the healer is healing the minimum possible amount of damage – and so generating less threat, and so making it easier for the tank to stay ahead of him, and also expending the minimum possible amount of mana, thus prolonging the party’s resources.

Which is why the tank’s job is not to take hits, and not to have lots of armor or hit points. Those are things the tank may have to have or have to do to fulfill his job, but his job is to produce as much threat as possible. It’s a fairly simple observation, but one that a surprising number of tanks don’t seem know. And while I think I’m a pretty good tank in terms of my situational awareness, reflexes, and ability to estimate multiple threat levels on the fly, to the extent that Jasica’s tanking is exceptional, this is why.

* “Threat” is the intangible substance that determines, in a rigid and mechanical fashion, who the enemy attacks. Tanks have a variety of tricks up their sleeve to generate threat. Damage-dealers generate threat primarily by dealing damage. Healers generate threat primarily by the act of healing. Note that for the other two core roles, threat is generated primarily as a function of doing their jobs. So everybody is constantly generating threat; the trick is for the tank to generate threat faster. The math is slightly more involved than this, but for layman’s purposes it works like this: If the tank generates more threat than anybody else in the party, the enemy attacks him. If somebody else generates more threat, the enemy attacks that person – and that person then has to stop what they’re supposed to be doing to defend themselves.


Twilight said...

Can I give this link to some warriors I know?


Natalie said...

By all means, go ahead.

Oswell55 said...

Very interesting and educational post. The term "tank" may not be too far off after all. The three classic roles of AFVs are to defeat the enemy through fire, movement, and shock. It seems to me that your explanation of threat is quite analagous to "shock", in that it is a mental state that one induces in one's enemy.

Natalie said...

I suppose that's actually a better analogy than I had thought of. I'm pretty sure the name "tank" came from the traditional [mis]understanding that the tank's job is to stand there and get hit, on the theory that he has the most armor and can best afford to get hit. Obviously that's not a good analogy to AFVs at all - no tank wants to get hit, no matter how good its armor is. But you've got a good point about shock. I suppose the only difference is that an MMORPG tank is the role least suited to finishing his opponent once he closes with it, whereas an AFV in the shock role is still supposed to have the resources to finish its target.

Justin said...

Nice post, and I think you're fundamentally right that the problem a lot of tanks have is in not thinking about their roles in the right way (i.e., generating threat). I will say, though, that in playing with the Hyjal crew I've also discovered a fair bit of fun in seeing just how much we can "get away with" - just how much can Adia evasion tank, or how many times can Sleet and I bounce aggro back and forth on this poor hapless mob? It is a different sort of fun - not the fun we used to have in marching through and efficiently annihilating Strat, but the playground fun I imagine professional basketball players have when they play HORSE in practice.

Ayudaren said...

For those interested, the record for the Scarlet Cathedral, as of 11/12/06, is 48 minutes.

mxu said...

this post made me want to pick up WoW, and I've never played before. Heh=) fun stuff.