Minecraft has been a huge indie game success, some $12M in sales. There's an enormous modding community for the game: new creatures, a complete magic system, better lighting, server management frameworks, etc. All sorts of creative mods. Here's the crazy thing: all these fans are studying and modifying obfuscated code.

Minecraft is Java, obfuscated with ProGuard. In response the Minecraft developer community has created the Minecraft Coder Pack. MCP decompiles the code, maps symbol names to something meaningful, and spits out editable source. It even has a handy re-obfuscator so your compiled code is symbol compatible with the official release. It's a remarkable piece of work to enable fans to modify a game they love.

The mod community is clearly good for Minecraft. The game is notoriously buggy and the development team is small, so the community fills in gaps. For example, server management: hMod and its successor Bukkit are essential for public servers to protect from griefers. The various game enhancement mods serve as a testbed for new gameplay ideas. The developer team is even taking patches from modders, for instance fixing a ridiculous variable swap bug. I can't think of another example of obfuscated software being so heavily and publically modified.

So what benefit does the obfuscation give? It clearly doesn't keep the code secret and I doubt it helps stop people from avoiding paying the 15€. What obfuscation does do is set a very clear legal barrier to anyone legitimately modifying the code. The mod community is kept off balance, in a sort of unstable detente where they're officially discouraged but also productive and vital.

  2011-02-01 17:45 Z