Shadows: Awakening

Shadows: Awakening

View Stats:
Ekzarkh Jun 11, 2020 @ 11:39am
Got Gud achievement.
Is it fixed or unobtainable?
< >
Showing 1-15 of 23 comments
PPushoK Jun 14, 2020 @ 12:20am 
What are U asking about?
Ekzarkh Jun 14, 2020 @ 9:23am 
I'm completed game on Extreme without any puppet death, except one in trial of Anger. But not get this achievment. So i'm asking is it working or i'm plain stupid to understand how to obtain it.
Stu -1 Jun 15, 2020 @ 2:12pm 
after the puppet died in trial of anger did you revive them? this was something that worried me about attempting this achievement. however, i think its possibly tied to reviving them rather than them dying. can you confirm whether or not you revived the puppet after the trial of anger. and im so sorry if it messed up your whole run through. if i do an extreme runthrough with no deaths i can the send you the save to use if that turns out to be the problem
Valik Jun 16, 2020 @ 4:21am 
My investigation which you can read about here indicates the achievement is bugged for all players on the current version of the game.

The short of it is the flag that is used to check if you changed difficulties during the game is set wrong at game start. The death during the Trial does not increment the death counter and is not the problem (I have confirmed this by monitoring the death count during that event). I did not dig deep enough to determine why the flag is set wrong at game start. I had hoped that the information I provided would give the developers a push in the right direction for fixing this for everyone. However, it's been around 7 months now with no word so it seems unlikely.

Somebody who knows C# can likely find and fix the root cause of the issue. Since the developers don't seem interested in fixing this for the masses I intend to simply modify the game so that it will skip the difficulty changed check. I will not be providing a patch/binary for that, though. I can explain what to change but it will require you to have the knowledge of decompiling a C# application as well as how to recompile it. If you can manage those tasks then find the ProcessEndGame() method in ShadowNetwork.cs. Replace this block:
if (GetEventValue(EventType.LOSER) <= 0 && GameStats.difficulty >= GameSettings.GameDifficulty.Hard && GameStats.stayedHardOrExtreme) { SendEvent(EventType.GOT_GOOD, EventValueOp.Add); }
with this block:
if (GetEventValue(EventType.LOSER) <= 0 && GameStats.difficulty >= GameSettings.GameDifficulty.Hard) { SendEvent(EventType.GOT_GOOD, EventValueOp.Add); }
If you can manage editing the source and recompiling the game and work out how to get the modified version of the game running, then you'll need to beat the final boss again to trigger the achievement.

If what I just said makes no sense then you'll have to hope the developers provide a proper fix or somebody else provides a fix/work-around.
Ekzarkh Jun 16, 2020 @ 4:42am 
No, i'm not revived puppet after trial of anger. and you shouldnt be sorry if you're not a dev. Guess thats all I need to know.
Valik Jul 14, 2020 @ 2:52am 
I believe that I have discovered the source of the problem. When creating a new game, the engine calls GuiMainMenu.SetDifficulty() which correctly sets the value of GameStats.stayedHardOrExtreme depending on the selected difficulty. The game then displays a loading screen. During the loading process the engine calls Game.Awake(). As part of the initialization for the game, the Awake() method calls GameStats.Reset(). The Reset() method blindly sets stayedHardOrExtreme to false instead of conditionally setting it to false depending on the game difficulty. This behavior is what makes the achievement unobtainable. The flag is reset before the player ever gains control.

I believe the fix is a single line of code. In GameStats.Reset(), the line that reads:
m_stayedHardOrExtreme = false;
should be changed to:
m_stayedHardOrExtreme = (m_difficulty >= GameSettings.GameDifficulty.Hard);

This should work because in the case where Reset() is called to initialize a new game then it must preserve the state of m_stayedHardOrExtreme and in the case of loading a save game, GameStats.Deserialize() will overwrite m_stayedHardOrExtreme with the stored value anyway.

I hope the developers see this post and patch the game with a fix. I've done pretty much all of the work by figuring out what the root cause of the problem is. It appears this bug affects the PC, Xbox One and PlayStation 4 versions of the game so fixing it affects a lot of people. It would be nice if a fix was also put in so people don't have to play the game from the beginning. That should be possible because the death count, difficulty and whether or not the difficulty was changed are all stored correctly. I am aware of the edge case where a player might have started on extreme and dropped down to hard (or vice versa) and thus wouldn't get the achievement but I suspect that's an edge case. The change to facilitate that would be in ShadowNetwork.ProcessEndGame(), the lines:
if (GetEventValue(EventType.LOSER) <= 0 && GameStats.difficulty >= GameSettings.GameDifficulty.Hard && GameStats.stayedHardOrExtreme) { SendEvent(EventType.GOT_GOOD, EventValueOp.Add); }
becomes:
if (GetEventValue(EventType.LOSER) <= 0 && GameStats.difficulty >= GameSettings.GameDifficulty.Hard && (GameStats.stayedHardOrExtreme || !GameStats.difficultyChanged)) { SendEvent(EventType.GOT_GOOD, EventValueOp.Add); }
Changing the two lines of code I've described would allow future players to unlock the achievement without issue and for most previous players who met the criteria to unlock it by beating the final boss again.
Last edited by Valik; Jul 14, 2020 @ 3:01am
PPushoK Aug 8, 2020 @ 1:46pm 
Valik, Hi. Can I fix this bug by myself? What should i do?
Gorwe Jan 18, 2021 @ 1:34pm 
But the game simply isn't as fun on Hard+ as it is on Normal. Besides, they mention it's designed to be played on Normal, so...

Imo, only Easy should be disqualified from proccing this.
Ron Apr 29, 2021 @ 10:40am 
Originally posted by Valik:
.....

Hey Valik, i just wanted to say that @ Games Farm they should hire you who seems the only one who might solve this issue...shame on devs if they still did not fix this :steamsad::steamfacepalm:
Jon.Topps Apr 29, 2021 @ 3:44pm 
Originally posted by Valik:
*snip*
Changing the two lines of code I've described would allow future players to unlock the achievement without issue and for most previous players who met the criteria to unlock it by beating the final boss again.
Did this ever get fixed? Or is the game unable to be 100% at this time still?
Dragon May 2, 2021 @ 11:28am 
Originally posted by Valik:
Somebody who knows C# can likely find and fix the root cause of the issue.

And that would probably account for, at most, about .000000000001% of anyone who might ever read that post.

We are not Ph.D's in computer science. The average layman in that area will have zero clue how to do that, and never be able actually to do it.

Originally posted by Valik:
I will not be providing a patch/binary for that,

It sure would be nice if you did, since otherwise, if you don't, then you will likely be the only person on earth for whom this problem is ever fixed.
Last edited by Dragon; May 2, 2021 @ 11:32am
Jon.Topps May 6, 2021 @ 9:46pm 
Just for anyone interested, I submitted a ticket and they got back to me.

Thank you for your report.
This is a known issue and the developers are already working on a solution.
Please try the following workaround to unlock the achievement:
- with the requirements of the achievement, play the game until the end
- make a backup of your savegames and then uninstall the game
- install the game and restart it completely without any patches installed
- load the game. You should now receive the achievement.
Ron May 7, 2021 @ 8:30am 
Originally posted by Jon.Topps:
- install the game and restart it completely without any patches installed

How is possible to install a game without the patches installed in Steam ? I tought that in Steam any game is always patched to the last patch possible available and that is the only version of the game one can install, maybe i miss some knowledge on how is possible to install a game without patches? Thanks.
Shini May 10, 2021 @ 12:02am 
Originally posted by Jon.Topps:
- with the requirements of the achievement, play the game until the end
- make a backup of your savegames and then uninstall the game
- install the game and restart it completely without any patches installed
- load the game. You should now receive the achievement.

you can install older versions of the game on steamdb. someone try this method and tell if it works :lunar2019piginablanket:
Extemn Jul 19, 2021 @ 1:21pm 
Originally posted by Shini:
Originally posted by Jon.Topps:
- with the requirements of the achievement, play the game until the end
- make a backup of your savegames and then uninstall the game
- install the game and restart it completely without any patches installed
- load the game. You should now receive the achievement.

you can install older versions of the game on steamdb. someone try this method and tell if it works :lunar2019piginablanket:

Unfortunately you can't as the developers have removed all the older versions. All depots/manifests on steamDB are currently updated to the patch from June 2020, which makes it impossible to download any older patches.

Have done hours of research on this matter and didn't find any possible method to get an older patch unless the developers share one.

EDIT: It did in fact work with Depot Downloader. Check Altomar's comments further down.
Last edited by Extemn; Jan 8, 2022 @ 6:56pm
< >
Showing 1-15 of 23 comments
Per page: 1530 50