Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

Of course not! No problem!

(+1)

The issue related with the frames skips is this: https://github.com/godotengine/godot/issues/17263

It´s not fixable at the moment, i try a bunch of workarounds in your code and none of them seems to work... (included one that suggest reduz in the topic)... I think that is not simple question that can be accomplished hacking 2 or 3 lines in the codebase of godot, so i hope that any main dev take care of this.

If i execute your game in gles2 there is no stutter (but there is no particles, only black eyes and white balls....) so is the particles material compiling in graphic card...

Uau! Didn't realize it would be that bad. Thanks for the effort though.

(2 edits) (+1)

Hi... more news... I test and test and test your project. Godot make a big spike (about 30-50 frames) every time that you add a viewport to the scene (i think that viewports aren´t dessigned to this use). If you redesign explosion.tscn,ice_explosion.tscn, ice_enemy.tscn and fire_enemy.tscn to not have any viewport, there is no stutter. So ,in this case,  is not particles problem (until particles are in the viewport). 

Other question: I recommend you for a tiny game like this to do all preloads in your singleton and save all resources to .tres files and preload that too in the singleton, game takes more time to start ( less that a second) but you don´t read from disk in runtime (You can do the same with the levels).


Edit: I´m reporting the issue in github, so, please, wait any response from any dev before change the codebase of your game...


https://github.com/godotengine/godot/issues/19769

Again!!! Thank you so much for all your efforts. The viewports are poorly designed. They are definitely too large for what is required and I might take the time soon to size them properly. However, they are required for the effect of the flames so I can't just get rid of them easily. As for preloading as much as possible, absolutely! I just have no idea how to do that :)