• Register
Post news Report RSS The world gets it's shape

I've been working on our world generator, Weltschmerz. Weltschmerz is a complex world generator which generates a natural biome distribution for the world by using helper maps for temperature, air pressure, wind, precipitation, etc.to simulate real world conditions.

Posted by on

We apologize to all our fanatics that this blog post took us so long.

The reason for that is that we've been mostly working on internal engine stuff and putting things together. Necessary work, but not particularly glorious or interesting. Nonetheless we've been hard at work.

Holidays

Summer holidays came and went and a lot of our team members took their families on vacation for a couple of weeks.

World map generation

I've been working on our world generator, Weltschmerz. Weltschmerz is a complex world generator which generates a natural biome distribution for the world by using helper maps for temperature, air pressure, wind, precipitation, etc.to simulate real world conditions.

Our work is based on the excellent Master's Thesis "Realistic biome generation for procedural maps using essential cilmate principles" by Thomas Wurstle (Tenjix.de)

I hit some problems with wind simulation and the work took longer than I expected, but it is working now.

Here are pictures of some generation phases being debuged:

wgis 01

wgis 03


In order to achieve the greatest possible accuracy, I began testing generation on height maps of Earth (courtesy of NASA).

For comparison here's an image of the actual Earth:

wgis 04

And here is the resulting map from Weltschmerz:

wgis 06

Here is our UI that we use for testing the setting:

wgis 07

The map is interactive and updates in real time. Unfortunately issues with noise generation caused us performance problems, so we had to turn it off for now.

Non-block terrain objects

Another thing we've added are non-block terrain objects, which are essentially blocks that have a custom mesh and can be of various sizes, for example tree trunks, leafy branches, fences, flowers, etc.

My principle is to generate a box around the object and then fill it with voxels. After that I put the blocks in the chunks.

Here is my first attempt with grass:

wgis 08

If you are observant enough you will see in the image above that the textures have flipped upside down because of a bug. It tooks us a while to notice it.

wgis 09

Above you can see the latest voxel world test with a lonely birch tree.

Themiddleman has been working on octree code to get our octree/chunk hybrid up and running properly. For the moment octrees are disabled and we're using only chunks.

We have transitioned from greedy meshing to voxel splatting. A splatter creates blocks from a single vertex by creating the geometry with a shader.


Octree test:

wgis 10

New team member and skybox

We have a new... old team member! Welcome back, Glor! He's helping us with with code when he has time from his studies. He is currently working on a skybox so that the world would be a little bit prettier:

wgis 11

The clouds and terrain in the above screenshot are faked at the moment. This is a very preliminary version with only a cubemap that can be rotated. It is still missing day and night cycle, real clouds, sun, moon, stars, etc.

What is next?

  • Finishing the octrees
  • Finishing the splatter
  • Essential interaction with the world
  • Constant terrain generation
  • Graphical improvements
  • Saving the generated world
  • Optimizations
  • Physics
  • Networking
  • Testing

Join the team?

We are always looking for more talented members. Do you think you could help?

Check out our Indiedb page:

Indiedb.com

Or write to us directly, contact information can be found on our web page:

Starandserpent.com

Star and Serpent team greets you and looks forward to seeing you next time!

Cheers,

Pawlost

Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.

Related Games
Rituals of the old
Rituals of the old Role Playing
Related Engines
jMonkeyEngine
jMonkeyEngine BSD
Related Groups
Star and Serpent
Star and Serpent Developer & Publisher