Wednesday, December 18, 2013

Player-Generated (Worlds)

The core problem with letting the users control how a generative world generates is how to make those generated worlds have meaning.

In most generated-world games, the world generation is a complicated weaving of content and algorithm that results in a carefully balanced, paced, and gated mess. Trying to change how the world generates will screw up the house of cards. Not just in the sense of things becoming too easy, but also in the sense of things becoming unplayable. Not only would you probably screw up the progression such that you couldn't advance, but you'd probably screw up things like whether the world is even navigable or survivable.

The default algorithm and content for generating the world comes up with millions of variants, but they all interact with the basic gameplay in a way which gives everything meaning. When you see a vein of iron above ground level, you get excited at the prospect of an easy score. When you hear PSSsssst you jump in terror because you know what's coming. When you go into a cave, it's been carefully sculpted such that most of it can be traversed on foot without extensive modification... but sometimes you'll stumble into a ravine which stuns you. That, too, has been carefully sculpted to contrast with the caves, which contrast with the mineshafts, which contrast with the mountain caverns, which contrast with the hills, which contrast with the desert...

Even in games which focus on beauty or relaxation, the worlds are generated with that kind of situation in mind.

What I'm trying to say is that allowing a player to short-circuit that design and substitute in their own preferences won't make the game better: it'll make the game worse. The balance will collapse. Even though you could surprise yourself by creating a world that is very different, the gameplay wouldn't back it up, except by rare accident. Worse, the act of screwing up the gameplay balance in a few of your worlds probably damages how accepting you are of the original gameplay balance.

Now, if you want to look at player-generated content, start by looking at things smaller than worlds. There are plenty of games where the player can build a wide variety of things... just not worlds. For example, in Minecraft you can build vast castles. In Kerbal you can build space ships. Even in more modestly customizable games such as the Elder Scrolls series, you can still build a very unique character.

The key in all these situations is that the gameplay revolves around building content to fit the context.

You don't just build pretty ships in Kerbal. You build them to go on specific missions in a specific universe. You don't just build castles in Minecraft: you build them to show specific people or to perform a specific function. In something like the Elder Scrolls games, your custom character is a mix of aesthetic options and stats, which fit into two different contexts (cultural and gameplay).

If you go into Kerbal and never launch any missions, designing the ships means nothing. If you go into Minecraft and just walk around without building, the layout of the world means almost nothing. If you remove combat from an RPG, your careful character design will feel flat. These things can still be entertaining from time to time, but it's not enough to support the game. The context has been removed or blunted.

It's the same with world generation. Normally worlds are generated in the context of the game rules to the point where there is one generation algorithm and it is a beast. Allowing the player to change that destroys the context of the game rules, and in turn makes the generated worlds almost meaningless.

There are plenty of ways for people to generate worlds and maps as they like, but unless they are placed in a specific context and given a specific application, there's not a whole lot of interest in those worlds. They're just pretty pictures.

What we need to do is think "why would a player create a world" rather than "how". "How" is easy. There are tons of ways, and even the bad ones work great. But "why" is harder. Why would the player need their own custom world?

1) One option is to tweak the challenge offered by the game. Allowing the players to alter the parameters of a game's challenge can be very entertaining if you build the game with that in mind. For example, a different amount of gravity, or lots of lava on the surface. Obviously, a world creation algorithm that's too tightly fit to the original challenges won't be able to support this kind of variation, but if you aim to allow this from the beginning, it should be possible. It also works well with multiplayer challenges.

2) The player may want to create something beautiful, interesting, or amazing, perhaps to share it with others. This is the "handicraft" world, which is interesting within any one of the game's contexts - gameplay, aesthetics, whatever. This is not about balance, but about astonishment. Therefore, allowing the players a lot of options in terms of theme control, arbitrary "stretchign", recursiveness, and so on can lead to some really interesting results.

3) The world is the gameplay. Rather than walking through the world (character as gameplay), the world is the gameplay. For example, you're trying to raise pet monsters, so you create a world and they grow across its surface according to the environment and mutations and so on. This method can be a lot of fun, but it limits the variety you can achieve because the world has to support the gameplay.

Well, I keep saying "world", but in fact this applies to literally any content. In The Sims, the players build houses as gameplay, and the sims live within them. The sims themselves are a combination of 1 and 2 depending on how much you care about the actual gameplay. I always cheat in that game because the gameplay is annoying, so for me they are only #2.

The real question is how deeply you can layer it. For example, in The Sims you can create your own clothes, facilities, and even meshes if you feel dedicated. And even if you don't, you can download them as mods and add them into your game. In Kerbal, literally half the game is mods. Can you let your player-created content merge with other kinds of player-created content on different levels?

Maybe that's where the "world" part comes in. Maybe the whole point is that the "world" is yet another category we can create content for, in, and with. Maybe the whole point of "creating" a "world" is simply that you are choosing which massive quantities of content you want to mix together today. Unfortunately, you'll need the foundations - the massive quantities of content to mix - first.

Anyway, the thought you should have when considering player-generated worlds is not "how", but "why". Once you know "why", the method will be pretty obvious.

No comments: