River Region Attributes and Elements

This weekend was spent working on multiple things at the same time. I tweaked both the terrain generation algorithm (again) and the rainfall generation algorithm so that high mountains have a larger chance of being snow covered. Besides that, I added some river related region attributes and elements along with a new region constraint which tie those attributes and elements to the amount of flowing water within a region. I also tweaked the base biomes to prevent over-saturation due to the combination of both rainfall and flowing water on individual cells. I also unfortunately had to remove the lake biome from the base mod. The way I was generating lakes before was mostly through a very lame hack which I ended up removing a while ago. So preserving that biome made no sense. Lakes will have to be re-added as separate, more complete, feature in a later release.

The end result of all those changes was a mixed bag of successes and rollbacks. Still, I managed to improve things a little bit overall. Here's another set of screenshots of a single world with all areas worked on shown:

















Things you might notice:

Mountain ranges are bit more common and a tad less extensive

The drainage overlay now only shows flowing water (or ice), instead of mixing flowing water with rainfall

Regions are smaller and very broken

Humans somehow managed to colonize the south pole...

The good thing is that, beside some weird over-adaptive behavior, human groups seem to behave well regardless of the presence of rivers. They handle rivers just as if they where shores or coastlines, which is kinda OK for now. I might not need to do much work there besides possibly improving the fishing and farming activities and differentiating the human behavior between river cells and sea cells.

On the other hand, regions are a mess. The original region forming algorithm was designed to create mostly homogeneous regions based around a single biome. So a region might form to cover a forested area or a desert for example. This used to work fine previously when areas having a single biome where larger and more blob-like. But now, rivers tend to split up large areas frequently by creating many small differing biome patches within those areas.

I tried to improve the region forming algorithm by adding tolerance to small amounts of biome changes but it doesn't seem to work very well after all. So I'm thinking I might need to rewrite the entire algorithm and use a completely different region formation strategy. Still, I'm ambivalent about doing that for this particular release. A region rewrite might take me a couple of weeks or even a month and I don't want to introduce more delays to the release of 0.3.3. So perhaps next week I'll focus instead on making sure human groups benefit from rivers a little bit more and also curtail their now very high adaptability. Then, I'll finally move into release bound bug-squashing and testing.