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
Get Orbis Multiplex
Orbis Multiplex
A complex simulation oriented strategy and management game on planetary scale
Status | In development |
Author | Robin Johansson |
Genre | Simulation, Educational, Strategy |
Tags | 4X, Automation, Economy, Generator, Management, Procedural Generation, Singleplayer |
Languages | English |
More posts
- Generating hexagonal meshes on spheresAug 14, 2022
- Hexagonal grid | 0.2.0.0Aug 07, 2022
- Automatic tick progression | 0.1.6Mar 25, 2022
- Transportation network | 0.1.5Mar 09, 2022
- Ground water diffusion from rivers | 0.1.4Feb 18, 2022
- Minor industry additions | 0.1.2Jan 28, 2022
- Industry production added to gameplay | 0.1.0Jan 26, 2022
- Version 0.0.11Dec 19, 2021
- Version 0.0.10Sep 24, 2021
Comments
Log in with itch.io to leave a comment.