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:
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.