Author Topic: A technical question concerning planets  (Read 2368 times)

0 Members and 1 Guest are viewing this topic.

Offline Amberfox

  • Akalabeth Addict
  • **
  • Posts: 183
    • View Profile
A technical question concerning planets
« on: July 19, 2005, 01:09:23 am »
Since the planets will probably be generated by some algorithm and can therefore be saved to a very small file (which was Will's goal for pretty much any type of content in the game), I was wondering a little what happens when the player starts to shape and "mold" them like we can see in the video. As soon as the player starts creating holes, volcanos and mountains, the data that is needed to present that planet can't exist only of that algorithm anymore because the content has changed. As it wouldn't be very senseful then to store every new single bit of information about that planet individually (that would mean the program would have to know where exactly every single player-created volcano, mountain, hole, lake, plant, tree etc. is positioned that the player has added since he found the planet--> would need a lot more data-space to describe a planet). So in order to keep the filesize low, is there a way to turn the player-created parts of the planet into some type of algorithm again and then merge it with the original one? How are the informations for that specific planet stored then? Would be interesting to hear your opinions...  :D



Offline Borogove

  • Venture Conqueror
  • ****
  • Posts: 779
  • mimsy: adj. - flimsy and miserable :(
    • View Profile
    • Meyermike.com
Re: A technical question concerning planets
« Reply #1 on: July 19, 2005, 10:00:57 am »
Well, it still stores data, it's just that it uses far less than other games would.  It would still have to store "player set of a volcano at this latitude and longitude".  Which is much less data than to store the actual height values around the volcano.

It's not so much that there is no data stored for it, I think it is more that the data stored is more like "hints" used by an algorithm to generate things.  It is really very smart: storing a list of operations applied to a base object instead of storing a hojillion vertices.
Use those talents you have. You will make it. You will give joy to the world. Take this tip from nature: The woods would be a very silent place if no birds sang except those who sang best.
-- Bernard Meltzer

Check out my games:  http://www.meyermike.com

Offline Amberfox

  • Akalabeth Addict
  • **
  • Posts: 183
    • View Profile
Re: A technical question concerning planets
« Reply #2 on: July 19, 2005, 01:16:57 pm »
so you mean it's stored like this:

- planet (based on some algorithm) + "object01": position of object on planet (some coordinates); algorithm of that specific object (for example our volcano)
                                                  + "object02": position of object on planet; algorithm of that specific object
                                                      etc...

that would make sense, yes. but what if you want not only to "add" objects like volcanos but instead for example decide make one of the lakes there deeper or longer? Since the lakes and oceans are described by the algorithm that creates the planet, how is it possible to change that?  probably they've created a system of algorithm-layers, whereas one of them describes the size, climate and so on and another one is responsible for the oceans and lakes

Offline Borogove

  • Venture Conqueror
  • ****
  • Posts: 779
  • mimsy: adj. - flimsy and miserable :(
    • View Profile
    • Meyermike.com
Re: A technical question concerning planets
« Reply #3 on: July 19, 2005, 01:33:01 pm »
I can't claim to know the details of how they do it, but from the GDC vid it looks like more it would be something like:

start with a sphere.
add in some craters in various sizes.
add in some geological activity of whatever types and degrees.
apply some erosion.
lower terrain in area x where the player used his dig-a-hole laser.
etc. 

and it can be compressed further by doing it something like the way Elite did, and base things off a random number generator, so you just store a seed value for the planet's state before the player started modifying it.

Not so much just tossing things onto a planet, but storing a set of modifications to it.
it's not so much that you add an object to it, as that you do something to the original.
At least that's my take on it.
Use those talents you have. You will make it. You will give joy to the world. Take this tip from nature: The woods would be a very silent place if no birds sang except those who sang best.
-- Bernard Meltzer

Check out my games:  http://www.meyermike.com

Offline 762

  • Goddess of Phobos
  • *****
  • Posts: 5073
    • View Profile
Re: A technical question concerning planets
« Reply #4 on: July 19, 2005, 02:29:29 pm »
I heard an analogy somewhere (probably one of Steve's interviews) where, with the creatures, it's like downloading the DNA to your machine. The game then uses algorithms to construct the creatures. I would imagine that it would work much the same way for the planets. Of course, planets don't have DNA, but neither do virtual creatures ;)

Spore countdowns: USA Europe

Offline Haddeen Sol

  • Adventure Ace
  • ***
  • Posts: 464
  • The proletariat are undeserving of my presence.
    • View Profile
Re: A technical question concerning planets
« Reply #5 on: July 19, 2005, 03:37:22 pm »
My guess is that it's something damned simple that never occoured to you. It's usually that.
Riot grrrrl!

Offline Behumat

  • Joust Warrior
  • *****
  • Posts: 1440
  • Coruscant committee to fight urban sprawl
    • View Profile
Re: A technical question concerning planets
« Reply #6 on: July 20, 2005, 05:00:51 pm »
Well, the impression I got was that the algorithm tech being used to make file size so small is primarily for the data packet transfers. User info, x city goes in y spot. Z made volcanoe goes in gridspace A, will probally just be saved on your computer using standard programing techniques. Not much reason to transmit that info to other computers. If another player is going to come across your race in their galaxy, simply sending them the DNA blueprint and info containing what kind of planet it is (desert, jungle, etc), as well as how many cities are on the planet, and what tech level they are, should be enough. Their computer can build it from there. Not much point in making the planets match exactly, as the two players will probally never meet and be able to compare notes. If the holy volcanoe of Graknog outside the will-0-saurus capital city only exists on Will's computer, who's going to know?