Summer snow

Current stable release, on my second year. I might have been imagining it, but it seemed that the second spring was a lot colder than the first one. Now I’m on the first day of summer, it’s 13C, and first there were flurries, but now it is actually snowing.

The weather patterns might have been messed up by the apocalypse (which would be kinda cool), but it does not snow when it is 13C.

Seems like this one is still there
It is snowing on the first day of summer in 74 Deg F.

Version 0.A
Linux curses
9ac3391

Build #1680, afb6c32 (today’s experimental).

Day 2 of spring, snowing at 11 degrees Celsius.

How do I send the devs a save?

[quote=“Zireael, post:3, topic:2730”]Build #1680, afb6c32 (today’s experimental).

Day 2 of spring, snowing at 11 degrees Celsius.

How do I send the devs a save?[/quote]

As I mentioned in Git, zip/rar it up, upload to your filesharing/cloud site, post a link.

This same bug has been in my recent games. It’s more annoying than I would expect to have full-blown snowstorms in the middle of summer with 65+ F temperatures. Really kills the immersion factor.

I have yet complete an entire year’s cycle in-game and have not encountered this. Do you have the length of seasons modified at all?

Edit: I’m looking at the array for weather_change bias in src/weather_data.cpp. By the looks of it, there IS a chance of snow in the summer time. The odds are pretty slim for snow to start, but once it does, it seems like it wants to keep going. I suspect that the values may need to be tweaked a bit more to represent relative norms.

/**
* Weather change bias table.
* Chances for each season, for the weather listed on the left to shift to the
* weather listed across the top.
*/
int weather_shift[4][NUM_WEATHER_TYPES][NUM_WEATHER_TYPES] = {
{ // SPRING
// NUL CLR SUN CLD DRZ RAI THN LGT AC1 AC2 SN1 SN2 SN3
/* NUL */ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* CLR */ { 0, 5, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* SUN */ { 0, 4, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* CLD */ { 0, 3, 0, 4, 3, 1, 0, 0, 1, 0, 1, 0, 0},
/* DRZ */ { 0, 1, 0, 3, 6, 3, 1, 0, 2, 0, 0, 0, 0},
/* RAI */ { 0, 0, 0, 4, 5, 7, 3, 1, 0, 0, 0, 0, 0},
// NUL CLR SUN CLD DRZ RAI THN LGT AC1 AC2 SN1 SN2 SN3
/* TND */ { 0, 0, 0, 2, 2, 4, 5, 3, 0, 0, 0, 0, 0},
/* LGT */ { 0, 0, 0, 1, 1, 4, 5, 5, 0, 0, 0, 0, 0},
/* AC1 */ { 0, 1, 0, 1, 1, 1, 0, 0, 3, 3, 0, 0, 0},
/* AC2 */ { 0, 0, 0, 1, 1, 1, 0, 0, 4, 2, 0, 0, 0},
/* SN1 */ { 0, 1, 0, 3, 2, 1, 1, 0, 0, 0, 2, 1, 0},
// NUL CLR SUN CLD DRZ RAI THN LGT AC1 AC2 SN1 SN2 SN3
/* SN2 */ { 0, 0, 0, 1, 1, 2, 1, 0, 0, 0, 3, 1, 1},
/* SN3 */ { 0, 0, 0, 0, 1, 3, 2, 1, 0, 0, 1, 1, 1}
},

{ // SUMMER
// NUL CLR SUN CLD DRZ RAI THN LGT AC1 AC2 SN1 SN2 SN3
/* NUL */ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* CLR */ { 0, 5, 5, 2, 2, 1, 1, 0, 1, 0, 1, 0, 0},
/* SUN */ { 0, 3, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* CLD */ { 0, 1, 1, 6, 5, 2, 1, 0, 2, 0, 1, 0, 0},
/* DRZ */ { 0, 2, 2, 3, 6, 3, 1, 0, 2, 0, 0, 0, 0},
// NUL CLR SUN CLD DRZ RAI THN LGT AC1 AC2 SN1 SN2 SN3
/* RAI */ { 0, 1, 1, 3, 4, 5, 4, 2, 0, 0, 0, 0, 0},
/* TND */ { 0, 0, 0, 2, 3, 5, 4, 5, 0, 0, 0, 0, 0},
/* LGT */ { 0, 0, 0, 0, 0, 3, 3, 5, 0, 0, 0, 0, 0},
/* AC1 */ { 0, 1, 1, 2, 1, 1, 0, 0, 3, 4, 0, 0, 0},
/* AC2 */ { 0, 1, 0, 1, 1, 1, 0, 0, 5, 3, 0, 0, 0},
// NUL CLR SUN CLD DRZ RAI THN LGT AC1 AC2 SN1 SN2 SN3
/* SN1 */ { 0, 4, 0, 4, 2, 2, 1, 0, 0, 0, 2, 1, 0},
/* SN2 */ { 0, 0, 0, 2, 2, 4, 2, 0, 0, 0, 3, 1, 1},
/* SN3 */ { 0, 0, 0, 2, 1, 3, 3, 1, 0, 0, 2, 2, 0}
},

{ // AUTUMN
// NUL CLR SUN CLD DRZ RAI THN LGT AC1 AC2 SN1 SN2 SN3
/* NUL */ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* CLR */ { 0, 6, 3, 3, 3, 1, 1, 0, 1, 0, 1, 0, 0},
/* SUN */ { 0, 4, 5, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0},
/* CLD */ { 0, 1, 1, 8, 5, 2, 0, 0, 2, 0, 1, 0, 0},
/* DRZ */ { 0, 1, 0, 3, 6, 3, 1, 0, 2, 0, 0, 0, 0},
// NUL CLR SUN CLD DRZ RAI THN LGT AC1 AC2 SN1 SN2 SN3
/* RAI */ { 0, 1, 1, 3, 4, 5, 4, 2, 0, 0, 0, 0, 0},
/* TND */ { 0, 0, 0, 2, 3, 5, 4, 5, 0, 0, 0, 0, 0},
/* LGT */ { 0, 0, 0, 0, 0, 3, 3, 5, 0, 0, 0, 0, 0},
/* AC1 */ { 0, 1, 1, 2, 1, 1, 0, 0, 3, 4, 0, 0, 0},
/* AC2 */ { 0, 0, 0, 1, 1, 1, 0, 0, 4, 4, 0, 0, 0},
// NUL CLR SUN CLD DRZ RAI THN LGT AC1 AC2 SN1 SN2 SN3
/* SN1 */ { 0, 2, 0, 4, 2, 1, 0, 0, 0, 0, 2, 1, 0},
/* SN2 */ { 0, 0, 0, 2, 2, 5, 2, 0, 0, 0, 2, 1, 1},
/* SN3 */ { 0, 0, 0, 2, 1, 5, 2, 0, 0, 0, 2, 1, 1}
},

{ // WINTER
// NUL CLR SUN CLD DRZ RAI THN LGT AC1 AC2 SN1 SN2 SN3
/* NUL */ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
/* CLR */ { 0, 9, 3, 4, 1, 0, 0, 0, 1, 0, 2, 0, 0},
/* SUN */ { 0, 4, 8, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0},
/* CLD */ { 0, 1, 1, 8, 1, 0, 0, 0, 1, 0, 4, 2, 1},
/* DRZ */ { 0, 1, 0, 4, 3, 1, 0, 0, 1, 0, 3, 0, 0},
// NUL CLR SUN CLD DRZ RAI THN LGT AC1 AC2 SN1 SN2 SN3
/* RAI */ { 0, 0, 0, 3, 2, 2, 1, 1, 0, 0, 4, 4, 0},
/* TND */ { 0, 0, 0, 2, 1, 2, 2, 1, 0, 0, 2, 4, 1},
/* LGT */ { 0, 0, 0, 3, 0, 3, 3, 1, 0, 0, 2, 4, 4},
/* AC1 */ { 0, 1, 1, 4, 1, 0, 0, 0, 3, 1, 1, 0, 0},
/* AC2 */ { 0, 0, 0, 2, 1, 1, 0, 0, 4, 1, 1, 1, 0},
// NUL CLR SUN CLD DRZ RAI THN LGT AC1 AC2 SN1 SN2 SN3
/* SN1 */ { 0, 1, 0, 5, 1, 0, 0, 0, 0, 0, 7, 2, 0},
/* SN2 */ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 7, 3},
/* SN3 */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 4, 6}
}
};

It appears that summer needs to have it’s numbers adjusted so that snow flurries are more likely to degrade into rain rather than as they are now, where it appears they’re more likely to upgrade into worse and worse weather.

I’m a reasonable man, MacArthur, so I know this isn’t snow

Just had to do this.

Update on this, we’ve had a new dev who seems to know what they’re doing show up that wants to overhaul the weather cycle code, so there could be some traction on this soon.

Yeah. I’m on it. Making it so the weather is consistent and makes sense.
I have to ask a question: what do you guys think of acid rain? Should we keep it or take it away?
I’m having trouble finding a reasonable game condition for the acid rain to happen that is not just some random chance.
If we take it away from normal weather, it would still be available as an effect of some other source. Specific areas may implement it or maybe another kind of event. Just not regular acid rain everywhere at any random time.
Please, let me know your thoughts! =)

I’m fine with acid rain.

[quote=“Efimero, post:9, topic:2730”]Yeah. I’m on it. Making it so the weather is consistent and makes sense.
I have to ask a question: what do you guys think of acid rain? Should we keep it or take it away?
I’m having trouble finding a reasonable game condition for the acid rain to happen that is not just some random chance.
If we take it away from normal weather, it would still be available as an effect of some other source. Specific areas may implement it or maybe another kind of event. Just not regular acid rain everywhere at any random time.
Please, let me know your thoughts! =)[/quote]

DDA Acid rain is canonically the result of those interdimensional portals spewing out Nether crap into the atmosphere, and it settling back out. If you’re tracking amount of portals (those weird purple things that keep cycling, “tear in reality”, etc) in a given area, that would be a good indicator for proportion of acid v. non-acid rain.

[quote=“KA101, post:11, topic:2730”][quote=“Efimero, post:9, topic:2730”]Yeah. I’m on it. Making it so the weather is consistent and makes sense.
I have to ask a question: what do you guys think of acid rain? Should we keep it or take it away?
I’m having trouble finding a reasonable game condition for the acid rain to happen that is not just some random chance.
If we take it away from normal weather, it would still be available as an effect of some other source. Specific areas may implement it or maybe another kind of event. Just not regular acid rain everywhere at any random time.
Please, let me know your thoughts! =)[/quote]

DDA Acid rain is canonically the result of those interdimensional portals spewing out Nether crap into the atmosphere, and it settling back out. If you’re tracking amount of portals (those weird purple things that keep cycling, “tear in reality”, etc) in a given area, that would be a good indicator for proportion of acid v. non-acid rain.[/quote]

Yeah, but that ties the acidity to an object, thus removing the acid rain from the global weather.
What I’m asking for is a game condition that would happen globally to cause acid rain. Portals are not a global phenomenon, even if they’re ubiquitous. You remove them, the rain goes away.
If there’s no way to remove them, that’s a whole different matter, then. =P

[quote=“Efimero, post:12, topic:2730”][quote=“KA101, post:11, topic:2730”][quote=“Efimero, post:9, topic:2730”]Yeah. I’m on it. Making it so the weather is consistent and makes sense.
I have to ask a question: what do you guys think of acid rain? Should we keep it or take it away?
I’m having trouble finding a reasonable game condition for the acid rain to happen that is not just some random chance.
If we take it away from normal weather, it would still be available as an effect of some other source. Specific areas may implement it or maybe another kind of event. Just not regular acid rain everywhere at any random time.
Please, let me know your thoughts! =)[/quote]

DDA Acid rain is canonically the result of those interdimensional portals spewing out Nether crap into the atmosphere, and it settling back out. If you’re tracking amount of portals (those weird purple things that keep cycling, “tear in reality”, etc) in a given area, that would be a good indicator for proportion of acid v. non-acid rain.[/quote]

Yeah, but that ties the acidity to an object, thus removing the acid rain from the global weather.
What I’m asking for is a game condition that would happen globally to cause acid rain. Portals are not a global phenomenon, even if they’re ubiquitous. You remove them, the rain goes away.
If there’s no way to remove them, that’s a whole different matter, then. =P[/quote]

If there’s a way to time-delay that effect (say, a week by the default calendar), IMO it’s entirely acceptable and would give players some reassurance that they can change things for the better. That said…

Currently you can’t remove “natural” ones short of map-editor. You can, however, create more fairly easily: there’s a handheld model findable or craftable, teleglow can prompt portals to open, and several artifact effects can weaken local reality.

And portal-labs’ Finale portals can be turned on and back off. Being underground, though, they currently shouldn’t affect the weather.

So as I understand it, acid rain should not be in the default weather, but instead account for the proximity of portals and such other game objects. That’s fine with me. It can be done. =3
It would be convenient to store the locations of those special weather effect sources in a separate structure so it doesn’t need to load the thing to know it’s there. I don’t know how much terrain is generated at the start or how much is active around the player, but I assume it’s not enough to keep track of those sources dynamically just from the loaded part of the map.
Sounds good?

That would be a problem at the moment I think, I’m not at all sure those are written anywhere right now, though there’s nothing stopping us from adding them to the overmap data. (would be useful for other things, like showing specials on the minimap)