Outerra forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

Download Outerra Tech Demo. Unofficial Outerra Discord server, MicroProse Discord server for OWS.

Author Topic: Heightfield based planets vs. generated ones  (Read 20417 times)

SpaceFlight

  • Sr. Member
  • ****
  • Posts: 252
Heightfield based planets vs. generated ones
« on: January 16, 2011, 06:42:49 am »

Quote from: cameni
Are you asking if multiple planets will be supported? The engine is meant to support traveling between planets, each planet having its own definition, be it heightfield-based or generated algorithmically.


Wow, this sounds pretty exciting :)

Quote
be it heightfield-based or generated algorithmically.

Excuse my question, but what is the difference between these two methods ?
Logged
"You see, Killbots have a preset kill limit. Knowing their weakness, I sent wave after wave of my own men at them, until they reached their limit and shut down."
Zapp Brannigan

cameni

  • Brano Kemen
  • Outerra Administrator
  • Hero Member
  • *****
  • Posts: 6721
  • No sense of urgency.
    • outerra.com
Heightfield based planets vs. generated ones
« Reply #1 on: January 16, 2011, 07:33:53 am »

Quote from: SpaceFlight
Quote from: cameni
be it heightfield-based or generated algorithmically.
Excuse my question, but what is the difference between these two methods ?
Height field based planets are those for which you've got global elevation data defining the shape of terrain in some resolution, say in 90m or 1km raster, which the engine refines down to centimeters. Additionally the engine will use other datasets such as climate maps to generate the planet.
This approach will be used for Earth and other bodies for what we've got some data, like Mars and Moon.

On the other hand, planets could be generated procedurally from scratch, basically from a single random number seed. In this case (in Outerra) the process will work by employing a generator in place of the external planetary data. The generator will mimic the characteristic patterns of topographic features on a planet - continents, mountain ranges, water drainage networks, volcanoes etc. generating them randomly but keeping them believable and natural for given planet type.

Obviously, these two approaches can be also combined. With procedurally generated planets you could still want to influence the shapes of the continents or to place/move the mountains or to define the climates so that it all lines up with the game setting. You should be able to mod specific locations by smaller height field patches as well.
Logged

SpaceFlight

  • Sr. Member
  • ****
  • Posts: 252
Heightfield based planets vs. generated ones
« Reply #2 on: January 16, 2011, 01:44:35 pm »

Thanks for the detailed explanation. :)
Logged
"You see, Killbots have a preset kill limit. Knowing their weakness, I sent wave after wave of my own men at them, until they reached their limit and shut down."
Zapp Brannigan

C. Shawn Smith

  • Hero Member
  • *****
  • Posts: 712
    • C. Shawn Smith's Art Gallery & Portfolio
Heightfield based planets vs. generated ones
« Reply #3 on: January 16, 2011, 09:22:45 pm »

On the note of heightfield data in the required format, I'm currently working on a photoshop tutorial that attempts to "fake" heightfield data at more or less 1km per pixel.  I won't know how well it will perform until Outerra gives us that ability, but it should get you in the ballpark.

The image in this thread shows a sample.  The original is a 4096x4096 16-bit greyscale image.  The island continent shown is approximately 1/4 to 1/2 the size of Australia.  Basically, I took an original color map I created using this technique as a baseline, then overlayed various greyscale colors to get "basic" heightfield data, and then use various cloud filters amongst others to try to make it a little more variable.  I also use a greyscale version of the original map to give a few extra features, namely for mountain regions.  The custom heightfield data more or less works in Lightwave, although refining it down to the cm level like Outerra doesn't work quite as well.  Not to mention the render times are horrendous.

This is only one sample of an image I created in Lightwave using the heightfield data:


I think this one is about 1+km above the ground plane


This one is at typical human eye-level, looking off to the horizon (no fog effects enabled, so it's hard to sense the scale)


The mountains in this image are about 5km away, I think (I'll have to go back and check my maps to be sure)

Regardless, even with the bad renders here, it's close, so hopefully Outerra's refinement will make these images really shine :)

Too bad that ability is still in the distant future :(

*Edit* Public Facebook links not working ... will fix in a minute
*Edit2* Fixed distance :)
Logged
What we think, we become -- Buddha
There is no spoon -- Neo, The Matrix
The Cosmos is all that is, or ever was, or ever will be. -- Carl Sagan
Outerra is all that is, or ever was, or ever will be. -- Me :)
- Yes, I'm still around ... just been busy with other projects ;)

C. Shawn Smith

  • Hero Member
  • *****
  • Posts: 712
    • C. Shawn Smith's Art Gallery & Portfolio
Heightfield based planets vs. generated ones
« Reply #4 on: January 16, 2011, 10:17:54 pm »

Hmm, on this same note, Cameni, what method do you use to compress your current height field data?  After considering just how big a planet is, and considering my 1km per pixel height map, I'm realizing that there will be a LOT of Photoshop/raster images just to make a single viable planet :).

(This question would probably be better served in a separate thread or on a different forum)
Logged
What we think, we become -- Buddha
There is no spoon -- Neo, The Matrix
The Cosmos is all that is, or ever was, or ever will be. -- Carl Sagan
Outerra is all that is, or ever was, or ever will be. -- Me :)
- Yes, I'm still around ... just been busy with other projects ;)

cameni

  • Brano Kemen
  • Outerra Administrator
  • Hero Member
  • *****
  • Posts: 6721
  • No sense of urgency.
    • outerra.com
Heightfield based planets vs. generated ones
« Reply #5 on: January 17, 2011, 03:01:54 am »

The compression is based on decomposition to wavelets and using a entropy encoder on it. It also obeys certain rules the engine imposes on it; in other words it cannot be easily produced outside the mapper/encoder tool. The tool was made for the purpose of mapping and compressing elevation (and other) data, but at the time it's not very sophisticated and very slow.

1kmpp is also a rather low resolution; the fractal noise is tuned for finer ones, there will have to be another intermediate stage that can make terrain features in that range.

But I was thinking about providing a set of tools within the engine or in a separate application, aimed at planet creation, that would automatically compress the data so that the storage is compact. It will have to wait until we progress in stuff essential for our survival, but it could be a nice addition even for that. For example, adding an island to Pacific. Or Atlantis. Originally I thought we could do a this kind of application, a world builder, instead of the game, but a game will reach wider audience.
Logged

C. Shawn Smith

  • Hero Member
  • *****
  • Posts: 712
    • C. Shawn Smith's Art Gallery & Portfolio
Heightfield based planets vs. generated ones
« Reply #6 on: January 17, 2011, 10:55:59 am »

Hmm, if that's the case, that could also explain the problems I encountered in my Lightwave model as well.  I originally thought it was the mesh not having enough geometry, but I'm beginning to think it might have been a combination of both (1km/p + mesh density).  I'll have to run a few tests.

On a personal level, I know I can chop that image into pieces and upscale them appropriately to get better resolution, but trying to map that to a dense, triangulated mesh in Lightwave is a pain in the proverbial arse  :/

My main goal in creating the tutorial is to help 3d artists generate highly detailed custom terrain.  Depending on how the Outerra planetary builder tools work when and if they're done (I know you want to do it, but I also understand it's low priority :)), I could probably alter the tutorial a bit once I understand the underlying height field architecture of the engine.  That should be a fun little project when the time comes :)
Logged
What we think, we become -- Buddha
There is no spoon -- Neo, The Matrix
The Cosmos is all that is, or ever was, or ever will be. -- Carl Sagan
Outerra is all that is, or ever was, or ever will be. -- Me :)
- Yes, I'm still around ... just been busy with other projects ;)

cameni

  • Brano Kemen
  • Outerra Administrator
  • Hero Member
  • *****
  • Posts: 6721
  • No sense of urgency.
    • outerra.com
Heightfield based planets vs. generated ones
« Reply #7 on: January 17, 2011, 11:19:44 am »

Quote from: cshawnsmith
Depending on how the Outerra planetary builder tools work when and if they're done (I know you want to do it, but I also understand it's low priority :)), I could probably alter the tutorial a bit once I understand the underlying height field architecture of the engine.
It's not exactly a height field architecture, only the input data come in form of height fields. With the tools for direct manipulation of terrain the height fields will go away entirely, except maybe for smaller localized patches imported from other programs.
Logged

C. Shawn Smith

  • Hero Member
  • *****
  • Posts: 712
    • C. Shawn Smith's Art Gallery & Portfolio
Heightfield based planets vs. generated ones
« Reply #8 on: January 17, 2011, 11:27:11 am »

Ahh, I think I see.

Guess I'll just have to be VERY patient then :)  It's fun speculating on the build though :D
Logged
What we think, we become -- Buddha
There is no spoon -- Neo, The Matrix
The Cosmos is all that is, or ever was, or ever will be. -- Carl Sagan
Outerra is all that is, or ever was, or ever will be. -- Me :)
- Yes, I'm still around ... just been busy with other projects ;)