 

|
Automatically
generated content
(Back to TOC)
5 December 2004
by Mike Rozak
Being a programmer, I feel like I'm wasting my skills when I
work on content, like drawing 3D models, designing conversations for specific NPC
encounters, etc. I'd much rather be programming, since that's what I'm skilled at... and
after all, anyone can create content.
Of course, this last statement is a lie. The truth is, that I
know I'm very good at programming, and I know I'm not as good at content creation.
Furthermore, while not anyone can create content, virtually
every virtual world will be based on hand-created content. There will be many more
hand-crafted virtual worlds than there will be automatically-generated ones
because writing all the generation algorithms and dealing with all the unexpected
interactions is a very difficult task for a very small market. (I expect that most players
will prefer hand-generated content.)
As a programmer, I'd still like to create a world that is 99%
computer generated. It just sounds fun... The algorithms to automatically generate content
are a fair amount of work to do, but once they're done, the content flows out of them
without any effort. (Writing the code to automatically generate an X, such as a tree or
dungeon, is usually 10x - 100x as much work as producing a single version of X. So, if a
world has 100 or more versions of X, automatically generated X's are a time saver.)
Contemporary virtual worlds already use a bit of automatic
content generation, most notably:
- Monsters - An infinite supply of wandering
monsters is a no-brainer for automatic content.
- Resources - Resources like plants, minerals,
and even animals are also good candidates for automatic content.
- Forests - While I could place every one of the
1 billion trees in the world by hand, having a computer do it is much more efficient.
- Terrain - The terrain in most MMORPGs has at
least some element of automation, although it's usually cleaned up by a person.
- FedEx quests - These are easy enough to
automatically generate. Quality quests would be even better, but they're trickier to
implement, so MMORPGs haven't yet tackled them.
Of course, I think big, and can go even further:
- Bandits, armies, and police -
Automatically-generated monsters are usually solitary. It wouldn't be that much more
difficult to make them part of a group roaming the countryside (or city), tyring to meet
some randomly-generated goal like "loot all villages" or "capture all
looters".
- Travelling merchants - Same thing as bandits
except they don't attack.
- Villagers - Same as individual monsters, except
they don't attack. Various types of villagers could be spawned, from bankers to beggars.
- Terrain - Realistically, terrain can be created
without any human intervention. There are already 3D rendering programs that will create
an entire fractal world for you. Rivers, lakes, and oceans follow without thinking.
Vegetation can be added based on the amount of water, quality of soil, and elevation.
- Cities, towns, and farmhouses - These can be
generated with a fair amount of coding, and then tied in with the local (automatically
generated) villagers. Buildings would probably be chosen from stock models.
- Buildings - Generating hundreds of variations
for houses and other buildings is doable, but fairly difficult to do right. The easiest
trick is to create some stock buildings and change their paint jobs and furniture, and
maybe a few dimensions. Actually changing their structure involves some trickier
algorithms.
- Underground - Virtual worlds like having caves,
crypts, and dungeons for players to explore. These are filled with traps, NPCs, and
monsters. While tricky to do, automatic underground environments are entirely possible.
(Offline games have been generating random dungeons for decades.)
- Politics - Cities and nations could come with
algorithmically generated politics, which in turn spawn quests. Different factions could
(underhandedly) fight for power. Those that win get to put their mark on the city.
- History - Record the randomly-generated
political events and create history.
By the time all these systems have been implemented, I would
have a virtual world that is functionally equivalent to most hand-generated MMORPGs, for
only a fraction of the cost.
Unforuntately, computer-generated content has a major problem:
- The content, while plentiful, is not as interesting as a
handcrafted world. It's like listening to computer-generated music, as opposed to
a master composer like Mozart. Computer-generated music is fine for background music, but
not for the main experience.
Some people do enjoy playing in automatically generated worlds,
such as Rogue, which lets players adventure through a randomly-generated dungeon.
Automatically generated content has the following advantages:
- It never runs out - Those people that like
playing the same game for hundreds of hours like automatically generated content because
of its immortality.
- Cheaper - Automatic content is cheaper to
generate, assuming that enough copies of the automatically-generated objects are used.
- Players can impact the world - A handmade world
cannot allow players to significantly change the world since the changes might invalidate
the handmade content, which is very expensive stuff to throw out. Thus, Lord British (in
the Ultima series) cannot be killed. If the world were automatically generated, a dead
Lord British would be algorithmically replaced (after an algorithmic civil war).
- A single game/dungeon master - In a table-top
role playing game, a single game/dungeon master controls the world for 4-6 players. He not
only arbitrates the world's physics, but creates and customises content for the players. A
virtual world with thousands of players cannot use this technique since the single GM
cannot look after so many players. However, if the GM takes the role of whispering into
the ears of the top-level AIs (such as major rulers and enemies), they in turn will
dictate to their minions, which eventually produce a better game for the players.
- The plot object - The plot object, as I
described in Story and plot vs. freedom in virtual reality, is
much more doable in an algorithmically generated world.
- Robust - Hand-generated content is
"fragile". If you try to do something unexpected to it, it either won't budge
(because it doesn't know how to), or it will shatter. Automatically generated content is
much more robust.
- Uniqueness - Knowing that the world as you're
experiencing it only exists on your computer, and is not replicated on millions of users
PCs, is somehow gratifying.
- Feels more real - A hand-generated world
doesn't feel real (to some people) because of all the above problems. For most people the
unreality of hand-generated content is a non-issue, and perhaps even desirable. Some
people find it very distracting though; I remember when I played with lead miniatures as a
teenager, I never liked characters that had built-in stands. The stands were there for
support, but the fact that a piece of ground moved around with the character was
disturbing.
Boiling down the list, it's clear that automatically generated
worlds attract the following people:
- Lots of time and not enough money to pay for
hand generated content. If this is the case, would these people chose to play an
automatically-generated virtual world that lasts 1000 hours, or 10 free 100-hour
hand-crafted worlds?
- People that want to have an impact on the world,
even if it is only a virtual one. These people may also be attracted to PvP worlds.
- Those looking for a more realistic virtual-world
experience. Would these same people also be attracted to 3D graphical worlds
instead of text worlds since 3D graphics are more realistic?
- Players wishing a personalised experience will
be attracted to automatically generated worlds. Knowing that the members of a village
solidly support your player, or that a king has sent out assassins to kill your player
provide a more meaningful experience.
I suppose that, in the end, it's all a tradeoff, and the
decision depends upon what you're interested in, and what kinds of users you wish to
attract.
|