I Am Overburdened

I Am Overburdened

View Stats:
Jimbly Apr 28, 2018 @ 1:37pm
Van Helsing Achievment Unlock Bug
I've noticed for a while (not sure when it started) that in Steam, my achievement progress for Van Helsing has been one less than what it shows in-game in the Book of Monsters. Today I finally unlocked the last two in the Book of Monsters, but, sadly, the achievement is stuck at 17 / 18.

Warning: spoilers in screenshots.

https://steamcommunity.com/sharedfiles/filedetails/?id=1372678929
https://steamcommunity.com/sharedfiles/filedetails/?id=1372679018

Perhaps you're using the "incrementing" the Steam stat by doing a SetStat(GetStat()+1) should just SetStat it to the expected value, so that even if an increment was lost somewhere (maybe I was playing when my network connecting was crappy or Steam crashed...). As long as you've got the stat set to "increment only" in the Steamworks settings, it won't ever allow your code to accidentally decrease the progress/re-lock the achievement.
Last edited by Jimbly; Apr 28, 2018 @ 1:38pm
Originally posted by Spidi:
Hi Jimbly!

It took some time, but I finally squashed this pesky bug.
The problem was indeed related to the unlock file handling (monster & artifact unlock xml) and a well hidden timing issue :( . When I checked the first time shortly after you posted this issue the achievements were set "incrementing" so I knew immediately something more complicated (sadly) is causing the problem.

More precisely, upon death of the player the ordering of saving the unlocked monsters/artifacts and the unlocking of related achievements and their storing logic (e.g.: SetStat steam api call) could get messed up in rarely badly timed situations (e.g.: multiple monster kills occurring right around of after the player death). This could lead to unlocking a monster but failing to call SetStat again, but its chances were slim, that is why I'm guessing I never saw it before. Could successfully repro it after some tries when I saw the timer/sync issue in the code.

The 1.1.8. update contains the fix.

Thanks again for your report, your tips and tests with the unlock files and thank you very much for your patience and understanding.
If it is okay with I'm going to lock this topic.
< >
Showing 1-5 of 5 comments
Spidi  [developer] Apr 29, 2018 @ 5:24am 
Hi Jimbly!

First and foremost please accept my apology for the slow response. I am on a short vacation currently and did not check the forums for a while now :(

Second, I am really sorry about the issue you run into. Thank you very much for the detailed description and for the screenshots. It makes finding the concrete issue way easier :) !

Indeed you are onto something. I am not using the getstat call for incrementing, but the monster unlocks are persisted in a separate cloud saved file so I guess a similar mistake is made there...

I will do my best to diagnose and fix this issue during next week as soon as possible and I will also add a sync logic so your unlocks and achievements will be cross-checked on game start so that it unlocks Van Helsing when necessary.

Sorry again for this mistake and thank you very much for your patience and understanding!
Jimbly Apr 29, 2018 @ 6:48am 
Thanks for your response,

Originally posted by Spidi:
First and foremost please accept my apology for the slow response.

Under no definition is 15 hours, on a weekend, a "slow response" from a developer!

From your description, I checked MonsterUnlocks.xml, nothing looked out of the ordinary (had all 18 unlocked), so I re-locked and decreemented rat, killed one, and then the Steam achievement fired, so at least I can mark this game off as 100% now ;).
The author of this thread has indicated that this post answers the original topic.
Spidi  [developer] Jun 7, 2018 @ 2:16pm 
Hi Jimbly!

It took some time, but I finally squashed this pesky bug.
The problem was indeed related to the unlock file handling (monster & artifact unlock xml) and a well hidden timing issue :( . When I checked the first time shortly after you posted this issue the achievements were set "incrementing" so I knew immediately something more complicated (sadly) is causing the problem.

More precisely, upon death of the player the ordering of saving the unlocked monsters/artifacts and the unlocking of related achievements and their storing logic (e.g.: SetStat steam api call) could get messed up in rarely badly timed situations (e.g.: multiple monster kills occurring right around of after the player death). This could lead to unlocking a monster but failing to call SetStat again, but its chances were slim, that is why I'm guessing I never saw it before. Could successfully repro it after some tries when I saw the timer/sync issue in the code.

The 1.1.8. update contains the fix.

Thanks again for your report, your tips and tests with the unlock files and thank you very much for your patience and understanding.
If it is okay with I'm going to lock this topic.
Jimbly Jun 7, 2018 @ 2:20pm 
Great, thanks for fixing it!
Spidi  [developer] Jun 7, 2018 @ 2:29pm 
Np.
I'm the one thankful for your patience. It was a complicated beast to tackle and did not look like it originally :steamfacepalm:...
< >
Showing 1-5 of 5 comments
Per page: 15 30 50