achievement progress lost on system crash

Bugs that are actually features.
dalindes
Burner Inserter
Burner Inserter
Posts: 18
Joined: Sun Jan 23, 2022 8:02 pm
Contact:

achievement progress lost on system crash

Post by dalindes »

Hi Wube!

I've been loving Factorio 2.0; thanks for all that's in it!

That said, there's one problem that's been plaguing me, and... I guess it's time I report it:

In the event of a system crash (or 'kill -9' on Factorio, or similar), which I unfortunately sometimes have on this system (for reasons I've unfortunately not yet tracked down, but that's immaterial), it turns out that achievements progress can get lost. I've had this happen with numerous things -- some a minor annoyance or not even that because I just get it again when I load up a save, but others are... quite frustrating. E.g. Pyromaniac and Mass Production 3.

In an earlier crash, I noticed all the trees I'd burned -- enough to get Pyromaniac -- were dead and gone when I reloaded an autosave after a crash, but the achievement status? Back to zero, or very close to it.

And just now, I lost about 3 million green circuits worth of progress on MP3, because while I'd even manually saved multiple times, let alone autosave, it appears that the achievements data is only saved at a clean exit of the game (at least on Linux).

For example, I notice that the last 10 lines of my factorio-previous.log look like this:

Code: Select all

18712.075 Info AppManager.cpp:290: Saving to _autosave1 (non-blocking).
18712.262 Info AsyncScenarioSaver.cpp:162: Saving process PID: 189422
18713.557 [189422] Info BlueprintShelf.cpp:713: Saving blueprint storage.
18713.798 Info ChildProcessAgent.cpp:61: Child 189422 exited with return value 0
18713.798 Info AppManager.cpp:291: Saving finished
19014.573 Info AppManager.cpp:290: Saving to _autosave2 (non-blocking).
19014.755 Info AsyncScenarioSaver.cpp:162: Saving process PID: 189538
19015.946 [189538] Info BlueprintShelf.cpp:713: Saving blueprint storage.
19016.159 Info ChildProcessAgent.cpp:61: Child 189538 exited with return value 0
19016.159 Info AppManager.cpp:291: Saving finished
I see it apparently saves blueprint storage at each autosave, but not achievement data. (Then again, even in a normal quit, while achievement data does get saved, I don't see any reference to that in the logs, unless one of the following lines, from a fresh quit, implies it.)

Code: Select all

3668.004 Info AppManagerStates.cpp:1966: Saving game as [***save-name ellided for forum post***] (non-blocking)
3668.168 Info AsyncScenarioSaver.cpp:162: Saving process PID: 11984
3669.581 Info ChildProcessAgent.cpp:61: Child 11984 exited with return value 0
3669.581 Info AppManagerStates.cpp:1969: Saving finished
3672.464 Quitting: user-quit.
3672.691 Goodbye
So, any chance y'all could save out the achievements data on autosave? And/or on acquisition of an achievement? Because it's frustrating to have to re-do things just because your machine sometimes crashes. (Especially when you're trying to account for that by saving somewhat often, usually. But I started taking to quitting the game after I got each achievement -- Alas, I hadn't thought to do that to save my ongoing progress on Mass Production 3.)

Anyway, I encountered this with versions up to and including:

Code: Select all

Version: 2.0.13 (build 79912, linux64, full)
Version: 64
Map input version: 1.0.0-0
Map output version: 2.0.13-1
I'm hoping it's a relatively easy fix. Just calling a function from one or two more places, or something like that. Either way, thanks again for all you do!


Additional examples (probably extraneous)
Incidentally, another example or two of when this can be a hassle is with something like the logistics embargo or similar, where you see yourself get the achievement, so you start making requester chests and things (or laser turrets, solar fields, etc.), because you can now (or so you think), and then later... oops, you didn't make a save right before doing these things (where was one, but maybe it was quite a while before), and now you've gotta redo a lot because even though you got the achievement during gameplay, that fact isn't saved, and now it's disabled in your current save. Yeah, that was a thing. (OK, I didn't have to go too far back, but I did have to re-play some stuff.) So, yeah, there are a number of achievements where this hurts.
dalindes
Burner Inserter
Burner Inserter
Posts: 18
Joined: Sun Jan 23, 2022 8:02 pm
Contact:

Re: achievement progress lost on system crash

Post by dalindes »

oops, I seem to have posted this on "Not a bug"? Not what I intended... can it be moved? Should I re-post? Is it fine? Other?
Loewchen
Global Moderator
Global Moderator
Posts: 9737
Joined: Wed Jan 07, 2015 5:53 pm
Contact:

Re: achievement progress lost on system crash

Post by Loewchen »

Resilience against system failure is a feature request. NaB.
dalindes
Burner Inserter
Burner Inserter
Posts: 18
Joined: Sun Jan 23, 2022 8:02 pm
Contact:

Re: achievement progress lost on system crash

Post by dalindes »

Loewchen wrote: Sun Nov 03, 2024 3:41 am Resilience again system failure is a feature request. NaB
Haha, ok. Arguable, but fair enough. :)
dalindes
Burner Inserter
Burner Inserter
Posts: 18
Joined: Sun Jan 23, 2022 8:02 pm
Contact:

Re: achievement progress lost on system crash

Post by dalindes »

I was just thinking about this, and I think I will actually make the argument for why this should be considered a bug, or at the very least a moderately serious user experience issue. Here's why:

As a user, when I "save" my progress (especially explicitly, but even with autosave) in something (in any software, not just Factorio), I expect that if the system then crashes, I'll still be able to pick up from at least wherever I saved last (notwithstanding disk drive crashes, but then one has bigger problems).

With Factorio, that expectation is not currently met. I can play, save regularly, leave the game running for days doing this, fully expecting that a system crash at any given point will only roll me back to my last save, but no, a system crash at some point rolls me back to worse than wherever I was when I first launched the game -- because some of my data has been saved, but some has not -- meaning that there's both a data loss and a data integrity failure. That sounds like a bug, to me.

If others have a different way of thinking about this stuff, that's up to them. But I will say that in my eyes, this is a bug, and while I don't need it to be considered the highest priority of things (I'm sure there are more pressing bugs), if it ends up being blown off as a non-issue (which may or may not be what's going on here, that's just how "... is a feature request. NaB" reads to me -- please let me know if I'm wrong to read it that way), then I'd find that... disappointing.
dalindes
Burner Inserter
Burner Inserter
Posts: 18
Joined: Sun Jan 23, 2022 8:02 pm
Contact:

Re: achievement progress lost on system crash

Post by dalindes »

Had another system crash (not your problem) after an hour or two spent on Gleba. I guess I have to leave and come back to (again) get that achievement now? (In point of fact, I have a save from before then, so I was able to get it again. It just strikes me as strange that I can be on the planet, without having gotten the achievement for traveling to the planet, and... thought I'd add the evidence of that here.)
Screenshot from 2024-11-13 19-27-05.png
Screenshot from 2024-11-13 19-27-05.png (885.08 KiB) Viewed 335 times
:?

Should I expect this to be utterly ignored for being "not a bug", or will y'all still be considering this thread?
Locked

Return to “Not a bug”