Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
Unfortunate that folks are still running into issues, even after reverting to an earlier version of Ren'py. I'm going to mark this post as the answer for now, and try and see if I can come up with a better fix after Episode 4's release.
I did some more testing, and have narrowed things down further. I posted some technical details here[github.com], but the key takeaways are:
Thank you so much for your sleuthing! Hopefully this means they'll be able to get a fix out soon for ren'py.
I remain bewildered by why this issue appears to be a problem for some deck users and not other. I've played through the whole thing on my own in one a sitting without an issues, which is very odd!
To apply the fix, you need to do two things:
In my testing, the game would always freeze in the middle of calling a SteamWorks SDK function to check whether the Steam Overlay is active and should be rendered. Ren'Py runs this check every time it processes an event. When there are a lot of events to process, the check gets called a lot - sometimes over 8,000 times per second.
The problem is that the overlay check was not meant to be called so often. Valve's documentation for the function says "roughly 33hz is desirable." I added some logging on the event rate and sure enough, every time the game froze it was when the game was processing several hundreds or thousands of events per second.
While the permanent fix will involve patching Ren'Py itself, it will take some time for the patch to be released and incorporated into Scarlet Hollow. I wanted to provide something quick that players could use today. My script patches Ren'Py so that it calls the overlay check function a maximum of 33 times per second, regardless of the number of events processed.
I also noticed that how you control the game has a large effect on the number of events it has to process. Using the D-Pad to navigate produces a tiny number of input events, while using the analog sticks or the touch pads produce a ton. I believe this is the main reason that some people experienced freezing while others didn't. It took about 50 minutes for me to get the game to freeze using the D-pad alone, but I could reliably get a freeze in under a couple minutes by messing with the touch pads a lot.
I'm sure it's coming, but since this requires a patch to the engine itself, I'm reliant on Ren'py itself fixing a push live. I'll message the guy who runs it on Monday to see if he has a timeline!
Happy to report that I completed the entirety of Chapter 4 on my steam deck!
(Side note: It was a little clunkier than I remember, but maybe it was always kind of wonky using Ren'py with sticks/dpad?)
re: clunkiness, I'd definitely recommend the dpad over the sticks — there's an annoying ui issue I'm trying to solve that boils down to this:
• We put our dialogue choices in a vbox so we can fit them in the dialogue box with a scrollbar.
• Ren'py's auto-focus seems broken specifically with vboxes so if you load a save with a controller that has an open dialogue menu, it cannot autofocus on an option in the vbox.
• We made *one* button on the quick menu focus-able to get around this, so you have *something* to autofocus on when you load (and therefore are able to focus on a dialogue option by flicking over)
• Aesthetically, the quick menu looks best on the side, so side presses on the d-pad or side-flicks on the analogue stick are how you get to that button, which is extra wonky on analog sticks.
Will probably try and move the quick menu to the bottom of the screen in the next update to get around it and see how that looks!