Thursday, May 26, 2011

Minecraft 1.6: Game Development 2.0

When you go out and buy a Call of Duty or a Bioshock game, what you're buying is typically the result of two or three years of work done by dozens of people for millions of dollars. The early parts of the game development process are often completely masked from the general game-playing public, and with the exception of tightly-controlled demos at expos or made available to download, We the Consumers (and the gaming press, to boot) don't know everything there is to know about a game until it's finished and on store shelves (patches and downloadable content notwithstanding).

Now, thanks to the Magic of the Internet and the proliferation of much smaller independent game developers, that's not always the case. Indie games are often developed on a shoestring budget by just a few people in a matter of weeks, and gamers are often given a taste games sporting solid game mechanics that lack the layer of polish given to released software.

I see this post as an opportunity to look at this phenomenon through the lens of my still-going-strong Minecraft obsession, made all the more relevant by the fact that Minecraft 1.6, the game's latest revision goes live sometime today.

The following is true not just of game development, but also of software development in general: there are plenty of people out there who are more than willing to take your unfinished software for a test drive. They're ready, willing, and able to put up with any bugs or missing features in exchange for being able to use the Next Big Thing.

This sort of philosophy has come in large part from the top down: Google's Gmail service, their Chrome browser, their streaming music service, and any number of other things were first made available as unfinished betas. Microsoft's Windows 7, a massive piece of software used by billions of people, also featured a lengthy public beta phase, and Microsoft has continued that trend with betas for new versions of Internet Explorer and Office.

There are two primary benefits to public betas, both of which Minecraft exploits to great effect: the first is to get an outside perspective on your work. Notch (lead Minecraft developer) and Mojang (his company, built on the foundation Minecraft provided) often get ideas for new features and feedback on said features from the game's vibrant modding community and active user base.

Your beta testers can also give you an invaluable opportunity to change or shift course midstream if you want. By the time big game development studios get to the point where they're giving out demos, most of the game's core tenants are already fully developed, and there's only so much the developer can do to change them before release. Traditional demos are used more as advertisements than anything, and fundamental problems with a demo are likely to pass to the finished product. If you give your audience earlier access to your creative enterprise, you're given the chance to avert disaster if everyone hates your weapon upgrade system or the way your vehicles control.

The second benefit to public betas, and perhaps the most important when you're aiming to make something ready for a final release, is bug fixing. No matter how thoroughly you test, no matter how well you think you know your software, no matter how confident you are in your coding skills, any piece of complex software is going to have bugs, and the public is absolutely guaranteed to find, exploit, and complain about bugs you never knew existed. Crowdsourcing your bug testing shouldn't be your first line of defense against problems, but it can help you be insanely thorough: Notch ran down the list on the fan-run Minecraft wiki to squash bugs for the 1.6 release.

It can be intimidating to show other people something that you're working on before it's done - I know that because I hate doing it myself. What if they judge your work-in-progress by the same standards they'd judge a finished product? What if they demand changes that you can't or don't want to make? What if they just straight-up hate it, and you have to start all over again? They're all valid questions, but the benefits to giving people early access to whatever it is that you're making can easily outweigh the potential downsides.

You won't find a better example of this philosophy in action than Minecraft - if you haven't already, go buy it. Play it. And then, if you want, try to change it.