What is Squillamorph?
Please consider getting Squillamorph on Steam and leaving a review. It is in Early Access and still very early in development but the more feedback I get now, the more enjoyable the final game will be!
Join the official Squillamorph Discord: Squillamorph Discord Server
Below is the development log for Squillamorph. It is GIF heavy and it might take a while to load them all.
Hello everyone! I hope you all enjoyed the festive season and are having a good start to the year. I updated the game a little over a week ago, to remove the festive hats and make a dramatic performance improvement!
Today's post will cover this improvement.
Over the holidays, I discovered the main source of the game's performance issues. I had a hunch as to what it could be after I posted the last update, which did not improve performance much despite my best efforts. Turns out, I had been improving performance for the CPU and hadn't considered performance on the GPU; Unity does not display GPU information by default in its Profiler. After a quick test on my old laptop, running the game at different resolutions, I realised that the main performance issues were down to the graphics.
I suspected that it might be the second camera I use to create the metaballs effect for the player character, which takes up a small chunk of performance on the CPU. The effect uses a secondary camera to render a particle system to a Unity render texture. The camera has a blur effect on it which blends the particles together. A shader on the output texture then 'clips' the texture opacity and changes the colour so the final effect appears solid.
I believed that either the camera or the render texture was causing the issues. However, it was in fact the blur effect on the camera that was to blame. To achieve the level of blur I needed, I was using Unity's depth of field post process effect. To be honest, I should have realised that this was causing the issues as I had problems with the same effect in an old university project. Now I felt worried because the only way to fix this is to remove the blur effect, which means I have to use art assets that are already blurred if I want to keep the metaballs effect.
Determined to improve the performance, I set about taking all of the sprites I use for the metaballs effect and began blurring them in Photoshop. It took a lot of tweaking and time to get it to a similar state as the depth of field blur. I also had to find a way to deal with the particles changing size, which now changes the size of the blur effect. This has a dramatic effect on the final metaballs appearance so I spent the most time getting this right. It was definitely worth the effort though. See if you can spot the differences in the GIF. The performance boost it gives is dramatic and I now need to test the game on a system older than my laptop!
That's it for this post. I hope that wasn't too confusing, and that you are excited about the progress I'm making! I'm going to be working on more content for the game now that I've made such a jump on the optimisation side of things.
If you like the look of the game, please consider getting it on Steam. It is still quite early in development but the more feedback I get now, the better the final game will be!
I hope you enjoyed today's post! Thanks for reading!
Join the official Squillamorph Discord server here:
- Discord Server
Follow Squillamorph on:
Tell your friends to check out the game too!
I'm the game developer for Squillamorph! I'll post here on the devlog as often as I can.