Okay, I could be as well me imagining something, but lets look at the numbers of some examples.
The first 4 examples are the results with an unchanged function min_temperature, for the fifth example the type of divisor was changed to float, as well as the expression
divisor = (64 / steps * lat);
to
divisor = (64.0f / steps * lat);
What you see below is the distribution of min-max temperatures below-equal to zero/above zero for all embark tiles. Adding the number of entries for both min and both max row results in roughly the number of total embark tiles (=> 3. column). The delta between the sum and the actual number of embark tiles is caused by incursions.
Now see how "random" the distribution is for the first (pocket) and the second (small) example.
And now compare that to the distribution of the third and fourth example, both 257
2. Both "min <= 0" and "max <= 0" have the same number of entries, as have "min > 0" and "max > 0". That seems odd, doesn't it?
For the fifth example (changed function min_temperature) the distribution looks much more like for the first and the second.
The reason is, that values between 0 and 1 are possible for divisor, which results in a larger variation.
This looks "right" for me - of course I have no clue if it really is correct.
What do you think?
1. 17
2, pocket - # embark tiles 73.984
range | # | ∑ # min/max |
min <= 0 | 27908 |
min > 0 | 48355 | 76.263 |
max<= 0 | 10583 |
max > 0 | 64243 | 74.826 |
2. 33
2, small - # embark tiles 278.784
range | # | ∑ # min/max |
min <= 0 | 97967 |
min > 0 | 188173 | 286.140 |
max<= 0 | 32768 |
max > 0 | 248539 | 281.370 |
3. 257
2, large 1 - # embark tiles 16.908.544
range | # | ∑ # min/max |
min <= 0 | 2243169 |
min > 0 | 14758891 | 17.002.060 |
max<= 0 | 2243169 |
max > 0 | 14758891 | 17.002.060 |
4. 257
2, large 2 - # embark tiles 16.908.544
range | # | ∑ # min/max |
min <= 0 | 1980576 |
min > 0 | 15013574 | 16.994.150 |
max<= 0 | 1980576 |
max > 0 | 15013574 | 16.994.150 |
5. 257
2, large 1 -
float divisor - # embark tiles 16.908.544
range | # | ∑ # min/max |
min <= 0 | 7843764 |
min > 0 | 9387251 | 17.231.015 |
max<= 0 | 2243169 |
max > 0 | 14758891 | 17.002.060 |