View Issue Details

IDProjectCategoryView StatusLast Update
0005327Dwarf FortressWorld Generation -- Parameterspublic2012-02-19 22:34
ReporterG-Flex Assigned To 
PrioritynormalSeveritymajorReproducibilityalways
Status newResolutionopen 
Product Version0.34.02 
Summary0005327: Mesh weighted ranges don't respect min/max values
DescriptionIt seems to me that the weighted ranges for temperature, elevation, etc. work as a percentage of the entire range of values unrestricted by the minima/maxima you've already set. This seems counterintuitive and quite possibly not as intended.

Observe:
Set minimum rainfall to 0 and maximum rainfall to 20. Then set the rainfall mesh size to something positive, the 0%-20% range to some positive number, and the other ranges to "None". You'd think this would mean you can only get rainfall between 0 and 4, but you can still get very many biomes that require rainfall to be well above that (say, 15+). Also, if you set minimum/maximum elevation to 1/200, you would expect similar settings (0-20% weight at 1 and other weights at "None") to result in a world with all elevation well below sea level, but dry land still exists.

I'm not sure how the minima/maxima actually interact with the weighted ranges, but all of this makes it very hard to fine-tune generation using a combination of the two parameter types. For example, it's extremely hard to get a world that is mostly deserts/badlands without flatly denying most other land biomes, because the weighted ranges aren't precise enough with the normal minima/maxima to weight rainfall that low, and don't respond to changes in the minima/maxima, so you have to set the minima/maxima to such a range that it's impossible to get any, say, forests at all. Also, doing something similar with elevation can get you much dry land in worlds where none should exist, or oceans in worlds that should be entirely mountainous.


Ideally, the weighted ranges should respond to minima/maxima such that, for example, the 0-20% range represents the first 20% of values that fall within that specified range, not within the default range. This is what seems intuitive to me and what would work best, but it's fairly provable that's not how it currently works, although I can't prove much beyond that.


However, I may be misidentifying the problem. For example, setting minimum/maximum elevation to 1-400 (the default), but changing the weighted ranges to "None" except for "80-100" still sometimes results in lots of low-lying areas, and even oceans, even though 80-100% of 400 should be entirely mountainous.
Steps To ReproduceCreate a world using advanced parameters.

Set:
Minimum Elevation to 1.
Maximum Elevation to 200.
Elevation Mesh Size to a positive number e.g. 4 x 4.
Elevation Weighted Range (0-20) to a positive number e.g. 1.
All other Elevation Weighted Range values to "None".

Note that you will still get a fair amount of dry land, albeit less than normal, even though 20% of 200 is under sea level.
Tagsworld generation, worldgen

Activities

There are no notes attached to this issue.

Add Note

Note

Issue History

Date Modified Username Field Change
2012-02-19 22:33 G-Flex New Issue
2012-02-19 22:34 G-Flex Tag Attached: world generation
2012-02-19 22:34 G-Flex Tag Attached: worldgen