Nov 22, 2009

Infinite Game Space - game programming concept

free web hosting
Open Discussion & Free Web Hosting > Computers & Tech > Programming > Game Programming

Infinite Game Space - game programming concept

mitchellmckain
Of course a computer cannot really have a truly infinite game space but then people do not have the infintite lifetimes required to know the difference anyway. You can create a game with billions of billions of locations which is more than big enough to be infinite as far as the human game player is concerned. You cannot do this with the traditional approach, of programming each location ahead of time. Your computer does not have the memory to contain them and the programmer does not have the time to program them. Instead you must use fixed seed random generation. Fixed seed random generation means that you use a deterministic method that generates random numbers from a starting number (like the built in random number generators available in most programming languages). The result will be that the locations will be the same every time you visit them, unless you also make them evolve in time. This make the game space something that can be gradually explored and shared between different players. The seeds for each location can be generated from the map coordinates. The map does not necessarily need to be a literal map with geometric spacial coordinates. The map can also be a treelike structure, where the player can travel from his starting location to a number of adjacent locations each with a seed generated from the seed of the starting location. Then each of those adjacent locations may connect one or more locations whose seeds are generated from its seed. Since the built in random number generators only produce 32,768 different numbers you may want to write your own or use more than one seed for each location (2 such seeds will give you over one billion combinations).

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.

 

 

 


Comment/Reply (w/o sign-up)

FearfullyMade
The idea of infinite gaming space is interesting, but I think it would only be pratical in a few situations. While random number allows you to create many different areas the difficultly is making those areas realistic. Think of all the variables you would have to generate for a landscape, for example: shape of the terrian, plants, buildings, characters, and items for the player to interact with. I'm not sure how you would set it up so that the game would randomly pick all of that and still have it logically make sense to the player, but I'm sure it would be very complicated. Even those items I listed would need to have some randomness to them, otherwise you would start running across identical buildings and characters. That makes it even more complex.

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.

 

 

 


Comment/Reply (w/o sign-up)

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.

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

Comment/Reply (w/o sign-up)

mitchellmckain
I am not a great fan of storylines in games, but this feature is quite compatable. The relevant areas for the storyline would be programed as usual. But now you have the added realism that not everything is programmed in advance and part of some story plot. Of course that would make following the plot much more difficult since you are no longer stuck between the pages of a book or bound to the set of a movie. You cannot wander off assuming that the story will find you.

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 @ May 6 2005, 03:16 PM)
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.

Comment/Reply (w/o sign-up)


Got an Opinion! Express your Views! (no registration):-
Add your Reply/ Opinion/ Views/ Comments/ Suggestion/ Questions/ Queries etc.
Posts with decent grammar & English will be accepted and please refrain from profanities.
For asking a Question, We recommend you to sign-up (for free) so that you can track the topic easily.

Nature of your Post*: Opinion/ Reply/ Comments
Question/Query
Feedback to us.
       
Name   Email
Title/Question*

This textarea will convert to Rich-Text automatically (IE, Firefox, Chrome)

Similar Topics

Keywords : infinite, game, space, game, programming, concept

  1. Recomend A Graphics Programming Book
    Cg/Shaders/OpenGL-2.x/Direct3D-10 (1)
  2. Good Java Game Programming Book
    Here is a book i wanted to share... (0)
    Hi Everyone; I am not new to java nor am I incompentent. ANyways, I just wanted to shared a book
    that I looked through that seemed fairly easy to follow for java beginners. IT gives a lot of
    demos and explainations on terms and methods. Also, it gives you very good instructions on
    compiling, building, and deploying your game. The book that I am referring to is: Beginning Java 5
    Game Programming Author is Jonathan S. Harbour from University of Advancing Technology ISBN:
    1-59863-150-0 Yes... it is a THOMSON course Technology boo. Its a small book and pretty inexpensiv....
  3. C++ Game Programming Books For Beginners?
    (5)
    can anyone help me with some good latest C++ game programming books (2D, not ready for 3D yet) or
    any good lesson sites for beginners? thanks in advance! cheerz! shiv ....
  4. Help A Beginner Start On With Game Programming
    (8)
    I would like to make some game- no matter what but I have NO idea about programming. I only know php
    a bit, html, java script and css, but I'd like to have game not in the internet but let's
    say a real one... any idea, or progamm which might help?....
  5. What Are Some Good Game Programming Books ?
    (3)
    Can sombody tells me some good books for game programming with C++? /wink.gif' border='0'
    style='vertical-align:middle' alt='wink.gif' /> ....
  6. Black Art Of Java Game Programming
    (0)
  7. Runuo Programming
    (4)
    there is someone that know programming on runuo and ultima online? I was trying to make so that he
    could himself be created account through web but the script that I have for the game server (that he
    update the account stored in database and synchronize them with the database) gives an error to me:
    ( if someone is even than it helps me, it says to me that it does not find the data origin (i think
    the database that i specified) given that I have specified: ( perhaps mistake driver -. -....
  8. What Language Is Best For Game Programming?
    I need some help (38)
    ok I am trying to get into programming and then into games. So i was wondering if anyone knows a
    good language except c++. I have started to learn it but the problem is its not user friendly for a
    first time programmer. So I would appreciate it if you can maybe name some languages and there weak
    points and strong points i would aprreciate it.....
  9. Z80 Assembly
    programming games for the Ti-83+ (1)
    Most highschool kids and some college have a TI-83(+) for math, so some of you may be interested in
    this. Basically, there are 2 languages for the Ti-83+. Basic and z80 assembly. Basic is easier, but
    asm is alot faster and more powerful. *note* With z80 assembly, you can make some realy awesome
    calculator games. Actually, z80 assembly is almost identical to the language used to program the
    gameboy. Anyways, Ticalc.org is a really cool site with thousands of games to download for the
    Texas Instrument calculators. Maxcoderz is a great programming group for the TI-83(....
  10. Games Programming
    (30)
    I'm curious to know if anyone here does games programming or planning, any sort. I'm
    currently involved in some game design and coding for MUDs and I think it'd be neat to discuss
    and share ideas here. /smile.gif" style="vertical-align:middle" emoid=":)" border="0"
    alt="smile.gif" />....
  11. Favorite programming resources (websites)
    (5)
    Here are some of my favorite websites. I find myself going online all the time to find out about
    some obscure function in STL or some math topic, etc, etc. Let's pool our resources!
    http://gamedev.net/ Game specific but has a ton of tutorials on all sorts of things well beyond
    programming and has a number of good forums http://www.gamasutra.com/ Has some top notch
    tutorials as well as industry news http://www.msoe.edu/eecs/ce/courseinfo/stl/ I find myself here
    often whenever I tackle STL stuff http://www.jimprice.com/jim-asc.htm I used this website exte....

    1. Looking for infinite, game, space, game, programming, concept

See Also,

*SIMILAR VIDEOS*
Searching Video's for infinite, game, space, game, programming, concept
advertisement



Infinite Game Space - game programming concept

Affordable Web Hosting, Low cost Web Hosting - ComputingHost.com