The Zen of Warcraft

There seems to be a deep divide between those that think that our classes’ rotations have become too complicated ((AKA “Button Bloat”))  – and thus welcome the upcoming changes to our rotations in WoD, and those that think that reducing the count of abilities is somehow “dumbing down” the game ((AKA “elitist jerks”)) and thus are very annoyed at the upcoming changes.

This is not a topic with simple answers. I’ve tried, multiple times, to explain my thoughts on this topic in a venue in which I feel is ill designed for such discussions – that being Twitter. In fact, I have in the past unfollowed people that absolutely refuse to take long, wandering Twitter diatribes and put them in a blog post where they can actually sound semi-intelligent ((Every one of them being people with mostly neglected WoW blogs, by the way.)). Since I can’t unfollow myself, I have no choice but to go the blog route, or never speak to myself again.


Part of my day job is being a programmer. I am, when I program, primarily a Python programmer. Python is a beautiful, productive, and exceptionally fun to work with programming language that has, at its core, a set of principles that all programmers should heed, even if they aren’t programming in Python. To wit:

>> import this ((Yes, if you open the Python interpreter and type “import this” you will get exactly that output.))

The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren’t special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one– and preferably only one –obvious way to do it.
Although that way may not be obvious at first unless you’re Dutch. ((The inventor of Python, Guido von Rossum, is Dutch. He’s kinda our Linus Torvalds.))
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it’s a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea — let’s do more of those! ((Yeah, that one’s hard to explain if  you’re not a programmer, and if you are, you probably already get it.))

Okay, the part I want to draw your attention to is this.

Simple is better than complex.
Complex is better than complicated.

The idea here is, simple code is easier to maintain than complex code, and maintainability is everything in the software world. You may not be the next person to work on this code, for example, so think of the next programmer in line.  And, as a famous saying goes, “any code that you haven’t seen in six months might as well have been written by somebody else.”   In this case, the next person might be YOU.

Of course, there are times that complexity can’t be avoided.  If your web server wants to support multiple web browsers, for example, you need to bake a little bit of complexity in to cater to specific requirements of various browsers.  You can do complexity and still uphold maintainability if you do your job right.

But complicated … well, there we lose the thread.  Maintainability goes out of the window. You need a roadmap to even keep track of your own code. Often, you end up guessing because keeping track of it all just wears you out. Want a good example of complicated? Log in to Facebook using any browser you can get access to, including obsolete ones that nobody else supports.  They’ve baked more than complexity into Facebook, and it shows, every time you use it.  Often it even corrupts modern browsers to keep it open too long. It’s so complicated that it even damages the internet – not intentionally, mind you – because there are parts of it that are just harmful and broken.

How’s this pertain to WoW?  Well, it’s all about the difference between simple, complex and complicated.

Let’s shift gears for a moment.  One thing I was taken to task for was expressing that I missed the old, pre-Cata talent trees.  I was called on this, “You claim you want to reduce the number of abilities but you want the more complicated talent trees! Hypocrite! LIIIIIAAAAR!!!!1”

But that’s just not comparing things fairly.

talent tree

You’re gonna point and laugh at talent calculators, aren’t you? AREN’T YOU?

The old talent trees, for all their complexity, gave flexibility.  You could put together a Holy Hybrid priest that was 3/4 Disco and 1/4 Holy that pretty much was indestructible and pretty good at healing, to boot. You could create a “Shockadin” that utilized elements of Holy and Ret Paladins ((See here for more good examples if you care to read it. I think you should.)).  You could do a lot with a complex talent tree that was useful and functional.

Button bloat, however, offers none of that.

First of all, unless you get really clever and complicated in your keybinds, you have around twelve abilities that are easily available – or if you’re like me, maybe sixteen ((I cheated.)).  The rest are going to always be a stretch to find and use.  Adding more abilities just makes this worse. You weed out those that  have no immediate purpose, and maybe don’t bind them at all. Maybe they stay in the spellbook.

too many buttons


What’s the difference between twenty unused talents and twenty unused abilities?  Probably that the unused talents have the potential to actually be USED. But chances are, if your spec has twenty abilities that you don’t use, they’ll NEVER be used.


Once you go Warlock, you’ll never go back.

It would be a whole different story if you had twenty extra abilities or spells that you might use as effectively as the twelve you have bound currently, but those twelve are bound and those twenty are not for a reason. Those twenty unused talents, however, have probably some chance of being used at some point if you want change your build.  But no matter how hard you want, you won’t change the effectiveness of those ineffective abilities.

There’s an obvious fallacy here, though.

The astute reader might realize that I’m not exactly comparing equals.  I’m comparing twenty potentially useful talents to twenty mostly useless abilities. That’s because of the source of what I’m comparing – I’m comparing the state of talents at the end of WotLK to the state of abilities at the end of MoP.  That’s not entirely fair, but it is the hand I’ve been dealt for this discussion.

Obviously, the answer to the twenty useless abilities is to get rid of them and replace them with twenty useful abilities, right?

But here’s the one glaring difference between abilities and talents.  Abilities are in your face, on your ability bars, and used in real time. Talents are not, except when they actually “produce” an ability.  But for the most part, you choose your talents, you adjust your rotation appropriately, and for the rest of the expansion, they’re out of your face.

In the end, I stand by this.  Lots of talents ((And/or glyphs, and/or stats, and/or gem sockets, and/or weapons, and/or armor.))  gives you the ability to fine-tune and individualize your character without necessarily causing your contribution in (raiding | PvP | cooking) to suffer overtly. But too many abilities can get in the way, make your life more complicated, make it more difficult to contribute to your favorite activities.

Well, naw, that’s pretty much a fallacy, too.

Let’s be honest. Your rotation will be whatever you see on Icy Veins.

And what will they tell you?  Of those 50 abilities you have, here are the handful that you must use.  And those others?  Use them at the ren faire. Maybe somebody will applaud.

For the most part, the same applied to talents back in the day, except that instead of one true way to use them, there were multitudes, often dependent on levels and gear and what you wanted to do with your character.  In terms of abilities, however, you have one of three tasks, now – DPS, heal, tank.  And there will be probably two rotations – single target vs multi. And that’s pretty much as you’ll ever get from abilities now.

I fail to see the virtue of twenty good extra abilities when there is zero chance that they will be used.  Twenty extra good talents, however, have potential to be used, without getting in the way.

The difference between the two is the difference between complex and complicated, and it’s all the difference in the world to me.

Your keybinds, your ability setup, your macros, that all amounts to the same sort of package as the average software project. You have to set it up, maintain it, use it.  If it’s an unpalatable glop of buttons and half-hidden macros, I doubt the author is performing to her or his potential. Unlike a complex talent tree, you don’t have the time in the midst of battle to go looking for stuff or reading up on Noxxic when you forget just what the proper set of mostly unused actions are that you need for this particular situation (whatever that is).  The more towards simplicity we go with this, the more towards goodness.  Let’s move the complexity where it belongs, which is to say, not in the real-time aspect of the game.

So, no, I’m not talking out of both sides of my mouth on this topic. I see a substantial difference between a rich talent tree and button bloat. I’m not a big fan of the current talent system, but even less of a fan of having a dozen abilities I’ll never use.

Maybe I can’t bring other people to see that difference, but at least I didn’t leave it in Twitter.

And the Zen of Python?  Maybe Anaheim should think about adopting it as a core principle as well.  The Python runtime achieved a Coverity defect density of .005 this past year ((I know, you’re thinking “This means what to me, exactly?”  Trust me, from a software engineering perspective, it’s a very good thing!)).  A culture that eschews complexity – while still allowing for it when necessary – seems to work out to high-quality software, something that impacts anyone that uses it.


Posted on April 13, 2014, in Game mechanics, Haters gonna hate, The future is scary. Bookmark the permalink. 2 Comments.

  1. Yeah, I’m having some trouble understanding the angst about this.

    Say my main toon loses her interrupt as part of Wacraft Ability Purge 2014… it just means that next time someone’s looking for an interrupt, my name won’t be on the list. How’s that making things worse in any way (or, sigh, “dumbing down”… can we just agree now that anyone who uses the term “dumbing down”, whether seriously or sarcastically, is implicitly indicating that anything else they’re saying is of no value?)?

    Things are different in PvP, I’ll grant, where in large part everyone’s on their own and many good players have learned to use their whole toolbox… but apparently that was too high of a bar for too many players to overcome. The better players will still be the better players in a world with 12 buttons instead of 24, the other guys might just live 10 seconds with 6 seconds of being able to actually do stuff vs the current reality of 10 seconds with 10 seconds of “WTF BUTTONS DO SOMETHING!!!” chain-stuns, interrupts, fears and other nonsense that’s the current reality for me… er, for them. For them.

    Right now, we all have a lot of buttons we may not even put on our bars, especially in PvE. As a result, Blizzard feels some obligation (maybe just a bit, but some) to actually create a fight mechanic or two to use them to justify having those buttons. Wouldn’t we all just rather avoid those gimmick fights entirely for those times we have a group comp that can’t quite deal with it comfortably? I would.

    I’m also going to disagree with you on the talent trees but not in any dramatic way… I just don’t think the old trees had any value compared to the current setup. In all honesty I change talents 50x as often now as I did then. Back then, I’d pick a talent spec (for better or worse, I never believed in cookie cutter builds, although I’d consult them afterwards as a sanity check) and, generally, that’s all I’d use until I had some significant reason to change (usually a buff/nerf or actual change in talents themselves). These days I’m swapping out talents even on less played toons based on what I’m doing or my mood at the time (sometimes I’ll take passive talents so they’ll be used, other times I’ll take active talents if the content I’m doing is pushing me and I could use the buffer, etc).

    Was it possible that in rare cases a few players could get some significant benefit out of the higher flexibility of the original trees? Sure… but I guarantee that significantly more often than not all that choice just resulted in a lot of really bad choices being made. I don’t know how many times I ran pug content with well geared folks who were doing half the dps they should have been, I’d look and they’d have taken all points in one tree, or wasted 20 points just to get one nearly useless talent in another tree that they probably thought looked neat. I wouldn’t be shocked if it was 50:1 or more in favour of bad picks vs good non-traditional picks. Since Blizzard made the change they did I think they saw the same thing I did.


    • The gimmick fights are the worst. I can’t think of a single one I actually enjoyed, especially in Kara, where one person could bring a ten-man raid to a screeching halt.

      I agree that maximum flexibility gave people maximum opportunity to be screwups, but come on – the talent tree isn’t to blame for that. It’s just another way for them to express their inherent screwed-uppedness.

      There *were* some really useful hybrid builds out there. I mentioned the Holy Hybrid build for Priests; there was a really horrific Firelock build out there as well. Being able to dig far down into the Survival tree for Hunters meant the difference between winning and losing on some fights in Kara, such as Moroes, where control of the four adds was vital, and not having a second Hunter was fatal otherwise. BRK himself showed how a well-considered Hybrid build could be used to make his pet into an additional add tank. ( Took an entire redesign of pet talents and training to get us back there after that (and I don’t really know if an at-level 70 could do it now, but I suspect so due to the extreme cheesification of old content).

      You won’t find much of an argument from me on the advantage of being able to remix your talents at will in the current time, but my inner engineer wants more levers and sliders. 🙂

      In the end, having a myriad of ways to put talents together might have lead to very few viable builds, but it DID make the game more fun to explore in (in this case, one’s abilities), and I *thought* I heard someone say that they wanted to make the game “more fun” at one point.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: