Jump to content

Are Season Lengths Randomized After the First Year?


Recommended Posts

 In Don't Starve, Autumn and Spring usually last 20 days, while Winter and Summer last 15 days. After my first year (play through all 4 seasons), I start to notice that the seasons start to shift in different lengths. For example, I'd keep track of my days in Don't Starve, expecting Summer to end on a specific day, but then Summer might end up lasting a few more days (Summer's length would be 16 or even 17 days), or one less day (Summer's length would be 14 days). In the codes, Summer and Winter are supposed to last 15 days, but I've seen multiple instances when they last 16 days or more, and I'm not sure if it has to do with cave exploration. Autumn and Spring don't really change like this, but sometimes I've noticed that these seasons also have a possibility of lasting longer then they should, but I've never noticed the opposite.

 This is probably not intended, but that's right. Maybe not the way you explained, but something like this. It's easy to notice with popular "Combined Status" mod. It shows many thing, like current state of season - for example, [Autumn 11/20]. Sometimes it's [Spring 19/20] and the next day summer beginns and it's [Summer 1/15] (just another example). It happens really commonly in Shipwrecked. My first calm season had 19 days, but the next year it had 20 days. Or dry season - it was 15/15, so I was happy - "Finally, end of eruptions, I can go to base". And you know what? [Dry 16/15]! :D There were one extra day of the season, duh. But next year it had just 14 days (but still, it was 14/15, not 14/14).
 Probably this is one of the reasons why RoG and SW worlds are becoming desynchronisated with some time.

 Edit:
Oh, I used wrong mod's name. Changed it. Here's the link to "Combined Status" by @rezecib.

Random seasons are not only random, they're _glitched_, as I found out when I tried that recently.  Not only could they change really quickly/unpredictably, but twice in the same run I loaded a saved game to find it a different season from when I saved!  Once it went from spring to summer, and I thought, "Oh, just a really short spring."  When I saved a game in early summer and reloaded it in WINTER, however, I knew something was up.

And I never noticed that the seasons have somewhat-random lengths...huh. I did notice that often, the different signature things that mark each season can start or end earlier or later than when the actual season has changed--for example, in my current run, I just recently got attacked by birchnutters after cutting a bare, leafless birch tree...right in front of a WALRUS CAMP!  It was definitely still winter, and I could not plant any birchnuts _because the trees weren't dropping any_, but one of the nearby trees poof!ed into leafyness just in time to go crazy.  Seeing this happen with the blueish winter lighting still on was truly surreal.  I was like "What?  You have GOT to be kidding me!" while running away.  : P  And then, of course, more normal mixings like seeing a few coloured-leaf trees scattered in among the green ones towards the end of summer.

ANYway, point is:  Even when the season lengths _are_ predictable, the way they change from one into the other can still be random in and of itself.  Rainy summers, leafy winters...it can be really freaking weird.  And it helps explain things like how you can think you're keeping such careful track, and then "What?!  It's winter?! But I left my hat and thermal stone back at base!"  It's not necessarily that you're forgetful...it's quite possible you DID count right..but the game counted different.

...Notorious

...which might possibly be glitched, so watch out.  Changing seasons after a random number of days, yes.  Changing when absolutely _no GAME time whatsoever has passed_, no.

Basically be ready for ANY season at any time, if your game behaves the same way mine does.  I still don't know whether what happened to me is an isolated incident or a known bug.

...Notorious

 

Season Lengths are not randomized after the first year. On any given year, depending on when you save/reload the slot (including going into caves, etc), it may cause there to be an extra day in the season. This happens most frequently for winter and summer, probably because 1/15 is something that's represented less accurately as a floating point number than 1/20, and what the game does is store the percent progress in a season. The extra day occurs when there's some rounding error there and it ends up at 0.99999999999% at the end instead of 100%, and decides not to end the season yet. I suspect this rounding error originates because Lua does double-precision floats, but at some level the game's save system passes through the C++ code, which uses single-precision floats, and I believe that conversion truncates rather than rounds, which results in strictly smaller floats.

In DST this doesn't occur because they use a much better system of storing the elapsed and remaining days in the season, as integers.

3 minutes ago, rezecib said:

Hard, programming stuff

In DST this doesn't occur because they use a much better system of storing the elapsed and remaining days in the season, as integers.

I don't understand much of it but it explains everything :D

So another thing that is better in DST :/

6 hours ago, rezecib said:

Season Lengths are not randomized after the first year. On any given year, depending on when you save/reload the slot (including going into caves, etc), it may cause there to be an extra day in the season. This happens most frequently for winter and summer, probably because 1/15 is something that's represented less accurately as a floating point number than 1/20, and what the game does is store the percent progress in a season. The extra day occurs when there's some rounding error there and it ends up at 0.99999999999% at the end instead of 100%, and decides not to end the season yet. I suspect this rounding error originates because Lua does double-precision floats, but at some level the game's save system passes through the C++ code, which uses single-precision floats, and I believe that conversion truncates rather than rounds, which results in strictly smaller floats.

In DST this doesn't occur because they use a much better system of storing the elapsed and remaining days in the season, as integers.

 Does the rounding system actually round down too? I noticed that some seasons may end shorter then they should, like Autumn and Spring lasting 19 (or even 17) days, or how Winter and Summer may last 14 (or even 12) days.

 Do you know the code strings within seasonmanager that's dictating this?

Archived

This topic is now archived and is closed to further replies.

Please be aware that the content of this thread may be outdated and no longer applicable.

×
  • Create New...