Monthly Archives: January 2009

Why Haven’t They Fixed This Bug?

Why They Haven’t Fixed Your Bug Yet

And, Why You’re A Moron For Asking

How can they worry about adding three new hats when the server crashes every week???” answered!

OK, crybabies. Listen up.

On every MMORPG related board, I constantly see the following:

Developer: And in the 1.0.4.12 patch, we’ll be adding new hats.

Clueless, Spoiled Brats: Waaaah! You’re not fixing My Important Issues! How can you add hats when there’s server crashes!

Or, sometimes:

Developer: We implemented several fixes to the memory leaks that occur whenever four or more half-orcs are in the Marshes Of Gloom on a Tuesday and the Silver Cuttlefish spawns in the north half of the map.

Whiny Git: Waaaah! When I run the game on my overclocked Commodore-64 using a third-party software emulator from Thailand over my 14.4 K modem, I still only get 87 FPS!

Whiny Git2: I never go to that zone! Stop pandering to the WOW players and fix bugs *I* care about!

And so on.

This helpful little essay will explain why the amazingly important issues you have aren’t being fixed on your schedule.

First, MMORPGs are composed of teams. Teams rarely have overlapping functions, and their skills are not fungible. The 3-D modelers making new hats can’t stop what they’re doing and debug server optimization code. This applies across all aspects of development. Even with coding, someone working on the quest engine isn’t going to fix display glitches. Someone responsible for UI responsiveness can’t help solve memory leaks. In general, even if it’s possible to retrain someone, it’s a waste of time to do so — they’re much more useful doing what they were hired to do.

Second, you can’t easily “hire more programmers!” Most importantly, there’s a huge learning curve — it can take weeks or months to get even a very skilled programmer up to speed on the existing code base. Also, you cannot simply throw resources at a problem. There’s a point at which more programmers equals slower bug fixes as they quite literally get in each other’s way. (And every new hire increases total overhead, which means more HR and support costs, which means less money for other things…)

Third, not all bugs are of equal difficulty. If a patch list is filled with “In the Quest ‘Seven Diamonds For Seven Ogres’, we fixed the timer so that it’s now possible to complete the run”, do not whine “Waah! How can they fix this when there’s still crashes whenever someone walks backwards while executing the /juggle emote and it’s a Tuesday?” It’s because quest issues (and many similar bugs) can usually be fixed by editing a database, something which can be accomplished quickly, tested quickly, and performed by relatively junior team members with only minimal oversight and QA — while server and memory bugs are often insanely complicated, need extensive regression testing, and take the ‘best and brightest’. If you can assign one junior programmer to clean out three dozen quest bugs in a patch cycle, or have him be basically useless while more experienced programmers do all the real work, what would you do? There’s no reason not to clean up the little bugs while the big ones are being worked on.

And that leads to the next point: There’s more going on than is revealed in patch notes. Development of new content, fixing of of old content, testing, and optimization, all occur continually. Just because the people who post the patch notes didn’t just copy the entire work schedule of the several hundred people on the staff doesn’t mean these things aren’t happening.

“Everyone knows X is broken! Why don’t they fix it?”

Well, first, “everyone” doesn’t know it. YOU may PERCEIVE it, but that doesn’t make it so. The folks on the other end of the screen have access to a lot of data you don’t, aggregates across all servers and levels, and so on. Your perceptions of brokenness may be false. Second, “fixing it” isn’t always simple — things are broken precisely because these games are hideously complex, and two things which look great on their own combine to form an unholy mess. Arbitrarily fixing one “broken” thing without looking at the ripple effects of that fix can just make things worse.

“Instead of nerfing my grossly overpowered class, why not just buff everyone else!”

If you ask that, frankly, you’re a moron. The answer, not that you’re smart enough to understand it, is that changing one thing, with all of its attendant side effects, is easier than changing a dozen, or more, things, with all of their attendant side effects. Suck it down, nerf boy.

“The customer is always right!”

No, the customer is usually an idiot who has no clue.

“They said four years before the game was released that we’d be able to eat our enemies’ spleens! Why can’t I do that now?”

Here is how game development works:

a)A bunch of developers toss out a lot of things they think might be cool.

b)Someone from marketing sticks his head in, and says, “We have to start hyping this! What’s cool about it?”

c)They toss him the list and hope he goes away. He feeds the list to the press.

d)Over the course of years, each idea on the list is evaluated for practicality, fun, and so on. One by one, they fall into “Not for release” or “Not ever”. Meanwhile, the initial PR is flying all over the net, preserved forever by rabid fanboys who have dedicated their entire existence to a game they have never seen and which might never come out.

e)Eventually, the game ships, and people start wailing about how they were “lied” to. Then they glom on to some other barely-announced game and repeat the cycle.

“Console games don’t have this many bugs!”

Console games are attacking a much, much, smaller design space. Consoles do not have uncounted variations in hardware and drivers. Consoles do not have multiple processes running concurrently. Console games, in general, are far, far, simpler than PC games.

“They shouldn’t release the game until it’s done!”

There is no “done” in games like this. Nor is there bug-free. You release when the game is playable, or you do not release at all. For one thing, many bugs, especially balance issues or server issues, simply do not show up until there’s 200 thousand people playing for an extended period — and you cannot have an extended open beta for that many people, the cost is simply too much. In most cases, games are kept in development until the order comes down: Ship something, or look for new jobs. That’s the fact, and there’s really no hope of it changing any time soon.


Addendum And Shameless Plug: Yes, yes, you’ve come to tell me how I’m a lame fanboy making excuses for SWTOR (and also a psychic, since I wrote this long before the game was announced), but there is other content on the site, all equally worthy of being told how lame it is and how dumb I am for writing it. Two things of particular interest to folks following links to here are Grammar For Gamers, which is the page I always thought would be widely linked to, which shows why you should never listen to me pick stocks or racehorses, and The Name Of His Wife, a piece of short fiction about the hard life of an NPC.