Dev Watercooler - Rate of Change

Dev Watercooler
September 9th by Ghostcrawler

How the Developers Decide What Needs to Be Changed and When
My previous two blogs spelled out some upcoming changes. This isn’t going to be one of those blogs. If you care mostly about WoW news, and less about the design process behind the game, then you might want to skip this one.

A lot of game design is striking a balance, and I use that term not only to mean making sure that all the various classes are reasonably fair, but also to mean that it’s easy to go to one extreme or the other. You even have to strike a balance in how many changes you make. On the one extreme, if you don’t change anything, then the game feels stale and players understandably get frustrated that long-standing bugs or game problems aren’t addressed. On the other extreme, too much change can produce what we often call the “roller coaster effect,” where the game design feels unstable and players, particularly those who play the game more sporadically, can’t keep up. I wanted to discuss today some of our philosophy on change, how much is too much, and when we think a change is necessary.

First, Some Technical Background
World of Warcraft is a client-server game. The servers (which are the machines on our end) handle important, rules-y things like combat calculations and loot rolls. There are a couple of reasons for this. First, it makes it much easier to share information across groups. When a rogue stabs your priest, it’s helpful for both your computer and the rogue’s computer to agree about when and where a hit occurred and how much damage was caused (and what procs went off as a result, etc.) Second, we can trust the server in ways that we can’t trust home or public computers.

Over time, as our programming team has grown more experienced and picked up additional talented engineers, we have been able to make larger and in some cases bolder server updates without also having to update your client. Updating the client (the game on your computer) requires a patch. This can be a large patch, such as 4.2, which introduced the Molten Front questing area and the Firelands raids, or it can be a small patch, like 4.2.2, which fixed some bugs. Client patches are fairly involved. They take a lot of time to create and test, and they carry some amount of risk, because if we botch anything, we have to issue another client patch to fix it.

Changing the game code on the server has become much easier for us. There is still risk involved, but it’s also much easier for us to fix any mistakes. We call these server changes hotfixes, because often times we are able to deploy them even while you are playing. If we hotfixed Mortal Strike’s damage, you might suddenly do more or less damage in the middle of a fight. Players sometimes call changes like these stealth nerfs or buffs if we haven’t announced the hotfix yet (or in rare cases, if we don’t intend to announce them at all). We generally can’t hotfix, at least not yet, things like art, sound, or text, so we won’t, for example, add a new boss or swap a weapon’s art around without a client patch (though we could enable a boss that had been previously added via a client patch).

I mention all of that just to explain that one reason you see so many hotfixes these days is because we have the technical ability to do so. That doesn’t mean that the game has more bugs, more boneheaded design decisions, or more class balance problems than previously. It just means we can actually fix those problems today while in the past, we (and you) might have to wait for months until the next big patch day. Overall, we don’t think it’s fair to our players to make you all wait for things that are quick for us to fix. Whether or not players are excited about the change depends a lot on the nature of the change. If we fixed a bugged class ability, that is often greeted with gratitude by players playing that class… unless the fix lowers their damage, or requires them to swap out gems and enchants to benefit from the newly repaired ability.

With Great Power Comes…
That’s the challenge in all of this. If your hunter is topping meters by a small fraction, you might ask: what’s the rush? And many players do. But you have to consider that other players are miffed that their raid leader might sit a warlock in the interest of bringing a third hunter (since their damage is so awesome) or might be really frustrated that they are so likely to lose to your hunter in PvP. “Necessary change” is absolutely in the eye of the beholder.

We try to gather a lot of voluntary information from players -- when they are cancelling their subscription, for example -- about why they feel the way they do. Over time, we have seen concerns about class balance decrease and concerns about frequent game changes increase. Clearly there is a risk that we can change things too much and drive players away. The roller coaster effect of too many changes can be wearying to the community, even if each individual change is made with a noble goal. We have to balance the goal of providing fixes when we think they are warranted with the whiplash or fatigue that can come from players feeling like they constantly have to relearn how the game works. We debate constantly whether a change needs to be made immediately or whether we can sit on a problem for an extended period of time.

There are no hard and fast rules that help us resolve these conflicts, so I thought it might be easier to just give you a few examples of the kinds of things we might be tempted to change in a hotfix, patch, or expansion, and the kinds of things we would not.

Example One: Spec Parity
After looking at many raid parses, we conclude that Arcane mage damage now routinely beats Fire mage damage. (There are a lot of elements to this discussion that I’m ignoring right now in the interest of keeping the scope of the decision to something I can reasonably discuss.) For example, if Fire is better than Arcane on AE fights, that has to factor into the decision. If Fire is harder to play or if Fire is more inherently random, then that also has to factor into our decision. Even if you ignore all of those confounding issues, this is still a really tricky call. Ideally, we want players who like Fire to be able to play Fire without feeling like they are holding back their friends.

The extent to which Fire can fall behind Arcane and still be “viable” is very dependent. For some players, having the two specs within 10% damage of each other is close enough. Others will swap specs for a theoretical (i.e. not even proven empirically) 1% gain. If we could make a number of tweaks to Fire and be very confident that they bring Fire up to Arcane’s level, then we feel like we owe it to players to do so.

There are a number of risks with this decision though. If our buffs to Fire made them more dangerous in PvP, then we’d have to be very careful about the change. If more mages going Fire meant that some utility or raid buff brought by the Arcane mages was now harder to get, then we’d have to be careful about the change. But the worst outcome, from our perspective, is if we overshoot our goals. If that happens players who like Arcane might feel like they have to swap to Fire, which might involve regemming, reforging, and re-enchanting and might make them mad that they had rolled on that item that dropped last week. It just puts players in a bad position.

When players talk about being on a design roller coaster, this is often what they mean. Last week, Arcane was the spec to play. Before that, maybe it was Frost. Next week, who knows what it will be. We’ve absolutely screwed this up before, where we thought we were creating more parity between say hunter or warrior or DK specs, but the actual result was that it made players feel like they needed to respec. Given enough time, we can get pretty close on our balance tuning, but hotfixes and often even patch changes can’t always benefit from sufficient testing.

Remember, it’s not about how much damage the Fire and Arcane mage do against target dummies. What matters to players (and us) is how they do on individual encounters given a wide range of player skill, raid comp, and constantly shifting allocations of gear, PvP comps, etc. We will often take larger risks when there is a major difference in play style. It’s harder to ask an Enhancement shaman to swap to Elemental than it is to ask a Demo lock to go Destro. That may not seem fair to the player who really likes Demo, but we have to weigh the risk to the game and to the player base as a whole with even small changes that appear totally safe at first.

Example Two: Creative Use of Game Mechanics
A lot of smart people work on World of Warcraft, but there is still no way that we can compete intellectually or creatively with the combined efforts of the millions of you. Despite our best efforts, players are frighteningly brilliant at coming up with creative solutions that never occurred to us. There are a wide variety of examples here: A player finds a very old trinket, set bonus, or proc-based weapon that works really well on new content; a raid comes up with a strategy that makes a boss much easier than we intended; an Arena team finds a way to layer their crowd control or burst damage that is virtually impossible to counter.

A lot of the fun of World of Warcraft is problem solving. Our general philosophy is not to punish players for being creative. We try to give groups the benefit of the doubt as much as we can. If a boss ends up being slightly easier because players group up when we expected them to spread out, or they crowd control adds much better than we thought they were able to do, then we just silently congratulate the players for being clever. If a boss ends up being much easier than intended, then we might very well take action. (Overall though, we hotfix and patch in far more nerfs to encounters than buffs.)

Where we are more likely to take action is if it forces players into odd behavior, especially behavior that they won’t enjoy. If raids feel like they have to go farm really old content for a particular trinket, or if the raid feels like it has to sit six players in order to bring one particular spec who has an ability that trivializes a fight, then we’re more likely to do something. These kinds of changes are really subjective and involve a lot of internal discussion. Just remember that our litmus test is usually “Are players having fun?” and not “Are they doing something we didn’t expect?”

Example Three: Encounter Difficulty
With encounters, the decision almost always comes down to whether to make a hotfix or not. Waiting until patch 4.3 to make significant changes to 4.2 encounters once the focus for a lot of players moves on to 4.3 isn’t necessarily development time well spent. When new dungeons or raids launch, our initial philosophy is just to get all of the nails in the board at the same height, which means prying some up to be taller and banging a lot down to be shorter. After a week or so, we hardly ever buff encounters to make them more difficult. We tend to bundle several of these changes together, often when a new week starts, so that they tend to feel like a micro patch and not just a constant stream of boss nerfs.

For raids, we look at curves indicating the number of new players who beat an encounter each week. That slope tends to be steep at first as the most talented guilds race through the content, and then slows down as other players make progress. It’s time for us to step in when the lines flatten out and no new players are beating the content. It’s a bit easier for the five-player dungeons because we want players to prevail almost all the time. Nobody wants to go back to Throne of the Tides week after week until they finally beat Lady Naz’jar.

The statistics we look at the most are number of attempts to beat the dungeon boss, how many kills the boss gets, and how long the dungeon took to complete. Bosses such as Ozruk in Stonecore at Cataclysm launch were strong outliers. Sometimes we can handle these changes by tuning alone (lowering boss damage for instance) and sometimes we need to change encounter mechanics to the extent we can via hotfixes, which actually gives us a pretty big toolbox since almost all creature information is on the server.

Example Four: Class Rotation Change
There are a couple of sub-categories here: intentional and unintentional changes. Often we make fixes to make a class more fun to play. Allowing Arms warriors to refresh Rend without having to constantly reapply the debuff was a quality of life change to make the rotation a little less obnoxious to play. It also ended up being a moderate DPS buff as well. It forced Arms players to relearn their rotation slightly, but it was an improvement overall, and not too many players complained.

Example Five: Overpowered Specs
This would seem to be a pretty cut-and-dried case, but is one of the most controversial, because the community will never agree on when someone is overpowered or when someone is so overpowered that the developers need to step in. Being nerfed sucks. Period.

Players would typically rather we buff everyone but their spec rather than nerf their spec, even if the outcome is the same. It’s totally human nature to want other specs nerfed immediately, but when it’s your own character that’s in question, you wonder: what’s all the rush, man? Again, it comes down not to the developers being cold-hearted bastards (though we are) but to whether or not players are having fun. It’s fun for you to be a one man army. It’s not fun when the one man army rolls over you. It’s fun for you to top meters. It’s not fun for when you feel like you have no hope of competing with the guy topping meters.

Also keep in mind that when we make class adjustments via hotfix, we want to make the simplest fix possible that addresses the problem so we minimize the risk of us breaking something else and minimize how much testing we need to do before we can deploy the change. This is the main reason we are more likely to nerf via hotfix than to buff everyone else, because it’s just fewer changes. (Remember, that if we buffed everyone up to the DPS of the outlier, that we might very well have to buff creatures as well to keep you from trivializing content, which adds a lot more overhead to the change.)

I also want to point out that we virtually never make stealth class nerfs these days, at least not intentionally. It just makes players really paranoid to think their damage might change from under them. At worst, our programmers will manage to deploy a change before the community team gets it documented in the latest hotfix blog, but that situation shouldn’t usually last more than a few hours.

Example Six: Exploits
There is a gray area between when players know they are doing something they shouldn’t be doing and when they’re not sure if the developers would consider what they’re doing to be crossing the line. As I said above, we generally give players the benefit of the doubt. If they found something clever to do and it doesn’t give them an unfair advantage or make other players feel underpowered, then we will often do nothing, at least in the short term.

Unfortunately, there are a lot of bad guys out there who attempt to break the game in the name of personal profit or just because they have a malicious nature. We feel like we owe it to the other players to stomp out these abuses when they happen. Understandably, we also don’t want to publicize these changes too much. If one guy figured out a way to solo a boss to reap huge gold profits, we don’t then want to give ideas to thousands of other players by pointing out the loophole he found and how we fixed it. These also aren’t changes that we feel like we can sit on for very long. We need to get them out quickly.

I just wanted to point this out because sometimes players scratch their heads about a patch note that we made to prevent or discourage exploitive behavior. “Was anyone really doing this?” is a common reaction. Just remember that by their very nature, these kinds of changes are going to be on the down low, and they need to stay that way.

Example Seven: Expansions
We generally save up a lot of design changes for expansions. We know even this is too much for some players who don’t want to have to relearn their character’s rotation, let alone how glyphs work or what the new PvE difficulty philosophy is. However, we feel like we ultimately have to fix the problems we perceive in the game design if we want to keep players playing the game. In this case, we think some reasonable amount of change for change’s sake is desirable.

We hear from players who say “My dude hasn’t fundamentally changed in years,” and they want something, anything, that makes them look at their character in a new light. We don’t want to fix things that aren’t broken of course, but we do want to make sure that a new expansion feels all new. Expansions are opportunities to reinvigorate the player base and the gameplay itself. Therefore, you shouldn’t always view a class revamp as meaning your character is horribly broken and adrift on a sea of designer ignorance and apathy. We probably won’t ever reach a point where a particular class has reached perfection and no additional design iteration is necessary. Change, in moderation, is healthy.

Stuff like this is why I say game design is an art and not a science. Given the opportunity, there is no doubt various among you would make individual design decisions differently, and in some cases I have no doubt your decision might have been better. We’d love to see discussion on this issue, though. How much change is good? When can a problem chill for a few months as opposed to needing immediate attention? How much risk should we undertake to bring small, quality of life changes? Are we on the right track? Insane? Is this just more propaganda from the Ghostcrawler Throne of Lies?

Greg “Ghostcrawler” Street is the lead systems designer on World of Warcraft. He has an unnatural disdain for the male night elf shoulder roll.