Hello! I’ve written a lot over the years about my work overhauling the Warlock class in World of Warcraft, and at last we’ve reached the long-awaited final chapter.
Thanks to all of you over on Twitter for the push to get this done.
The Demonology Identity Problem
Like I talked about in an earlier post, Warlock had an identity problem. We’d been working on this by focusing on the core fantasies of the three Warlock talent trees:
- Affliction made you the pain weaver, precisely juggling a variety of effects and DoT.
- Destruction made you the apocalypse bringer, capable of massive damage.
- Demonology was . . . all over the place.
Demonology gave you an extra-high-DPS pet (that even had an AoE stun melee ability!), but also an odd mix of the same spells as Destruction and Affliction. It lacked a unique identity from a mechanics standpoint.
For those not well-versed in game design concepts and lingo, game mechanics are the fundamental features that create gameplay.
- A primary mechanic is the anchor that defines a portion of gameplay
- Secondary mechanics interact with that primary feature to vary the experience
For most of Demonology, there was only one anchoring feature: your pet.
Thus, the most memorable skill (and the only significant survivor from Classic) was Soul Link. This transferred damage from you to your pet, turning it into an extra pool of health. In addition, this spec also gave you +15% extra health from increased Stamina.
As a result, the Demonology Warlock identity was pretty much just . . . toughness. They were tougher than the other Warlocks.
On its own, this wasn’t very interesting. So I decided Demonology was the place to get wild.
And wild I got.
By the way, as you’re reading this post, if you have any questions or issues implementing you can get free help in the #game-design channel in Funsmith Club Discord, or you can DM me there.
Get notified each week on the latest game design tips, guides, templates, and workshops that I don’t share anywhere else here
Idea 1: What If Demonology Was Like Pikmin?
Instead of just one or two demons, Demonology Warlocks would have lots and lots of pets at the same time.
Celestalon, I recall, particularly liked this direction, but it just wasn’t quite working for me.
Plus, this idea made the server engineers quite unhappy. Shamans having six totems was already too much, they said.
Several cool ideas came out of this iteration though, as we were using different colors of imp to try out different mechanics. One of these would become Wild Imps down the road.
Idea 2: What If Demonology Made the Player the Pet?
The idea here was to create rich skill sets for the pets, and have the Warlock essentially become an auto-casting turret that followed the pet around.
This was a wild one – and I wish I had embraced it harder. Chris Kaleiki suggested it, and I pushed back hard on it, as I couldn’t imagine a healthy way to control the Warlock directly in PvP.
Ghostcrawler likewise pushed back, saying that creating rotations and abilities for the Warlock pets would be supremely burdensome, and supporting all of the mechanics Warlocks could do in pet form would be tricky.
How would pet death and resummoning work? Would switching control between caster and pet disorient the player?
Looking back now, I think this idea had some promise. Requiring both the Warlock and the demon to die to defeat the Warlock would have solved some issues with pet or caster death, and it could have been a really cool variation on the Shapeshifter . . . but I agreed that it was too much work.
However, this idea of role reversal was essential to the next iteration.
Idea 3: What If the Warlock Was in Melee?
If the core of the Demonology tree was survivability and pets, why not invert the dynamic? What if the Warlock was supposed to be in the fray, while the pet stood back and unloaded spells?
However, there was a problem: pets were melee and Warlocks were ranged casters. It didn’t make sense to make the ranged unit the tank, so I inverted it. I’d make Warlocks into melee characters.
Reworking the Metamorphosis skill seemed like the right way to accomplish this. To me, it had always felt rich in theme but poorly executed. (This despite my insistence to Kevin Jordan that it be added to the Warlock kit in The Burning Crusade – sorry, Kev!) It came with a cool model change, but under the surface it was just a DPS increase.
Because the driving vision of the Warlock rework was ‘Embrace the Themes,’ I knew redesigning Metamorphosis with a melee demon form was a rich opportunity space.
I decided to take a weekend and just prototype it out.
This. Was. Nuts.
I decided that I would let no convention, rule or reason stop me from trying this out. If I’m going this far, I thought, why not go all of the way?
So I started from the beginning. How would I redesign World of Warcraft melee from the ground up?
If you are one of the players who thought I’d already gone down a rabbit hole with this direction, you should have seen the concepts I put together for the melee Warlock. I changed the game entirely:
- Rather than locking onto a target, in demon form you performed sweeps that would slash any enemy in front of you.
- I used the tech being developed for the Monk roll to create rapid side-stepping and back-stepping attacks, and used Demonic Leap to close the distance with an AoE stun.
- I even gave them a Rage-like Demonic Fury bar used to resummon pets after charging it with skills and melee.
It was wild, it was interesting, and it was an absolute mess.
- The controls were rough, brittle and confusing.
- The arc attacks worked but gave little to no feedback on which enemies were hit.
- Hit stun was simply not something we did in WoW, for good reason.
- The auto-attack nature of combat meant that side- and back-stepping did nothing to avoid melee attack damage.
- Worst of all, lag could cause you to move on your client but not update the server in time to dodge an attack.
It was an unmitigated disaster in an engine that wasn’t built for it, and a combat system that didn’t support it.
Even if I could get the mechanics to work, there was no way to get enough animation resources to make it feel good. The Monk class was eating 100% of the class team’s animation budget at the time, and getting more than an animation or two was too big an ask.
So I never even showed it to the rest of the team. No one but me and perhaps one engineer who had to go through and erase the old scripts years later ever found that monstrosity of an experiment.
However, this failure did lead to a number of insights:
- Getting close to the enemy was essential for the Warlock tank.
- Getting close means AoE effects work well.
- Warlocks already had a great close-range AoE, but it was boring to use.
- Well-timed defensive play was fun.
- The idea of a Warlock in demon form taking less damage was intuitive.
P.S. For those Classic Warlock players, yes, the idea of the Firestone coming back for this kit came up. It did not last, but just so you know, I did think of you . . . weirdos. 😉
So I brought these lessons into the next idea.
Idea 4: What If the Warlock Was the Tank?
As long as I was in total brainstorm mode, I decided to explore ignoring a fundamental assumption of the Warlock class. What if Demonology didn’t need to be a DPS spec? What if, instead, the Warlock was the tank to an array of high-damage pets?
As a talent tree designer on the Unholy tree for Death Knights, I knew that this worked in theory, but that it had a lot of rough edges. For instance, the melee/melee relationship Death Knights had with their ghouls created a lot of clutter.
There was another problem in PvP: if the Warlock was hard to kill, the pets would just be annihilated. We’d need to make resummoning them a regular component of the design, but not so easy that killing the pets felt pointless.
Likewise, the pets’ survival should feel important to the Warlock and their party, but they shouldn’t feel burdensome to heal.
This was one of the major issues with ‘Blueberry’ (Voidwalker) tanking in WoW Classic and beyond: since healers couldn’t easily heal in the UI, enemies could often burst down the Voidwalker too easily.
My solution was a change to Soul Link. If Soul Link shared healing as well as damage, then suddenly the burden of healing the Warlock’s pet wouldn’t be as much of an issue.
I had suggested this in the past, but the past Warlock class designers hadn’t seen a need to make Warlock pets harder to kill. They weren’t wrong at the time, but this redesign made pet survivability more important.
It worked perfectly. The bonus 30-50% health pool suddenly made it viable, if challenging, to keep a cloth armor character alive while tanking a dungeon boss.
Not bad for a weekend of work, but it came with a terrible problem.
I showed the quick concept to Celestalon, a Druid player who had been hired to the class and balance team due to his work on a DPS simulator called Rawr.
He looked at it for two seconds and said: “First off, you’re crazy. Secondly, now the Warlock does a full DPS class’s worth of damage and is impossible to kill? How are we supposed to balance that??”
Me: “Well, we’re always saying keep it stupid and simple – what if I just put -20% damage dealt and taken penalty on the Warlock and call it done?”
C: “Ha! No way any player would look at a talent tree and go, ‘Yeah! I’ll take this permanent 20% damage reduction.’”
And I knew he was right. I also knew that simply meant I had to be more clever about it. Those of you who know the story of Rested Experience know what’s going to happen next.
Manipulative Mastery
The concept of mastery points was going around the office at the time. The idea was that mastery would be some special form of scaling that worked based on your spec. My answer was clear:
- Mastery would give Affliction and Destruction specialists a damage dealt increase.
- Mastery for Demonology would give a reduction in damage taken.
If I also dropped the damage on core Demonology skills, this would reduce Demonology’s damage output in a less off-putting way, giving us room to buff its tank capabilities as a trade-off.
This seemed like it would fundamentally work. However, once I had the numbers working, I realized things were kind of boring. To understand why, we need to review the essential goals of a tank.
Goals of a Tank
In World of Warcraft, the tank arguably has the most exciting role. They engage actively with enemy monsters, holding their attention and working to survive their damage to allow others to act freely. A tank’s positioning, skill usage, communication and attention are all under strain.
If you don’t deal enough damage, the enemy’s attention will move off you and they will kill a DPS character. If you don’t survive enough damage, the enemy will get through and kill your healers. If you don’t catch a monster that slips past you, all of the above will happen.
It’s a stressful job!
Mechanics of a Tank
The Warlock class already had some essential elements of a tank:
- Rapid health burst (Lifestone)
- Taunt (Voidwalker)
- Disruption (fear effects)
But there were several important tools it was missing:
- No group threat-building tools (Thunderclap, Holy Ground, etc.)
- No AoE taunt
- No emergency survival button (Shield Wall)
- No baseline survivability
So I asked myself: “What is the fewest number of changes I can make to support all of this?”
Tools of a Tank
Warlocks had a lot of abilities that almost fit each of these niches.
Group Threat
The easiest change was Hellfire. With the channeling requirement stripped off, it allowed the Warlock to maintain threat just by standing near enemies.
Likewise, making Shadow Ward into Fury Ward was a great way to keep the Warlock player engaged moment-to-moment with the combat.
AoE Taunt
The AoE taunt raised some eyebrows when I proposed it, but inverting the behavior of a mechanic is a common pattern in my design approach – and so it made complete sense to turn Soulshatter from a threat reduction tool into an AoE taunt. It already had a suitably long cooldown.
Emergency Survival Button
I had already built a row of survivability talents for the new Warlock, but the lack of reliable survivability in a certain window of time was a real issue. However, granting Warlocks a Shield Wall-type effect was a big deal.
Such a big deal that I knew something else on the kit had to go: Demonic Circle. This ability has always sat with me as a weird one. Creating a ‘recall’ spot played well enough, but it broke a core pattern of Warlock play. Warlocks survive and recover, they don’t escape.
So I removed Demonic Circle and gave the whole class Unending Resolve, basically Shield Wall with spellcast interrupt immunity.
In Summary
After a little final polishing, I made the spammable button for Warlock melee-range and swapped Fear with Sleep as that made sense for the class.
I presented it to the class team. I was stoked. The rest of the team . . . not so much.
A: “What are you going to say to the players who liked their old DPS spec?”
B: “You’re really going to ask players who’ve played their whole life as ranged to become melee?”
C: “Demonology sucked before, we all agree, but this is unrecognizable.”
D: “Why isn’t this its own class?”
E: “Does this destroy all future possibilities of a Necromancer class?”
All of these complaints were quite reasonable, and a good portion of game design is pushing back and solving these problems. But the fatal question came from Ghostcrawler.
GC: “I like this direction a lot. If we were starting the game from scratch, I’d be fully behind it. However, it’s a major pillar of this game that effective tanking requires you to collect a dedicated set of gear. There’s no way Owen (the Items designer) can add a full set of cloth tanking gear to support the new playstyle – and it would be unfair to every other class to do this.”
Shut down, dismayed, but ultimately understanding that I was already asking for a huge amount of support for the Warlock rework, I decided it was best to stand down. However, I knew the gameplay experience was compelling, so I thought of an idea.
Idea 5: Dark Apotheosis: a Compromise
To be fair, I think the team only went with what I proposed next because they were so damn tired of arguing with me to keep the Warlock Tank spec.
Me: “Alright, well, you know, I already have all of the work done for this. We do have hybrid tank/DPS specs in Feral Druid. What if I make it an opt-in glyph that gives them essentially a Warlock defensive stance with some flavor?”
Jimmy (FeralDruid): “Ugh, fine, but you need to figure out the DPS spec first. Let’s see if what you’ve put together even works first though.”
So they threw it into the simulator.
And holy shit, it worked. It worked really well. Too well, in fact. Combined with Demon Skin (+10% healing taken), it was easily outperforming the other tanking classes consistently in dungeons and raids.
Jimmy: “This is immensely broken.”
Me: “So we’ve proven it can work.”
Jimmy: “Er, well, yes.”
Me: “And there’s probably some point where it wouldn’t work at all, right?”
Jimmy: “For sure . . . “
Me: “So that means there’s probably some spot that is just right.”
Jimmy: “Ugh, fine, just remove the crit reducing and reduce the damage resistance by 10% for now, but go figure out the DPS spec. We’re running out of time.”
The Last Push
Unfortunately, Jimmy was right. We only had a month left and Demonology was a mess. So I sat down and looked at what I had from the experiments I’d run so far.
- Periodic pet summoning
- A Rage-like resource system
- Support for transforming abilities dynamically
- Some cool defensive skills
- A really badass set of animations from the Illidan model we were reusing
I set to work. At this point, the talent trees were pretty well locked in, so I decided to ask myself: “What can I do with the parts I have here to create agency and control without breaking the game?”
The answer I decided on was this:
- Affliction’s power is meant to be consistent.
- Destruction’s power is meant to be built up then burst out.
- Demonology’s power will be a controllable ebb and flow.
Experienced raiders are familiar with the importance of DPS cooldowns. These powerful skills amplify the damage done by a character for a short period of time (say, 10-20 seconds). They are very effective, but you inevitably get into situations where you use it too early or too late.
I decided to add a glyph that would change Metamorphosis into a variation on this concept (eventually called Dark Apotheosis).
While in Metamorphosis, you would have access to higher-damage versions of your baseline skills. Corruption transformed into Doom, and I reused a number of the transformation mechanics from the tank kit as part of the core DPS rotation.
At the heart of it all was the Demonic Fury resource bar. When you crossed 25 Fury, you could enter demon form, which would then slowly drain Fury until it was empty. If you left early, you could transform back sooner.
Your skills outside of Metamorphosis filled up Fury, while your special skills inside of Metamorphosis drained it more quickly.
The goal was to create an experience where players would transform, stay there for a while, then either let the effect end naturally and keep casting, or exit early so they could re-enter the form sooner.
At the heart of everything, it worked, but it was rough. The art I used was repurposed from older expansions and often had issues. The skills had all sorts of random bugs, since they were copies of existing skills that were meant to work slightly differently elsewhere.
In the end, we achieved a model that worked, but it ended up requiring extremely high skill to execute. We’d also lost the focus on demon summoning, which was part of the original core identity as well as my original vision for the tank (you’d tank while your pets dealt damage).
There are many other little stories I could tell here, like how I introduced Demonic Gateway to bring a new form of mobility to the team.
But after many long days, I’m incredibly proud of the ground-breaking work we did to break up an old class and bring it new playstyles and fantasies. At the heart was the desire to give players a new way to experience the game and I hope we achieved it.
Thanks to the whole class team from back then, Ghostcrawler for giving me the chance, and in particular Ion for his work helping prevent Destruction Warlocks from being reverted at the last minute due to an anxious director.
The end result was a memorable, powerful and smooth leveling experience for most players. It fulfilled the fantasies Warlock players had approaching the class.
I hope you enjoyed this retrospective. If you were a Warlock player during that time, leave me a comment or join our Discord community and share some stories with us, Funsmith Club.
One Response
Awesome write-up! Been a joy to read all these.
Warlock was the first class I hit max level with (70 at the time). I loved it then but it got dropped as my main during WotLK and Cata, perhaps for the unvocalized reasons you’ve described. I was a warlock returnee though for Pandaria!
To this day I still complain about how the Kil’Jaeden’s Cunning passive made WoW so much more fun for me, that I’ve yet to be able to enjoy a caster in WoW since. I think with Guild Wars 2 releasing at a similar time to Pandaria, where in that game casters can move while casting by default, going back to stationary casting felt like a dated concept. This is a big reason Final Fantasy XIV never clicked with me. Regardless, thanks for your hard work providing me fun for those months of my life!