Quality Should Be Job Zero, Not Zero Quality

October 27, 2011

Battlefield 3 is one of the most anticipated, pre-order popular games of the year. Yet it comes out and everything is broken; you can't get into a game without at least an hour of trying, it crashes frequently or loses its connection to the servers constantly. People actually say this is an improvement over previous releases by the company DICE.

Yet EA (the publisher) and DICE (the developer) will probably make enormous money anyway. To paraphrase my own paraphrase "Quality! Quality? We don't need no stinking Quality".

Unlike most people I've actually worked on an MMO game which has been around for 10 years, has had tons of issues over the years, and managed to stay around anyway, though probably for not much longer because even the most diehard fan eventually tires. I spent a lot of time fixing bugs, tuning memory and understanding problems in a 12 year old codebase under constant change. This in a small company with only 3 longtime programmers, plus me for the past couple of years on and off and an intern. We didn't even have a single QA person.

DICE and EA have hundreds of time more people than we did, a brand new codebase, more money than the FED; yet it comes out and it's not any better.

Sure you can say B3 is huge, it's a massive new engine, millions of players hitting it all at once, cut them some slack!

No, I won't; even though quality in size is not an industry requirement, especially in the game industry, I still think it should matter.

Testing an online game, especially a massive one, is really really hard unless you can get free testing from huge numbers of people. In our game with its tiny population we were always fortunate to see 1-2% crowds for testing. Inevitably there would be issues on launch of a new version that were never seen in testing.

The big but in this is that EA and DICE know for sure that there will be a massive influx of people trying to play all at once a new game with a new engine. After all you hype something up for years until everyone is frothing at the mouth since most AAA game titles make most of their money in the first two weeks. Then you deliver what everyone wants and the pain of even trying to use it seems a small price to pay (beyond the $60 asking price). Since the horrible experience doesn't seem to stop people from buying it as a developer/publisher you really stop caring about quality.

Like drug dealers selling crack, quality is unimportant if the users are addicted.

Even our little game had 1000's of unfixed bugs, glitches and oddities. I spent a week fixing a bug that lived in the codebase for nearly 8 years and pissed off countless people (and this in an MMO where the price was monthly). Eventually if you don't clean up your product people will give up over enough time.

The difference with AAA titles is people will buy the hype desperate to experience whatever magic there is, regardless of what reviews might say about quality. Since it doesn't really affect that magical preorder and first two weeks sales that make up the bulk of the income, quality doesn't matter at all.

I am anal about quality though so it still pisses me off when I see people doing this. Sure, releasing a major AAA title with so many users is tough; but if quality actually did matter you would invest more money and effort in making testing and especially load testing processes and tools better. To the developers and publishers of these types of products investing in testing code is just an expense and all it does is affect the bottom line. You are making crack for addicts so a little adulteration or dirt won't really matter.

It should matter. People pay good money for something and get a mess instead of a reasonably smooth experience. You can't fix 100% of issues ever for any software, but being unable to play seems to make buying a game rather pointless. I paid $60 and I all I get is a long list of errors.

Note I didn't actually buy the game as I don't have a PC or console. In any case by the time a Mac port comes along, it should be more stable, unless of course the porter developers are also into zero quality.

If I buy a new phone and it can't make calls why would I buy another one from the same people? If my new car starts only once a day, what would I think of the company? If my new house loses a different room each day I would sue. If my new $60 game crashes I just keep trying and then wildly anticipate their next game. What a business.

Yet if someone prices an iPhone game at 99 cents and it fails to launch they get horrible emails wanting the money back (which of course they have no ability to do). The one of my iPhone games, Quantum Pool, which I actually have analytics on has never crashed even once. Of course it's free as someone with no marketing money can't make a dime selling iPhone games. Sure it's way simpler than a Battlefield 3 game but somehow quality does matter to me so even for nothing I refuse to ship something crappy. It doesn't matter to my bottom line, it matters to me.

Quality should matter to everyone developing software but it has to be job zero. Everything from how you design to how you code, how you test to how you manage, and especially how you release has to be with an eye to making a quality product and having the customer delight in your product. Apple didn't always get everything right (MobileMe for example) but in general when you got the first iPhone or iPod or iMac it works; everything from packaging to manufacturing to the feel felt complete and ready for you to enjoy. Anything less and Steve probably went ballistic on whoever was responsible. That's the way it should be.

Sadly since it doesn't matter, the AAA game industry will probably never be known for quality at launch. They should be happy Steve Jobs is longer around and didn't run their company. Heck they should be happy I don't run their company either.