Sunday, December 15, 2013

WoW: PRESS ALL THE BUTTONS! Convergent Design in Class Mechanics



In many MMOs, WoW being a very prominent one, there’s the idea that classes should be relatively unique. I mean, what’s the point of playing a Priest if the class feels like playing a Mage, but with white spell effects rather than blue, right? But at the same time, there are a lot of factors that create tension with that concept.

One is ensuring all classes have the same base toolkit so they can solo effectively. Everybody needs an interrupt, some sort of minor self-healing, a defensive cooldown, an offensive cooldown to be able to burst DPS, and so on. It still leaves a fair bit of wiggle room as far as design space is concerned, but giving all of those tools to each class definitely reduces the disparity across classes.

Another concept is the idea of convergent design. As you iterate on different designs and pull in concepts that work from other classes, and discard the ones that don’t work, you’ll approach an ideal set of mechanics if any such ideal exists. Now, ideal in this case is somewhat subjective, but at the same time, there’s a few cases where objectively you could say a mechanic just sucked.

One such example is the Retribution Paladin class from Wrath of the Lich King. When building a set of player-based mechanics, you need to introduce some kind of limiter, a resource of sorts, otherwise the player will just spam the highest damaging (or healing) ability (See: Arcane Mages). In first-person shooters, often ammunition is the limiter. For Retribution in Wrath, cooldowns were the limiter. When you use an ability, it goes on “cooldown” such that you cannot use it again for a period of time. Some abilities may go on cooldown for a few seconds, while others may be minutes.

The issue with Retribution in Wrath, however, was that there were not enough abilities to use to fill in the space between cooldowns, such that the class devolved into “First Come First Serve”: if an ability was off cooldown, hit it. Otherwise, wait. You could throw every attack you had onto a single macro and spam that button, and achieve near-max DPS. Hence the nickname “lolret”. You could pretty much literally faceroll your way to victory, which is clearly a failure in class design. That’s not engaging whatsoever. (See: http://korecsguidetoret.blogspot.com/2008/04/how-to-retribution.html for an example of just how... empty the Retribution rotation was in Wrath).

With apologies to Allie Brosh
Now, at the same time as “lolret” was occurring, Enhancement Shamans also got a makeover. Their new mechanics used a “Priority System” as the primary resource rather than mana/focus/rage, which is to say you’d often have multiple abilities off cooldown, and each ability has a priority. Higher priority abilities should be used first, and you’d need to re-evaluate what abilities are off cooldown each time you used an ability. Now, you could reduce this to a single button same as Ret, but Enhancement also had a little bit of extra sauce where multiple abilities were placed on the same cooldown, and you had to make a judgment call on which ability to use: Flame Shock vs. Earth Shock (or Frost Shock), Searing Totem vs. Magma Totem, and Lightning Bolt vs. Chain Lightning. (See:
http://wow.joystiq.com/2011/06/04/totem-talk-state-of-the-enhancement-shaman-address/ for a bit of history here).

The difference is subtle, but important. Both classes used cooldowns, but not having enough buttons made the class too simple, and having too many buttons (ye olde Feral Druid) would make the class obscure and not fun except to the most masochistic of players. There was a balance to be had there. And if you didn’t include branching in your rotation, then you could reduce the rotation to a single button, regardless of how many buttons you had.

(Simplified) Feral Druid Rotation Diagram from days of yore.

Fast forward to today, where Blizzard has learned these concepts and applied them. Funnily enough, Enhancement has changed very little since Wrath, with the exception that damage has been spread to active abilities rather than in auto-attacks and auto-procs. If anything, Enhancement has become more complex, with the addition of Unleash Elements and Lava Lash spreading your Flame Shocks to increase the amount of interplay between your abilities.

Retribution, however, is looking a lot like Enhancement Shamans these days. Retribution now has a full-out Priority System, with multiple abilities sharing cooldowns to ensure you have to make decisions on the fly. They both have a finisher-based resource system, too.
Quick note, a useful tool in Computer Science, and mechanic design in general, is abstraction. Basically, divorcing your discussion from flavor and boiling it down to the base components allows you to more easily compare your Granny Smith to your Red Delicious: in the end they’re both apples, and that’s the important part. But of course, you want to make sure your abstraction is correct for what you’re doing, and not too abstract, or you’ll lose the essence of your conversation. For example, Ret and Enhance are both Priority System classes, but all classes are Ability-Based classes. The former is a useful abstraction, whereas saying all classes use abilities is not a useful abstraction.

So let’s compare the two:


Retribution
Enhancement

Priority System
  • Multiple abilities off of cooldown simultaneously

Priority System
  • Multiple abilities off of cooldown simultaneously

Mana-Based
  • But Mana regenerates so fast as a part of your normal rotation as to only be a limiter if you’re spamming heals.

Mana-Based
  • But Mana regenerates so fast as a part of your normal rotation as to only be a limiter if you’re spamming heals.

Secondary Resource: Holy Power.
  • Gained on ability usage.
  • Funds finishers (Divine Storm, Templar’s Verdict).
  • Also can be used for Healing (Word of Glory).
  • Used for DPS maintenance (Inquisition).
  • All-or-nothing. Using partial amounts either not generally beneficial, or not possible.

Secondary Resource: Maelstrom Weapon
  • Gained on melee attacks at random. Gained on ability usage at random (Stormstrike, Lava Lash).
  • Funds finishers (Chain Lightning, Lightning Bolt).
  • Also can be used for Healing (Healing Surge, Healing Rain, Chain Heal).
  • Using partial amounts can be beneficial.

Rotation Branching
  • Templar’s Verdict vs. Divine Storm vs. Inquisition
  • Crusader Strike vs. Hammer of the Righteous
  • Seal of Truth vs. Seal of Righteousness

Rotation Branching
  • Earth Shock vs. Flame Shock (vs. Frost Shock)
  • Lightning Bolt vs. Chain Lightning
  • Magma Totem + Fire Nova vs. Searing Totem

DPS Maintenance
  • Inquisition once per minute

DPS Maintenance
  • Searing Totem/Magma Totem once per minute
Ability Interactions
  • Exorcism, Crusader Strike, Hammer of the Righteous, Judgment, Hammer of Wrath -> Holy Power
Ability Interactions
  • Searing Totem -> Searing Flames -> Lava Lash
  • Stormstrike -> +Crit for Lightning Bolt, Chain Lightning, Earth Shock
  • Unleash Elements -> +30% Fire Damage -> Flame Shock, Fire Nova
  • Lava Lash -> Flame Shock
  • Stormstrike, Lava Lash -> Maelstrom Weapon
  • Flame Shock -> Fire Nova

So looking at the two, they play quite similarly, with the exception of utility, where a lot of the flavor lives. Paladin Hands versus Shaman Totems. How the different abilities interact is also a major difference. For Retribution, it largely doesn't matter what order you use your abilities in, because they don't interact with each other. You just pick whichever one does the most damage that's not on cooldown and away you go. Enhancement, however, has an amazing amount of synergy between all of their abilities. This does make the Priority System for Enhancement a bit more rigid, however. Use the abilities in the wrong order, and you'll hurt your DPS pretty significantly, whereas Ret doesn't really care too much.

Now, there are subtle differences between Holy Power and Maelstrom Weapon. For example, Maelstrom Weapon is technically random, so if you get a particularly bad streak of procs, you may be stuck waiting for your Lightning Bolt (or heal), whereas Holy Power is like clockwork. Holy Power also allows you to perform finishers nearly back-to-back, with only a single GCD in between, whereas Maelstrom Weapon is technically not needed for Enhancement’s finishers. It just makes them cost no mana and cast instantly, and even a partial stack helps that out.

In the end, though, they feel pretty similar when you’re in the thick of things, but overall it just feels like Retribution is a poor man's Enhancement. The skill threshold to get the most out of Ret seems to be way lower than Enhancement's (which may be why I like Enhancement so much more).

If I knew more about Rogues, or Feral Druids, I bet I’d be able to see a similar comparison. But it does feel like these Priority Systems with Branching are the natural evolution of MMO rotations, and we are seeing convergent design in action here.

Blizzard has been talking about paring down the number of buttons on people’s action bars, and I’ll be interested to see how they manage this without destroying rotations in such a way that we’re back to the “lolret” design. Removing too many buttons means you now have a “First Come First Serve” rotation, and can just make a macro with all your abilities, and removing branches also has a similar effect, though I suppose one could make the argument that branches have the greater effect here, but not enough buttons means you have big gaps in your rotation, and that can often feel “clunky” in the Ghostcrawler sense, because not hitting buttons for 5 seconds is really, really not fun, though having the occasional 1.5 second gap allows you to throw in utility or off-healing.

5 comments:

  1. I've given this idea some thought lately and the classes do tend to fall into relatively similar camps. Your "Priority Systems with Branching" concept is one I'd call "Cooldown-Limited" instead but that's obviously a broader definition than you're looking to hit here.

    Thing is, though, I think at best what you're describing is the eventual end-point for a MELEE rotation... casters/ranged play differently and I'd argue the point that I much prefer the WW monk style (rapid collect/spend, kind of like a rogue in a hurry) to the paladin/enh/warrior cooldown-limited style where you have to pay significant attention to timers... so I'm not even sure your conclusion is the correct one. I think the reason there are a number of different types of rotations, even within melee, is because certain players can prefer certain styles and likewise dislike others. I prefer pushing buttons to waiting but I know others prefer the slower, more methodical pace of a cooldown-limited rotation (which also has the benefit of being more lag-friendly).

    I do believe there's value in putting particular specs in groups with other specs to help players find synergistic alternate classes to try out... a cooldown-limited spec like a ret pally translates better when moving to a warrior than a late-expansion high-haste rogue button spammer. A DoT-loving warlock will probably find more to like playing a shadow priest than a frost mage. which is more of a filler/proc playstyle.

    Might also be interesting to look at the specific rotational elements that different classes have in common, things like rotational cooldowns (Crusader Strike), DoTs to track (Shadow Word: Pain), self-buffs to track (Slice 'n' Dice), debuffs to track (Rising Sun Kick), spammable fillers (Frost Bolt), combo points / finishers (or gather / spend in general since I wouldn't really classify destro warlocks or ww monks as combo point / finisher classes since their finishers don't scale with additional points but I'd probably put them in this category as well), procs (Pyroblast!), priorities, synergy (bank Rage for an Enrage), etc etc. Most rotations are a sum of those individual elements and each works better for a certain type of player, I imagine most players, even experienced ones, would perform a lot better using the stock UI on a frost mage than a shadow priest, for example... personally, I'm okay tracking things but I tend to prefer classes with fewer elements to track.

    There are also a few elements unique to classes or specs... spammable resource generator (Steady/Cobra Shot), gimmick resource (Eclipse)... might be others as well.

    ReplyDelete
    Replies
    1. "Thing is, though, I think at best what you're describing is the eventual end-point for a MELEE rotation... casters/ranged play differently"
      ~Ah, yes, great distinction, thank you.

      "I'd argue the point that I much prefer the WW monk style (rapid collect/spend, kind of like a rogue in a hurry) to the paladin/enh/warrior cooldown-limited style where you have to pay significant attention to timers..."
      ~ WW seems to be a Priority system with a secondary resource that funds finishers if the description of the class rotation on Icy Veins is correct: http://www.icy-veins.com/windwalker-monk-wow-pve-dps-rotation-cooldowns-abilities

      If you have an abundance of Chi, you use a finisher, which include Tiger Palm (your DPS maintenance), Rising Sun Kick (cooldown), Fists of Fury (cooldown), Chi Wave (cooldown), Blackout Kick (if everything else is on cooldown), and your Chi builders branch depending on if you want to use Expel Harm, Jab, or Chi Brew.

      Granted, by flipping the system on it's head and making a bunch of finishers, but really only a couple of abilities to build up that resource, Blizzard did make a class that feels pretty unique despite using all of the same building blocks. And as you point out, there's a lot quicker back and forth between using your primary resource (Energy) and your combo-point secondary resource (chi). So perhaps this shows that even using the same mechanics, by rearranging them and rebalancing them, you can achieve a different feel for a class. But even a difference such as having a spammable base attack (Jab) versus not having one at all (Ret/Enhance) does seem to make a difference. I wonder if that makes the baseline difficulty of a class higher, lower, or just different?

      "Might also be interesting to look at the specific rotational elements that different classes have in common,"
      ~ Basically take my table where I broke down those classes, and start breaking down other classes' rotations into their component elements and find common ground? I think that's a fantastic idea. I may have to look into that more myself, though you've got a pretty decent start there. And such a study would be useful, too, because if you wanted to build a new class, or steal a concept that works well, it'd be pretty easy to do so.

      Thanks for the great comment, gave me some food for thought!

      Delete
    2. Yeah, my WW description was brief, the original comment I wrote and killed before publishing risked being longer than your original post and did go into class-specific breakdowns but a) I had more trouble doing that than I expected and wasn't terribly happy with my conclusions, it's hard writing long-form in these 5-line comment boxes and b) see above about being longer than your post. So I was trying more for basic points in what I eventually published.

      You're both right and wrong about WW. There are priorities but those only come into play if you have more than one option available and that doesn't often happen, cooldowns typically determine what button you hit next but even then I wouldn't really classify it as a cooldown class, it doesn't play anything like a paladin or warrior.

      It isn't even really a build-spend rotation like a rogue since it's so far... each Jab gives you 2 chi and the rotational spends are 2 chi each (Tiger Palm is 1 but it usually isn't cast rotationally, Combo Breaker procs for it tend to keep the buff up and it isn't worth hitting outside of a CB proc if the buff isn't expiring). If anything, it's more like a faster version of the old paladin 969 rotation... call it a 39363(15) rotation or somesuch. :) Basically, literally, build-finisher more often than not. It's very fast, at 7K+ haste (which I run, although I believe the top monks run a lot less in general, some under 4K) I have almost no wasted GCDs per minute, maybe one or two, even on tank and spank fights. I can't think of any other melee class that has that level of activity and I really enjoy it, it's very engaging.

      One of the issues that I had with categorizing classes is that I'd argue that I find the frost mage rotation more similar to a ww monk than I do a combat rogue... which seems nuts on pretty much every level but I have a much similar "always something to do" vibe playing it than I do on a rogue. And I *like* rogues, I played one as a main in Cataclysm and enjoyed it a lot... that isn't a shot at rogues. But the rogue rotation feels a lot slower than the monk rotation does even if it has some surface similarities.

      I am a bit surprised that someone hasn't tried to do that already, though... not that I've seen, anyway. I've also never seen a true class 101 post either, for that matter. Most of the content out there is either more general purpose or is aimed at the higher skill players, it seems.

      Delete
    3. Agreed with R. There might be a few specs which are somewhat similar but most feel very different from each other. Even an Assassination Rogue feels very different from a Combat Rogue...the latter is all about spamming lots of buttons fast and using cooldowns fast and it feels very hectic. Assassination Rogues are far more slow and methodic and care about precise timing to maximize Envenom buff benefits.

      Delete
    4. Oh, I'm not saying the classes all feel the same. Even with the same tools, utilized in different manners and weightings you can come up with something entirely different in feel, though at the same time there are definitely nuances I'm missing because of my unfamiliarity with other melee classes, no doubts about that. I really ought to level a warrior past 30 one day...

      Delete