Tug of War

screenshot of the Scribblecraft mod in play

Besides being the locus of and window to my own addiction, Minecraft provides an interesting new battleground in the cold war that all game developers face between authorial vision and customers’ freedom to make your work fit their needs.

With the standard game development cycle taking years to get to a gold disk, it’s a slow game of chess played out over the course of years. Modders are still fighting with Bethesda’s variant of Numerical Design Limited’s Gamebryo engine, which they married with the Havoc physics engine to create Elder Scrolls III: Morrowind, Elder Scrolls IV: Oblivion, Fallout 3, and Fallout 3: New Vegas. They started arguing about the whole thing back in 1998, when Morrowind went into development, but they couldn’t really drop the gloves and go at it until 2002 when Bethesda shipped it and its accompanying Elder Scrolls Construction Set.

But with Minecraft's alpha release, the modders get their shot way earlier in the process. The advent of social networking has given many new avenues for conversation between the community and the developers, and the weekly update schedule has compressed the whole give-and-take to lightning round speed.

On November 9th, a Twitter user asked Notch, “What don’t you like about user mods that add game features? Or do I misunderstand you? Oh and I love you.”

His reply was succinct: “They break with updates, and encourage end users to modify the game files in an unsupported way.”

You really can’t argue with that on the face of it. With the weekly update schedule, users and modders are forever having to tweak the mods to keep up. And everywhere you look you can find people hacking chunks out of game files and wreaking all sorts of havoc, with the attendant lost/corrupted/broken games. As cool as it is, if you install and use the Kaevator Super Slopes mod, you better be aware that your saved game will become unreadable to an un-modded version of the game unless you go in and remove all the blocks it affects. So the next week when the update comes out, you have to figure out how to make it all work again or wait until the modder releases an update for the mod to go with it.

But Notch’s view is a hard line to hold once you’re out in the wild. When you've built a giant sandbox game, on an open programming environment like Java, and with the option for users to run their own servers, the question is not so much “Will they mod?” but rather how long it will take, what they will do, and what the developer is going to do about it. Even in the face of that exchange between the developer and the user, I think that the commentary from Mojang about this whole thing over the last three tumultuous months shows a growing realization that the floodgates are open and sometimes you just gotta wade upstream.

There's always been some cosmetic customization. In even the earliest alpha builds, you could change your character’s skin. When I found out about that, I immediately dressed up my blocky-guy-in-a-blue-t-shirt as Sir Auron. That sort of customization is growing. In the update that came out the same week as the Twitter quote above, Mojang added support for custom texture packs to the main game launch menu. Now it is much easier to install new textures, and you can switch between them without having to edit the game’s files. All this is despite the fact they don’t officially support customized or high-resolution textures.

And more extensive changes are on the way. One of the projects they’ve got going at Mojang is an official Modding API that will allow for easier client-side mods. And even without that, some of the ideas for feature work have been coming right out of the mod community. A good example would be the recent addition of the sandstone block. The basic concept had been suggested from several sources as a more useful way to play with the basic sand block, and the mod group Noob built a mod. Then in the giant flurry of the beta 1.2 update, Notch officially added sandstone. It works just like the mod, except for a nicer face texture.

But this is more than skin-deep. In the case of multi-player server management, it’s not just a matter of prettying up the place with new textures or adding new toys. What would be considered basic tools for managing the problems associated with multiple users are not in the current server packages.

If you want to run a public server that can manage permissions to avoid griefing, you currently have no choice but to look to the mod community. And unfortunately, that brings you smack up against trying to balance the weekly development cycle against both your players’ experiences and the server’s relations with the outside world. There is some hope on the horizon—there has been discussion of a server plugin-management architecture, but there are no details about that as of yet.

The whole thing hearkens back to the heady time days of floppy disks and dial tones. The long, slow dispute between Bethesda and their modding community is moving to a new battleground for November’s Elder Scrolls V: Skyrim release; they’ve changed to an entirely different game engine. In the short-term, Minecraft is becoming a crazy-quilt of ideas growing every which-way at an exponential rate. Time will tell if it can stand the tug-of-war between the developer's vision and our seemingly insatiable need to mess with stuff.


This is timely, particularly given all the recent stuff that happened on our Minecraft sever--mods breaking burning logs, having to switch to a new auth mod, the railroads and bridges broken with the update, the forced switch to a temp world with each update--liquidmantis has been doing a great job keeping up, but there's a definite tension around every update.

Modders might be drawn to this game as well, seeing as how easy it is to mess around with stuff. And that the main point of the game itself is to build things and mess around.

Anyways, back to my mine.

[size=3]*tink! *tink! *tink![/size]

Isn't this *exactly* the same set of issues any framework programmer has to deal with?

At some point I would think you have to decide: Are you building a framework with a downloadable sample game, or are you building a game and the framework is secondary?

Both approaches can work - Epic did it with the Unreal engine, Valve did with their Source engine. EA is doing the reverse, shutting down Dragon Age modders with their latest plans for Dragon Age 2.