Jump to content

The local temperature at the Fumarole Biome will be higher in winter


Cassielu
  • Fixed

I examined the way the local temperature of the Fumarole Biome changes throughout the year for edit wiki.

Excluding random fluctuations within the range of [-16, +16], which is the return value of the function CalculateSeasonTemperature() in fumarolelocaltemperature.lua and obtained the following graph. The horizontal axis represents the number of days, start with autumn to the end with summer, and the vertical axis is temperature.

It is easy to notice that there is a clear problem here: in winter, the temperature here will first rise and then fall back.

F199254F2548E1FC48F9C1FC9E3FC3B6.png.9a6ba86cc24449c2d7037a15c956488f.png

For comparison, here is the global seasonal temperature in game. Its correct: the temperature will first fall and then rise back in winter.

F29AD8D59B71B346332E7DE3BCC5D139.png.f49f34355d5703bf8ee8774244d55279.png

 

The reason for this situation is that in the file fumarolelocaltemperature.lua, the value of WINTER_CROSSOVER_TEMPERATURE (This  represents the temperatures at the beginning and end of winter) is lower than MIN_TEMPERATURE (This represents the temperatures at middle of winter, and its should be lowest temperatures in the year).

Quote

--------------------------------------------------------------------------
--[[ Temperature constants ]]
--------------------------------------------------------------------------

local TEMPERATURE_NOISE_SCALE = .05
local TEMPERATURE_NOISE_MAG = 16
-- 70
local MIN_TEMPERATURE = 80
local MAX_TEMPERATURE = 125
local WINTER_CROSSOVER_TEMPERATURE = 75
local SUMMER_CROSSOVER_TEMPERATURE = 90

Quote

local function CalculateSeasonTemperature(season, progress)
    return (season == "winter" and math.sin(PI * progress) * (MIN_TEMPERATURE - WINTER_CROSSOVER_TEMPERATURE) + WINTER_CROSSOVER_TEMPERATURE)
        or (season == "spring" and Lerp(WINTER_CROSSOVER_TEMPERATURE, SUMMER_CROSSOVER_TEMPERATURE, progress))
        or (season == "summer" and math.sin(PI * progress) * (MAX_TEMPERATURE - SUMMER_CROSSOVER_TEMPERATURE) + SUMMER_CROSSOVER_TEMPERATURE)
        or Lerp(SUMMER_CROSSOVER_TEMPERATURE, WINTER_CROSSOVER_TEMPERATURE, progress)
end


Steps to Reproduce

Check local temperature of the Fumarole Biome changes throughout the year

  • Like 2



User Feedback


A developer has marked this issue as fixed. This means that the issue has been addressed in the current development build and will likely be in the next update.

Oh huh, nice catch. It seems obvious in hindsight now that you pointed it out.

Both of the crossover temperature values might need to be scaled up further, rather than just the winter one.

  • Like 1

Share this comment


Link to comment
Share on other sites



Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
  • Create New...