Trees in dead of winter suddenly with full foliage for an instant

Started by ahowe42, December 22, 2016, 07:01:34 AM

Previous topic - Next topic

ahowe42

I've observed this bug newly with A16.  My colonists are in a temperate forest boime; it's the dead of winter and there's snow covering the ground and all the trees are denuded.  Frequently, when I panned over to a new part of the landscape, the trees would suddenly be drawn with full foliage, just to have said foliage disappear momentarily.  It happened fairly consistently.  I don't think I have a save still of that colony in winter, but they're in fall now, so I can play a while, then when this bug repeats, make a winter save and add it here, if needed.

Andrew

[attachment deleted by admin due to age]

Tynan

Tynan Sylvester - @TynanSylvester - Tynan's Blog


Calahan

"bumo" is a typo. Tynan meant to type "bump" (in order to push the thread to the top of the list of forum threads).

ahowe42

Ok, thanks Calahan.  I wouldn't have understood "bump" either :-).

Andrew

ison

Do you have a savefile where this happens? It would definitely help.

Plants become leafless as soon as the temperature goes below a given threshold, and they recover after one day. I think that in this case the temperature just oscillates around the threshold. Not sure how this should be solved, perhaps there should be more intermediate stages.

Calahan

@ ison / Tynan - How, or in what state, are trees initially rendered? As I have seen this issue on occasions in previous versions when turbo-scrolling the map (ie. using edge-scrolling and key scrolling together). Edit - Note, I have not played A16 yet, so my experience is only based on previous versions, not A16.

My take on this when I experienced it (because I have seen this in several other games) is that the trees are being initially rendered on screen in their default state, which I assume to be with foliage. But this only lasts a fraction of a second, as once the game realises the trees are on-screen (rather than off-screen), it checks to see if the correct sprite is being used in relation to the weather/temp/season/whatever the check is, and then renders the correct sprite (ie. no foliage).

I do not know what triggers it, apart from the turbo-scrolling playing a part, but in my experience from playing earlier versions it either happens at a specific moment or it doesn't. And if it does happen, it can't be reproduced at that moment because the game has obtained some memory of the correct foliage state of the trees, so the game has to "forget" the correct state before there is any chance of it being triggered again (probably by restarting and/or rebooting the game / system).

As I said though this is just my theory on this, based largely on just generally observing what's happening in-game, and from the explanations I have heard regarding this sort of thing when it's occurred in other games. ie. The game always renders a sprite in it's default state before considering applying any changes to that state. So you can sometimes momentarily "catch" a sprite on-screen in the wrong state if the game is still calculating what the correct state should be.

Tynan

Tynan Sylvester - @TynanSylvester - Tynan's Blog

ison

Quote from: Calahan on January 22, 2017, 07:43:06 AM
@ ison / Tynan - How, or in what state, are trees initially rendered? As I have seen this issue on occasions in previous versions when turbo-scrolling the map (ie. using edge-scrolling and key scrolling together). Edit - Note, I have not played A16 yet, so my experience is only based on previous versions, not A16.

My take on this when I experienced it (because I have seen this in several other games) is that the trees are being initially rendered on screen in their default state, which I assume to be with foliage. But this only lasts a fraction of a second, as once the game realises the trees are on-screen (rather than off-screen), it checks to see if the correct sprite is being used in relation to the weather/temp/season/whatever the check is, and then renders the correct sprite (ie. no foliage).

I do not know what triggers it, apart from the turbo-scrolling playing a part, but in my experience from playing earlier versions it either happens at a specific moment or it doesn't. And if it does happen, it can't be reproduced at that moment because the game has obtained some memory of the correct foliage state of the trees, so the game has to "forget" the correct state before there is any chance of it being triggered again (probably by restarting and/or rebooting the game / system).

As I said though this is just my theory on this, based largely on just generally observing what's happening in-game, and from the explanations I have heard regarding this sort of thing when it's occurred in other games. ie. The game always renders a sprite in it's default state before considering applying any changes to that state. So you can sometimes momentarily "catch" a sprite on-screen in the wrong state if the game is still calculating what the correct state should be.

Trees are always initially rendered in their correct state. The texture is chosen based on their current state, so it shouldn't be possible for them to return an incorrect texture even if it's the first time they're drawn. Thank you for your thoughts.

My only theory is that these trees just legitimately lose leaves due to low temperature. The fact that it happens right after you look at them may be a coincidence. Though I'm not sure if it's really the case here. Perhaps a video or savefile would help.

Calahan

Quote from: ison on January 25, 2017, 10:04:06 AM
Perhaps a video or savefile would help.
If I find time I shall have a try at both. Although I'm sceptical of being able to provide a save file that can reproduce this, as like I said it either happens or it doesn't in my experience, and so reproducing it from a save file will be a random yes/no for reproduction. Plus I'm thinking the user's machine plays a (likely large) part in this (either processing speed, or graphics card/driver/settings etc.).

A video is likely to be a better option. Although I've never made a video before so I'd have to look into doing that. Plus I'd need to "find" a colony from somewhere to try and provide an A16 video (as I can't recall seeing this issue outside of a mature-ish colony). Although I think I still have some saves from my older A12 colonies, and I'm sure I've seen this problem in A12 (as I probably have more play time on that version than all others combined). So assuming even seeing this problem in action, regardless of version (within limits), might be of some benefit (or at least better than nothing), I shall try and create a video of it from an older version (but I'll try with A16 first).

Give me a few days / until the weekend. Although if there's nothing else you need the thread for you can close it, and if I create a video I'll open the thread and bump it (and if I can't create a video then I assume there's nothing to be done about this so the thread can be closed anyway, and a new thread created at some point if needed).

Tynan

Tynan Sylvester - @TynanSylvester - Tynan's Blog

skullywag

I have seen this in the past but for me was legitimately due to the temperature fluctuating around the threshold the game uses to determine the texture. An example, temperature is above threshold in the day and trees have leaves, its starts to turn night, temperature dips enough that trees go leafless, at the same time a heatwave hits and pushes it back up over threshold, trees go leafed again.

Havent seen it happen quicker than 16 seconds apart (which i believe is a long tick which is how often the check happens). If you can guarantee youve seen it flicker quicker than 16 seconds apart TWICE then there is something wrong. The logic looks right to me so maybe its a rendering issue at the graphics end.
Skullywag modded to death.
I'd never met an iterator I liked....until Zhentar saved me.
Why Unity5, WHY do you forsake me?

Calahan

Quote from: skullywag on January 27, 2017, 08:43:56 AM
Havent seen it happen quicker than 16 seconds apart (which i believe is a long tick which is how often the check happens). If you can guarantee youve seen it flicker quicker than 16 seconds apart TWICE then there is something wrong. The logic looks right to me so maybe its a rendering issue at the graphics end.
When I've seen it happen it has always been a split second, blink and you'll miss it type of thing. I wouldn't 100% rule out it being something my end in relation to my graphics driver/graphics card, but it didn't seem to be a rendering glitch, or a general graphical glitch in that sense, and it did just seem like the game chose to render the wrong sprite for a moment before going "Oops, wrong sprite", and then rendering the correct one. Plus if the OP has seen it as well then it's not limited to my machine(s), and might be something that's generally appearing on a semi rare basis (when you factor in the times it might happen but the player misses it, and/or the times it happens and the player doesn't report it. Like me before this thread appeared).

I still hope to find time over the weekend to try and trigger this and catch it on video. But if I can't then I'll keep it in mind for the future so that next time it randomly occurs I'll remember to video it instead of dismissing it as "oh, that tree foliage thing happened again", which is what I've always done in the past (as I honestly didn't think it was worth reporting this because it's such a minor and temporary thing that has zero affect on the gameplay or the playing experience. A candidate for the most minor bug ever award?).

Post-weekend update - Unfortunately I didn't have much time in the end to try and recreate this. But it's on my to-do / to-look-out-for list, and if I or the OP do manage to create a video of this (the OP has told me (via email) that he will try and capture this on video as well), then I will post it here and bump this thread accordingly.