Saturday, July 28, 2007

Procedural Content Generation for a Star Trek MMORPG +

Some additional musings on the procedural generation of locations in a large universe:

1. If you just look mathematically at a bunch of randomly generated worlds, you'll find that a lot of them don't differ by very much. In that sense, no, random generation of worlds with N parameters might not seem to hold much value.

But it's important to bear in mind that players won't be interacting with planets like that -- they'll be warping to individual planets in turn, not looking at all of them simultaneously. In other words, the gameplay experience is what really matters. Which means that as long as each place you spend some time in is meaningfully different from most of the places you've been recently, you'll tend to perceive more variation in the entire system than actually exists.

So the key to a system like this comes down to letting objects (like planets) have lots of parameters, each of which has numerous possibilities. Once those numbers are high enough, the perception that comes from a one-at-a-time experience of objects is "Wow, here's something I haven't seen before!"

2. Although I didn't come right out and say it, I definitely would not suggest that the developer of a Star Trek MMORPG should build all the planets for that game out of a bunch of scientifically valid astrophysical variables for no other reason than to be able to say that their world-generation system is "realistic." That takes us too far into Simulationland.

As it happens, I personally happen to really like sims of this type, and I wouldn't be at all offended if Star Trek Online's developer chose to use a planet-building system that created scientifically plausible worlds. But I also wouldn't be upset -- or surprised -- if PE went instead with a system that created what we might call "dramatically plausible worlds," which is to say, places created to support Star Trek-like stories.

So I would say that none of the parameters I proposed (including orbital eccentricity, planet age, etc.) should be used unless it has some practical effect on gameplay.

Having said that, I think I could make a reasonably good case for every one of the parameters I suggested being able to have some gameplay effect. For example, orbital eccentricity, if pronounced enough, could occasionally alter a planet's weather, or take a planet into the path of a planetoid belt or meteor swarm or subspace anomaly. That creates opportunities for the kinds of missions we saw all the time in Star Trek. As another example, the age of a planet determines how weathered any continental land masses are. A very old planet might be very flat, which could generate away team missions that would be different from ones on a young planet with lots of mountains.

In summary, I would never suggest throwing a bunch of parameters at a world-generation program just because it would be cool. For a commercial MMORPG, there has to be the likelihood of a positive ROI on every feature implemented.

Originally Posted by AaronH:
The excitement isn't in the way they are generated, but in the ease with which they are generated. Thus freeing up time for the devs to pour into more interesting things.

Bingo. The value of a computerized content-generation tool is that it handles the boring, calculation-bound tasks so that humans don't have to do them. And that leaves people free to do what they're good at, which is the artistic process of creating new and aesthetically pleasing content.

4. The excitement of a MMORPG in which high-quality random content generation tools are used to produce enormous quantities of good content is this: that kind of game is qualitatively different from one that has only a few areas, all of which (regardless of their apparent size) will have been fully explored within a month after the game launches.

In other words, a game that has so much explorable content (whether planets or systems of magic or whatever) that it is for all practical purposes infinite is going to be hugely more appealing to the Explorer gamer than current MMORPGs, which have only a very limited amount of explorable content.

If I can post a complete map of a game world on the interweb, that's an Achiever game. Finite content eliminates physical exploration as a viable gameplay style. (There are other kinds of exploration, but that's a different discussion.)

If OTOH a game is designed such that no one can ever post a complete map of a game world because there's more content than all players will ever be able to document over the entire lifespan of the game, then that's a game that Explorers can also enjoy. Because no matter how many Achievers play, it will always be possible for an Explorer to discover something that's never been seen before.

Not every game needs content for Explorers. Nor am I proposing that games should be designed to appeal only to Explorers. I'm not anti-Achiever. But I feel strongly that current games are so lopsidedly Achiever-focused in their designs that they're turning off the many gamers who don't care for that style of play. In short, MMORPG developers are leaving money on the table because virtually none of them have designed their games to offer some meaningful amount of real Explorer content.

What's more, if Star Trek is to some degree about exploration -- as I and at least some others believe it is -- then I furthermore think that a Star Trek MMORPG would be the perfect game to be designed with serious Explorer content. If any AAA-quality game can and should be designed to attract those underserved Explorer gamers and their money, it's Star Trek Online.

5. Back to Spore for a second: what if we made an analogy between the creatures of Spore and the starships of Star Trek Online?

The Spore Gameplay Movie 1 shows how a creature is built by a player, and once built how the form and behaviors of that specific creature are procedurally generated during live gameplay. Well, what if we could do something like that in ST:O? What if we could specify the parameters of a starship -- engines (locomotion), sensors (eyes), weapons (teeth/claws), etc. -- and ST:O dynamically ("procedurally") generates the behavior of the starship as defined by the essentially unique combination of all those parameters?

Just something to think about.