|
In today's
PC world, consumers enjoy high levels of sophistication in their products.
Given these experiences, it's no wonder that the depth of some games occasionally
falls below the expectations of the target audience. Often, the chief
cause of this is that the game is simply not big enough. Once the battles
have been fought and the blood spilled, the player is left with something
of an anticlimax.
Even with
the multi-megabyte resources at their disposal, game designers often run
out of the space they need to distribute a truly huge game, especially
when the images are photo-realistic in detail and the sound is composed
of awesome thumping music and sampled explosions. In such cases of large
assets, the game universe's size suffers the first cut. In all likelihood,
the team will decide that the game should hobble along with only twenty
scenarios instead of the originally planned one hundred. Hopefully, the
graphics will be so stunning that nobody will notice.
This, however,
need not be the case. Memory size is not necessarily a threat to game
depth. One of the most famous examples of the infinite game universe is
a game called Elite. This game was originally written for the BBC
Model B computer in 1980 by David Braben and Ian Bell. It has since been
ported to all home computer formats, and is still as widely played now
as it was in its heyday. The original game ran on a machine with 32KB
of memory (16 ROM and 16 RAM), but still boasted a depth of play that
has yet to be matched - seemingly infinite planets, all with names, and
each with its own characteristics.
For certain
types of level-based games such as Doom, Manic Miner, Tarzan
and so forth, the only approach that makes any sense is to store the various
level files in memory and convert them into the game universe in real
time. However, for many styles of games that don't rely heavily on a maze-based
universe, there is no real need to store a map of any kind. In fact, all
that is required is to give the player a notion of infinity and unrestricted
movement. It is in this latter type of game that we can employ algorithms
to generate the characteristics of the game universe in real time.
There are
three main areas in which the application of algorithms can give the player
the feeling of being in an infinite universe:
-
Object Placement (rivers, hills, planets, stars),
-
Object Properties (name, size, inhabitants, race),
-
Event Sequencing (wars, famines, stock market crashes, birthdays).
For each
of the above areas, there are existing techniques which may be employed
to generate the features of the game universe in real time. That is, create
the different aspects of the environment or even the plot with no prior
knowledge other than the parameters required by the algorithms.
One of the
key benefits of using algorithms to generate the universe in real-time
is that it frees up all the space that otherwise would be taken up storing
the name of each city, country, or planet. Now you can use that space
for other aspects of the game. You no longer have to know in advance which
races of aliens are involved in vicious wars, or where the guardian of
the seven keys is hiding on the fourth island of a given sea - these things
will be decided algorithmically as the game is played. In order to make
such decisions, it is important that we are able to describe the characteristics
of the universe in sufficient detail.
Another
benefit of using these techniques is that the next step in the scenario
- or the properties of a given game object (when the player arrives at
that object) - aren't constrained by any actions that the player makes.
Therefore, the world imposes no restrictions upon the player's movement
beyond the rules of the game. The "game" may not even know at
a given point in time what the outcome of a player’s move will be until
after it has been made. The "game" doesn't have to impose any
such moves on the player.
|