|
|
Infinite Game Space - game programming concept | ||
Discussion by mitchellmckain with 3 Replies.
Last Update: May 7, 2005, 12:33 am | |||
![]() |
|
|
The challenge then becomes a matter of creating a robust enough technique for randomly generating each location so that you get enough variation to support the experience of an infinite game space. One important concept of creating interesting and realistic randomly generated patterns is self similarity. Raw randomness creates a kind of white noise or gray background of boring uniformity. Things in nature which are close to random, actually have the tendency for adjacent locations to be similar or related, but with abrupt changes as well. So, to get a natural feel or look to things your adajacent locations must be similar a large proportion of the time but often completely different.
Another challenge is the problem of how players change the state of the locations which they visit. This requires that you keep a stack of such changes. In order to keep this stack from growing indefinitely while improving realism rather than losing it, you would use evolution in the random generation of your locations. This way you can drop changes to visited locations from your stack when the locations have evolved. Evolving locations means that the more changable elements of each location depends on the game time as well as its fixed seed.
As an illustration of these concepts see the relativistic physics of spaceflight simulator at www.relspace.astahost.com. You do not need the registered version to see what I am talking about. This program uses a tree like structure for random generation even though everything is located in the same 3 dimensional space. This is because the locations are organized into galactic cluster, galaxies, clusters of stars, star systems with planets and planets with their moons. This fixed seed random generation technique allows me to have hundreds of galaxies, each with hundreds of billions of stars (and most of those with companions and planet) because I do not have to store them or even display them unless they are within range. The concept of self similarity is used in a variety of ways. The average star of a galaxy or star cluster depends on the type or appearance of that galaxy or star cluster. Self similarty is also used in the creation of irregular shaped galaxies and star clusters. But the most important use of self similarity is in the random generation of surface features of the planets and moons (around other stars). The locations are evolving because the locations of the planets and moons in their orbits depend on the time (real time in this case). However I do not have to worry about players changing anything about thei locations they visit. I was led into using this technique for this program by the fact that the data available for what is out there gradually diminishes with distance. Even though this program is not a game at all, I have spent many enjoyable hours exploring its infinite space. Imagine finding interesting views like looking at the Milky Way through the rings of a bright red planet with three suns, in the Smaller Magellanic Cloud.
I noticed on the internet that there is a book available on this idea of infinite game space (http://www.charlesriver.com/Books/BookDetail.aspx?productID=8720), but I haven't read or look at it myself.
Now I do think it would work well for an enviroment with a limited number of variables, like space. I think it would be much easier to generate random solar systems, since about all you have to generate planets. And then you would just have to combine those solar systems into galaxies. Like you said, an advantage of space is that there isn't much that a player could do to change anything.
Another difficultly is making an enjoyable game out of the infinite space that has been created. Most games are story-driven, which would be difficult to do with randomly generated terrain. The game would have to generate the story itself. It is unlikely that any computer generated story will be very creative or original. About the only game where I think this technique would work well is MMORG's. Then the game could be player-driven instead of story-driven.
All in all I think that the idea is very interesting. While it isn't for everything I believe that it does have some uses, although it would take some work to implement. I'd be interested to see what you are able to do with it.
BTW, I'm convinced that nethack has some kind of infinite space algorithm: it's been out for like 15 years and nobody's ever won it...
The example of relspace applies in this case too, because not only are there randomly generated stars and planets but there are real planets and stars that we know really exist, which are put into the data file by hand.
QUOTE (madcrow)
It wouldn't necissarily work well in all that many mmorpgs. Many mmorpgs have sort of a community aspect to them that wouldn't really be possible if you simply had infinite space.This is simply not true. It is true that you have a finite number of players, but you would also have a finite number of entry points. I think that infinite space would add to the community aspect with the possibility of sharing information about explored space. There could always be permanent features to randomly generated locations that would make knowing where they are valuable coin in the community.
Similar Topics:
Creating A Game Milestone 0 Des...
Space Exploration (nasa= Good/bad)
What 39 s The Deal With Game Cheat...
Whats The Best Tool For A Beginner? whats the best program for a beginner? (17)
|
(13) Wuts A Good Game Maker Program?
|
HOME 





Infinity Game Engine Demo
Codename: Infinite
Lego-style apartment transforms into infinite spaces

