Well, I love your "compiling shaders" screen :D Do you just swap materials and stuff like lights for some objects that are not really visible on screen but are visible inside the camera cone, or how did you achieve the progress bar otherwise, if I might ask? The compilation was btw stuck for me somewhere between 60 and 90 percent for a good minute, not sure if it's just that there are some heavier shaders compiled then or something else (it's not much of an issue, especially with this progress bar <3), the game still stuttered a bit when particle effects were generated, but that's a known thing for web exports afaik and not your fault in any way, so it does not affect my rating at all. And oh... Most importantly, sailing was SO MUCH MORE SMOOTH AND ENJOYABLE than in my game that was focused on sailing, when in your game it was just one of the mechanics... For now (I played between 10 and 20 games though) this one is my favorite so far, nice retro-style 3d platformer with nicely defined simple task, great ui, incredible accessibility and fun controls and mechanics.
Viewing post in Ribbit Islands jam comments
Thank you so much! I'm really glad you enjoyed it! Especially the sailing, since it was one of the mechanics I wasn't sure would work that well haha.
About the shader compilation, I have a list of all the objects, materials, and effects used in the game. During the loading screen, I instantiate them in front of a camera on a separate rendering layer, so they're invisible to the player but still get rendered and cached by the GPU.
The progress bar is basically tied to how many resources have been processed, so it's not an actual shader compilation percentage. That's probably why it sometimes gets stuck around 60–90%, since some resources take much longer than others.
I also recently found a bug in my loading system! I was unnecessarily waiting one frame between each material, so it was only processing one material per frame. I changed it to process 8 materials per frame, and now loading is MUCH faster!
GPU particles are still a problem, though. I haven't figured out how to properly prewarm them in web builds yet, so they can still cause some stuttering when they first appear.
And seriously, thank you for such kind words! I really loved your boat too! Let me share a little tip: games don't always need to feel realistic, they need to feel comfortable to play! :3