CreatorsOk
roadtovostok
roadtovostok

patreon


Dev Update (25/10/2023) + Stutter Fix

Hi!

I'm currently taking some last photo textures before the snow here IRL border zone where the game takes place.

This border zone thing is 1-3 day trip (depending on the weather) and there's going to pretty unique locations which I will be showing in upcoming devlog and also sharing some behind the scenes stuff here in Patreon this week.

I also spent last night debugging the stutters that are related to these new test builds and after some testing I have found the reason for this.

Basically the stutters are related to shader caching (like expected) and those are especially linked to rendering and how Godot / OpenGL handles shader compiling when new materials are introduced during rendering.

When you download a new test build and you draw a weapon, fire a weapon or change the time of day or anything like that, those will instantiate new materials with shaders and if there aren't existing caches of those shaders there is a visual stutter / lag spike.

Once those shaders are cached (during the instantiation) those are stored in your computers AppData folder (Local / Roaming) and the game doesn't stutter anymore.

When I found this reason, I simply "double checked" this by deleting the existing cache files manually and each time when I did that the stutters came back and disappeared once again when the cache files were created.

Luckily there is multiple solutions to this and the problem is kind of universal thing among all game engines (and one reason why games have loading screens), so I have experience of dealing with these caching / shader compiling issues.

I'm going to start implementing the stutter fix tomorrow by designing a manual cache process which handles the caching when you start the .exe and then there shouldn't be any stutters during the gameplay since all the shaders are "pre-cached" and compiled.

I will add this fix to upcoming test build and then we can test how this fix behaves.

Extra mention: From my understanding Godot has a shader preloading thing planned for their roadmap but it's not yet implemented, so until that I will be using my custom solution for this topic.

- Antti (Developer)

Comments

Thanks for the build. Everything works again with my arch system with latest experimental proton build. Ok so the rendering is done with OpenGL (ya checked 02 build winedebug log has actually opengl32.dll call and non d3d11.dll) Wasn't paying any attention to that tbh and was expecting directX. Thou if OpenGL is the case. Ofc that ease the pain if cross platfrom support is planned. It's also good to know for me or anyone who is trying to run under proton/wine/linux.

Skimba

Thanks!

Tom Lister

If you're talking about switching fire modes between full-auto and semi-auto, you can do that with F! It's the one key bind not listed/configurable in the pause menu lol.

Fonzi

I'm hoping you'll include select fire in your next build, it's so fun and satisfying to shoot in the godot version :)

Tom Lister


More Models and Creators