The Whole Picture
So as to make it easier to describe, I’ve partitioned the virtual world design process—however, it’s actually holistic. You can’t treat the individual aspects of design in isolation: They impact on one another in ways that may not be immediately obvious.
Example: Crafters complain that their towns are lifeless. You determine that this is because crafting (unlike combat) is a solo activity. You introduce manufacturing processes that entail several characters’ working together. Players build houses in close proximity to one another so they can get to and from the crafting centers quickly. Towns become more vibrant as a result. However, now that people spend more time in the towns than in the wilderness, adventurers complain that the wilderness is lifeless.
If you spot the problems in advance, you can tackle them as a whole. Taking them one at a time may merely push them about. It’s like trying to put out a burning hoop by dousing it a section at a time—as soon as you move from one bit to the next it catches fire again. You have to extinguish it all in one go: You can’t solve the problem by partitioning it. Unfortunately, you’ll always get some partitioning if the design team consists of more than one person; balancing the various issues in this situation is therefore even harder.
Problems due to the interaction of subsystems tend mainly to be of the consistency, compatibility, and depth varieties; these are, fortunately, tractable. Hard decisions have to be made, however, when a design calls for two elements that are in direct opposition to one another: You can have permanent death or some form of resurrection, but you can’t have both. Indirect contradictions can be almost as difficult to resolve while being less easy to spot. Players want to be able to sell the goods they manufacture at fixed prices to guarantee an income, but that will cause lots of people to manufacture those goods, which will raise the price of raw materials, which will reduce the income players get from their goods.
Solutions are hard to come by. The difficulties that arise by partitioning can be addressed by sound development practices—communication, regular design meetings, internal web sites, lead designer sign-off, and so on. For problems with the design itself, the team must strive for robustness: They can tackle whatever they notice beforehand, but once the virtual world goes live they have to rely on the checks and balances they build in to ensure that nothing goes horribly wrong 1. Any new design for the economy in particular is almost certain not to work straight away, so damage-limitation code will have to be in place ready for the inevitable tribulations.
Given that checks and balances are themselves one of the most fruitful sources of exploits for players, care must be taken in their design too. Personally, I find that the best way to reduce exploits and design bugs is to play devil’s advocate: How would I break the system if this or that rule were in place? Perhaps the fact that many successful virtual world designers are ex-hackers (in the traditional sense of the word) is not some mere accident of history? ↩︎