News:

Simutrans Forum Archive
A complete record of the old Simutrans Forum.

NEW CLIMATES MODEL (was: The Equatorial Wind)

Started by Roads, December 14, 2008, 12:15:30 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

kierongreen

Interesting... I'd still keep the existing beach code myself...

TurfIt

The beach code is untouched. I stuck the rain4 algorithm between the "set climates in new area and old map near seam" and "bays have wide beaches" sections of karte_t::enlarge_map().

kierongreen

Ok just couldn't see them that far zoomed out!

VS

#73
I think there wasn't any progress... I abandoned the project, as I realized that inland maps get very little water. That, of course, requires something different. I think one of Hajo's insights buried somewhere was that modelling the result of some processes does not need understanding and modelling the actual mechanics. (Essentially mechanistic vs empirical model.) So, right now, I might try some other approaches, some that ensure that the map gets enough water (as a primary goal) and then tries to distribute that in a convincing fashion. That would mean one could set amount of moisture on a map separately from terrain shape... The main method of blurred heightmaps' gradients would remain, of course.

Actually, I don't even know any more if separating temperature and moisture is the right way to go, but it still feels like the right way to do it.

Anyway, I am glad that the tinkering back then actually helped someone :)

There is also that inspirational page...

(heavily edited)

My projects... Tools for messing with Simutrans graphics. Graphic archive - templates and some other stuff for painters. Development logs for most recent information on what is going on. And of course pak128!

TurfIt

At first, I was also thinking inland maps vs islands were an issue, but doesn't it end up the same if you simply give the inland map a higher water_starting amount?

I've seen that page linked before. It is interesting but would only give best results imho if the whole terrain generation in simutrans was replaced. The rain algorithm was has advantage of being a simple overlay.

Attached is my crude test implementation of rain4.m. The parameters can be adjusted in the climate dialog. The enlarge map dialog has a button to open the climate settings too, and a button to rerun the rain without needing to create a new map. Note: the mediterranean, temperate, and tundra height numbers from the old system control the boundaries for the 4 height categories in the new.

The parameters seem extremely finicky. I'm rather doubting any set of sensible defaults for all maps can be obtained, but it would sure be nice if someone could find one...
I'm only using the existing 7 climates. My mapping from rain/height to these 7 doesn't seem very good. 10 climates were used above in matlab, 14 climates at the polygon map linked site. It would also be nice if someone could determine how many we really need...
Latitude/temperature is not implemented. Probably needs to be for larger maps.

Any feedback on the viability of this would be great....


kierongreen

#75
I seem to get graphical errors with water transitions almost all missing? The climate distribution for the default parameters seemed ok to me, although map generation was significantly slower than before.

As for more climates - choices are really either 7 existing or 15 or 31 (not that all of those would have to be used). It wouldn't be a simple change though as a few bitfields would have to be extended from uint8s to uint16/32s.

If you actually start thinking about climate/ground types across the world you do have quite a few though...

No Vegetation: Beach, Dune, Rocky pavement, rock (maybe several types/colours)
Grassland: Tundra, Montane, Prairie/Stepp, Savannah
Scrubland: Moorland, heath, mediterranean, desert
Forest: boreal, coniferous, broadleaf,
Humid forest: cloud forest, rain forest
Wetlands: Bog, Marsh, Swamp, Mudflats

Keeping in mind that before humans came along all of a particular climate would be filled with similar vegetation, hence the need for several climates for each temperature range. That would suggest if you really wanted to go overboard on climates you should transition to 31 straight away.

IgorEliezer

What if climates were "coded" like a pakset object?

Something like:

obj=Climate
name=Tundra
ground=<obj_name>
vegetation[0]=<tree_name1>
vegetation[1]=<tree_name2>
ground_obj[0]=<obj_name>
terrain_roughness=<int>
...


It would allow people to define the look of the climates for their paksets, for example: kind of trees, size of forests, density, % coverage, if it has winter graphics, winter period length, terrain roughness, mean altitude...

... umm, or it's better to let people go wild? ;D

kierongreen

Quick note that when I try generating maps from (large) heightmaps I get a crash in karte_t::rain4 (simworld.cc:2227). Seems to be related to deleting some variable...

prissi

Meanwhile OpenTTD has implemented something even more sophisticated. Including a pdf of the basics: http://www.tt-forums.net/viewtopic.php?f=33&t=71970

With the water climate, indeed rivers are not needed any more, as channels could be made from all water.

Vladki

Wow that's nice stuff - specially for real world height maps - it seems to generate rivers on the right place where they should be...

Sarlock

Interesting!  I wonder how easily that method could be ported to Simutrans...
Current projects: Pak128 Trees, blender graphics

Isaac Eiland-Hall