Rivers, Lakes and Erosion

This weekend I mostly focused on improving the drainage basin generation algorithm and adding river and lake biomes, plus I ended up adding "erosion" as terrain generation mechanic. Here a bunch of screenshots of worlds with proper rivers and lakes carving up the landscape:





Here's the same world seen through the improved drainage overlay:





And now here's a world covered in rivers that I created by raising rainfall to the maximum possible value:



Rivers do not always show up neatly even with rainfall raised to it's maximum. Rivers are configured as part of the biomes base mod and they require for water to accumulate in cells up to a certain level to appear. But even when not present that doesn't mean there is no water flowing, as you can see by the forests and jungles that follow the path of unseen brooks and streams.



Lakes are generated in a very similar fashion to rivers by using parameters configured within the biomes base mod. They require even higher amounts of water accumulation to show up and for that reason they tend to be rather small. Also, they are virtually indistinguishable from rivers at this moment, both visually and mechanically. In a future version I'll think of something fun to do with lakes to distinguish them from rivers and vice-versa.

Now, for good measure, here's a screenshot of a river-enhanced world generated using the Earth heightmap:





As you can see, the river generation algorithm is not quite there yet. It's almost impossible not to get a monstrous river devouring half of the Amazon forest. Regardless, I think I'm going to stop tweaking the drainage algorithm for now. There's still a lot of work to do to properly integrate the feature with the rest of the game. Speaking of which, here's a preview of the remaining tasks to complete for this entry:

- Make sure to reset erosion after regenerating terrain

- Make sure drainage basins update when using editor brushes

- Add editor tools to adjust water evaporation and erosion

- Make sure regions account for basins, rivers and lakes

- Add region attributes and elements related to basins, rivers and lakes

- Make sure groups can navigate rivers and lakes

- Make sure groups can cross rivers

- Make sure groups can fish on rivers and lakes



I'm not sure how much work each point is going to require but I'm more or less completing three tasks per weekend. So, perhaps I'll be done with the feature by mid-September. But I don't want to promise anything yet.