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
:p
All this timely effort can only help the Devs imo, so good on you for doing it
First things first, a disclaimer.
I CANNOT BE HELD RESPONSIBLE FOR ANY AND ALL DAMAGES USING THIS EXE MIGHT RESULT IN, INCLUDING BUT NOT LIMITED TO COMPUTERS BREAKING, BANK ACCOUNT STOLEN, WIFE DIVORCING OR THE UNIVERSE ENDING.
...that said, I'm pretty sure none of that happens just by using this executable.
Using VPatch (http://www.tibed.net/vpatch/) I created an exe file that can be used to patch the game according to the changes I made to the game's main dll.
https://dl.dropboxusercontent.com/u/2057069/LayersOfFear/VPatch.exe
To use it, navigate to the game's folder. (Steam Library -> Right-click on game -> Properties -> Local files). Then open Layers Of Fear_Data -folder, and go into Managed folder. Copy the VPatch.exe to this folder. From there, Shift-Right-Click anywhere on the window except a file, and select Open command prompt here.. from the context menu.
Now you need to make a copy of the file we are going to patch, as VPatch can't write in-place. You also get a backup of the modified file so that's a good thing.
Then just patch the dll with
And now the game shouldn't experience stutters anymore. I hope I got it, since I don't have anymore ideas on how to fix it!
The patch employs the mouse stutter fix and the proper manual extrapolation fix, but not the workaround fix by increasing the logic/physic FPS. If you are unsure about running arbitrary exes created by random strangers from the internet, ask for the videos/tutorials on how to do this yourself, and I shall record some videos. As my time is limited, I decided to just do the patch and leave it at that... unless people want the videos as well, if for nothing else than to learn how to do this stuff?
Also, if you decide to try this out, please give me some feedback on whether or not this actually works for you. If the stutter you have experienced is indeed the same stutter I identified, it SHOULD fix that. But I can't be sure, as some don't even see the stutter, so this is a highly subjective area (even if I know for a fact that there is a syncing problem.)
Now off you (and I!) go enjoying the great game that we know Layers of Fear is (Kudos BT and Aspyr, the game's awesome!) all stutter-free!
QUICK EDIT: Oh, and this still might break something from the game. It SHOULDN'T, but as I'm going about this from the wrong end (ie. I'm not the developer of the game and I don't have access to the source code), I might have missed something on how the game is designed. As far as I know and have played, it doesn't break anything, though, if that means anything. If you are inclined to try this patch, please give feedback on whether it breaks something or not. OH, and this actually fixes the less sensitive horizontal mouse movement as well. At least on some cases, I think.
What you have done is quite commendable and deserving of kudos of the highest order !
That said, has anyone at Bloober team contacted you in regards to your findings and possible patch?
The only comment I see is from a person who doesn't own the game, and while I really don't have issues with it personally, I do realise that a % of players do, and this "fix" might help them.
Maybe Bloober team should get with you and do a download patch?
Personally I would hesitate to mod any files in this game without the express written consent of Bloober team.
I can't be sure that it doesn't mess up the game in some other way though, it might have some interconnecting issues, as developing a game has a huge amount of interconnected parts, and it would require testing. As far as I know though, it doesn't affect the rest of the game adversely.
I could write up/make a video on what I did to fix the problem, if people are interested. I am willing to work with Blooper Team as well if they want. In the meantime, until they have a patch online, I would be grateful if this was left untouched in case people want to try it out.
Of course they have all the pull here, so I'm not gonna press the issue if they want all this taken away - it's their right to do so. As I said before, in that case, I'd be happy if they just took what I know and used that knowledge for a patch.
But yeah. As a developer myself, I know that these aren't simple black and white things, and there are a lot of stuff to consider and take care of. Layers of Fear gave me a nice little puzzle before I even got properly into the game, and that alone makes it one of the most memorable for me for awhile - not to mention that I like the game as it was intended quite a lot as well (as in I've been pooping my pants for the whole night - gotta watch some stupid cat videos before going to sleep :D)
The fact that we both understand the underlying issue and you have attempted a fix which I think includes a fps locking of 50HZ possibly?
You're in tune with physics engine being out of sync with the GPU adapter thus your. dll offering
Maybe a breif breakdown of what it does will cure enquiring minds?
As for your cat vids, sneezing panda ftw
The reason it's mostly not seen (or really easily dismissable) when capping to 60Hz vsync (or 60 fps) is that the difference is not that much (a bit over 3 ms). As the time difference increases this much every frame, we get a small jumpy effect, unnoticeable or not annoying for some people. Using the workaround method, we could set the logic updates to a multiple of 60 (yes, even the same fps might work for the logic update interval) or even try to limit the graphics fps to 50 (which is a lot harder than changing the logic fps), but as graphics updates are still not guaranteed (at least not as much guaranteed as the fixed updates) to be updated on the same interval, we get random skewing on timedelta between the frames, so that really is just a workaround.
What I did to fix it, is evaluate the position of the player character when doing a graphics update between the last logic update and the next logic update (based on its velocity). So, if we updated the positions of the player character at 100 ms, and we get a graphics update at 105 ms, we calculate 100 - 105 = 5 ms. 50 fps is 20 ms per frame, thus when we divide that 5 ms with 20 ms, we get 0.25. This is the position from 0-1, where 0 is the last logic (or position) update and 1 is the next position update. Now we update the position of the player character using this normalized position delta with a velocity vector for the player character. Thus we get an evaluated (extrapolated) position that smoothly transitions from a graphics update frame to the next.
I had to inject a gameobject between the rigidbody and the camera objects in the hierarchy for this to work, and thus isn't as simple as just the workaround method.
That is bfrilliant work, kudos to you. I'll be showing someone this who understands 100% what you've done
Thanks for the great explanation as it should put some people's minds at rest re the mod you've done
Your patch took me seconds to implement and the game is now perfectly smooth! I've not tested it for a huge amount of time, but I doubt this will cause any issues.
Thank you so much for taking the time to fix this game for us paying customers.
WELL DONE and THANK YOU!
EDIT: I've altered my update options for this game and will now only run in offline mode to ensure an official patch isn't installed.