I have thought about it a bit. While quite far reaching, so not implemented soon, the following would be quite interesting:
Map scripts are reduced to merely provide a height map and some global variables like starting sea level, global temperature and variables that govern summer/winter temperature distribution.
Then starting from that base temperature distribution the sequence of temperature, summer and winter wind, ocean current is simulated for 2 or 3 passes (wind and current influence temperature, hence multiple passes).
Based on that humidity and rain patterns are calculated and with the rain patterns rivers and lakes.
The interesting thing now would be to introduce biomes.
Biomes get an XML description that specifies:
Then assign valid terrains and sometimes features and resources to all plots (both the biome restrictions and the restrictions on the terrain/feature/resource itself apply).
In the game itself the sea level might change or local and global temperature distribution due to e.g. ice age, pollution or volcanos.
The climate is recalculated regularly and if a plot no more fits the biome it is assigned to, it is assigned to another adjacent biome if there is a valid one or forms a new biome. Empty biomes are removed.
If either of those requires a terrain/feature/resource change, that is not done at once but slowly transitions.
Biomes might also get names (maybe the first to discover it names it?).
Map scripts are reduced to merely provide a height map and some global variables like starting sea level, global temperature and variables that govern summer/winter temperature distribution.
Then starting from that base temperature distribution the sequence of temperature, summer and winter wind, ocean current is simulated for 2 or 3 passes (wind and current influence temperature, hence multiple passes).
Based on that humidity and rain patterns are calculated and with the rain patterns rivers and lakes.
The interesting thing now would be to introduce biomes.
Biomes get an XML description that specifies:
- Limits on temperature, humidity, height, latitude and probably some other things.
- Valid terrains, features and resources and their occurance chances separately defined for border plots of the biome and inner plots.
- Animals and their occurances. Animals also try to stay within biomes which are valid for them.
Then assign valid terrains and sometimes features and resources to all plots (both the biome restrictions and the restrictions on the terrain/feature/resource itself apply).
In the game itself the sea level might change or local and global temperature distribution due to e.g. ice age, pollution or volcanos.
The climate is recalculated regularly and if a plot no more fits the biome it is assigned to, it is assigned to another adjacent biome if there is a valid one or forms a new biome. Empty biomes are removed.
If either of those requires a terrain/feature/resource change, that is not done at once but slowly transitions.
Biomes might also get names (maybe the first to discover it names it?).