Autosave feature hangs the game up for a few seconds
issueid=3816 08-24-2015 06:14 AM
Senior Member
Number of reported issues by Scooter Fox: 14
Autosave feature hangs the game up for a few seconds

...which wouldn't be that bad if it didn't queue the input. When the auto-save feature kicks in, player may not have any indication of it happening - the message about it can be partially cut off or even not appear at all, I also had it appear after saving. Then the game hangs up for a few seconds, on my computer at least, which makes it look as if the game didn't register the key you pressed. So you press it again, and again because nothing is happening and suddenly your PC moves not one but three tiles forward. Good thing there wasn't any karmic dragon two tiles away from me, right? Not this time at least. I haven't died or messed my PC up yet due to this but I can definitely see it happening for someone.

The solution would be to it either make the autosave notification always visible or, even better, to stop queuing the input when autosave kicks in.

Game version: public R60, was present in R59 too
OS: Windows 8.1 64 bit
Display mode: NotEye, standard tile mode, message buffer mode irrevelant (happens for all), full screen.
Issue Details
Issue Number 3816
Project ADOM (Ancient Domains Of Mystery)
Category All
Status Fixed
Priority 1 - Highest
Affected Version ADOM r60
Fixed Version ADOM r65 (v2.1.0)
Milestone Potential work pipeline
Users able to reproduce bug 9
Users unable to reproduce bug 0
Assigned Users (none)
Tags (none)




08-24-2015 07:44 AM
jt jt is offline
Administrator
This is odd, we already disable key input during the autosave (at least in all NotEye versions). I need to reproduce this.

08-24-2015 08:29 AM
Senior Member
Maybe it has something to do with Windows 8.1 turning unused hard disk off. I'll try to disable this feature and see if it helps.

08-24-2015 09:37 AM
Senior Member
Didn't help.

08-25-2015 04:01 PM
Ancient Member
I've seen this myself too, on Mac.
The pause, then the message, then all the keys you hit while the save was churning.

It's more noticeable when you have lots of levels to save.

08-25-2015 04:26 PM
Junior Member
Happens to me too (Debian 7.8). If there is an animation (blood splashing, healing, etc.) that animation (and everything else stops). After few seconds all commands that were queued starts executing. By [:m]essage log I found out there was saving backup there (the message about saving wasn't displayed in the moment of saving at all).

08-25-2015 06:26 PM
Ancient Member
I can confirm this for Win 7 x64.

08-25-2015 06:47 PM
Senior Member
Just like Mobius wore, it's the more visible the bigger the save file is. Early game characters are barely affected, late game ones suffer. I allowed greater moloch free hits on me this way, not very fun.
As for Decker's remark - for me animation will be stopped in the middle, but music will be played without any pause.

08-29-2015 01:10 AM
Junior Member
Can also confirm. Just made an account to file a bug-- just died because left arrow key queued up 20+ times next to an ancient red wyrm while the game was hung up saving or doing an animation I don't remember which. I just remember the horror. :( I couldn't find any way to get my guy back unless I had been save scumming-- which I wasn't.
Playing on Windows 10 x64.

08-31-2015 07:14 PM
Ancient Member
Oh looks like someone have to implement non-blocking I/O.

09-01-2015 06:04 AM
ixi ixi is offline
Junior Member
Quote Originally Posted by sweetnothing
Oh looks like someone have to implement non-blocking I/O.
I'd suggest the following when autosave triggers:
1. Block UI, disable input
2. Store in memory data to separate memory location or file.
3. Unblock UI and input.
4. Save backup in a separate thread while PC is playing. Changes PC is doing during this step won't be saved.
5. Print a message that backup is saved once it is.

Sounds simplier than implementation will look but it definitely is better than current autosave. And should be possible to implement.

12-26-2015 08:56 PM
The Creator
I really like the suggestion of only-autosaving at certain specific points (e.g. when changing the level) if enough turns have passed. In that way no it never should pop up as an issue. I guess that this is the solution I am going to implement.

12-26-2015 11:18 PM
Senior Member
Great idea!

12-27-2015 06:25 AM
Ancient Member
Quote Originally Posted by adom-admin
I really like the suggestion of only-autosaving at certain specific points (e.g. when changing the level) if enough turns have passed. In that way no it never should pop up as an issue. I guess that this is the solution I am going to implement.
When will it autosave when I'm attempting Steel man and Eternium man?

12-27-2015 06:32 AM
Senior Member
How about also saving during the wait ("w.") command? Search command ("ws") is also a possibility.

12-27-2015 10:37 PM
Ancient Member
Quote Originally Posted by Stingray1
When will it autosave when I'm attempting Steel man and Eternium man?
I think it's reasonable to expect that a player advanced enough to attempt those challenges will know how to save manually from time to time. It may be a small nuisance for that minority of players but still probably better than the random lagging, IMO.

12-28-2015 12:34 AM
ixi ixi is offline
Junior Member
Quote Originally Posted by Al-Khwarizmi
I think it's reasonable to expect that a player advanced enough to attempt those challenges will know how to save manually from time to time. It may be a small nuisance for that minority of players but still probably better than the random lagging, IMO.
Nope.

For Steel Man before entering wilderness square or before leaving it.
For Eternium Man as it was already suggested by Sinsl, w5 should be safe enough.


I already nearly lost very perspective Steel Man due to hang... I YASD'ed it anyway later but losing all progress completely due to lack of autosave would be irritating...

01-11-2016 07:07 AM
The Creator
Auto-saving now only happens when changing a level, see http://www.adom.de/forums/project.php?issueid=4113

We should see if it also needs to happen when leveling up. If so please add another RFE.

+ Reply