Updated landscape evolution algorithm | 0.1.3


Summary

This update mainly fixes the initial world generation. The erosion model used in previous versions was a bit broken, that is now fixed.

Changes

Ridged perlin noise

The perlin noise used to create the initial elevation has been updated. It's still perlin noise, but it's now "ridged". This creates areas that resembles mountain ranges, without the need to simulate plate tectonic separately. Ideally plate tectonics would be better, but this will have to do for now. Instead of using: N = ((r+1)/2)^a, I use: N = (1-|r|)^b. Where r is noise [-1, 1], a and b are constants, and N is the final noise which can be used to initialize elevation.


Depression drainage

A depression is defined as an area in the world whose accumulated water flow cannot reach the ocean. In plain english, it's a hole.

In previous versions I created lakes at depressions. These lakes cause water to overflow and eventually the walls of the lakes were eroded to the point where the completely were drained. That worked fine, but it could take a lot of iterations to completely drain large lakes. I've now implemented a functionality which drains all depressions before the erosion algorithm starts. I do this by detecting all depressions, and for each depression cut a 1 triangle wide channel to drain the depression. I loop until there are no more depression. After the depressions are drained I do the normal water flow/erosion. The advantage of this is much faster convergence. The drawback is that lakes are not possible anymore. 

There are pros and cons with each implementation, what do you think?



Camera FPS correction

Previously the camera movement speed increased with increasing FPS. This made the camera way too fast at +60 FPS. It's now normalized to the same speed, independent of FPS.

TODO

These are the things which are planned for the 0.1.4 build.

Moisture

At the moment flora growth in the ecosystem simulation is affected by precipitation, but not by accumulated water flow (rivers). This needs to be changed. A river running through a desert should be able to make the area close to the river lush and green, think the Nile. I plan to do this by implementing a new environment variable: moisture. Moisture will be a combination of precipitation and water diffused through rivers in the form of ground water. The farms in the industry system should use this moisture variable, instead of precipitation. So farms along rivers in the desert should be viable, which isn't the case at the moment.

Fauna migration correction

When I made the ecosystem simulation multithreaded the fauna migration got a bit broken. The dispersion was unstable and didn't make sense. I'll have to find better parameters to get back to a stable scenario. This is a minor task. It should also work together with the industry system which can now consume fauna biomass.

Files

Orbis multiplex 0.1.3.zip 34 MB
Feb 02, 2022

Get Orbis Multiplex

Download NowName your own price

Comments

Log in with itch.io to leave a comment.

Deleted post