HAhah, Civ IV random map generation, my pet peeve.
I ask again, will it be possible in Elemental to write map scripts like in Civ IV? I worte the Tectonics map script that's been included in the last Civ IV patch, and there are a few others who produced interesting map scripts, some of us rewriting the land mass generation totally...
So, can we definitely SCRIPT them? I don't want graphic stuff, I want to code the map generator, and use it from the in-game like Civ IV does.
Brad, if you are interested in rivers generation, you must look at PerfectWorld.py and PerfectWorld2.py code. PerfectWorld has some of the best river basin generation I saw. The second version is not as polished as the first yet but still gives nice results.
One big thing which makes Civ IV river generation hard is that the rivers flow BETWEEN plots. It makes it a pain to maintain a heightmap, because rivers won't look good if you pretend a between-plot's height is the averge height of the plots around.
One thing that I tried to do in my own script was generate the rivers not top-down (flow from mountain) but bottom-up (from sea to the inside). It avoids some long snakey rivers as you can sometimes see generated in Civ IV. Howwever Civ IV tends to add rivers near a player's starting position, and these tend to do weird stuff like running straight to the border of the map, then running eastwards through 5 mountain ranges before reaching the sea.
Road networks seem easier: You'd only link places, so there aren't hundreds of plots with location worth building a road to (whereas there are hundreds of river plots).
Regarding scales, I think Elemental would probably be very well suited to an hybrod map generation, where you create macro features with an algorithm (tectonics simulation giving plates, seas, mountain ranges), and a micro feature algorithm (at this level a fractal makes sense) to detail the heightmaps. If the level of the map goes down enough, it would hopefully be possible to code some erosion routines to have rivers carve valleys into the land.