This was a week of small victories – improvements, tweaks and changes from playtesting sessions that have cumulatively amounted to a much better gameplay experience. We managed to find the time towards the end of the week to sit down and actually play through the massive changes that have been recently introduced (something we don’t do enough of), gently moulding these systems to play more nicely together.
One particular small victory was the eradication of a bug that has stuck with us since we first changed to a grid-based system. A strange spike in draw calls occurred when a Destroy fragment was collected, but wasn’t due to any of the fragments visuals or particle systems. Like, 100-150 draw calls of spike, and when the entire game renders in about 40 (which is already too high), this causes the game to lag a bit during the second it occurs. We thought this paired nicely with the Destroy effect anyway which is why it’s persisted for so long, but after more testing on mobile devices, it completely wrote off underpowered devices and caused them to heat up significantly. As it happens, it was our camera shake function causing the issue, and even more specifically camera rotation. Rotating the camera frustrum somehow broke batching (most likely due to everything being at slightly different z-depths) forcing every sprite to be rendered on its own draw call which is unforgivably inefficient.
We changed GLTCH’s multiplier system which has been on our to-do list for a long time. It now much more closely mirrors one of our fond flash games of old: Boxhead2D, requiring multiple fragments to increase but also persisting for longer. This rewards player skill more than the previous one which could just as easily be brought up by a lucky string of close fragment spawns as by navigational skill. The new system means that the player has to be consistently quick at collecting strings of 10 or more fragments to really pull their multiplier into the higher range.
Another essential part of the behind-the-scenes magic was converting all of our maths magic to curves instead of linearly interpolated values. This means that we have much more control over all of the values that govern the game’s difficulty, and fine-tune them to how gameplay evolves over time. After our brand new DifficultyManager was implemented, it took all of 2 hours of playtesting and tweaking curves to make the game infinitely better, a process we hope to refine more and more as we glean more feedback from our alpha build.
Speaking of our alpha build, we published our ‘first look’ narrated by yours truly which you can view here. This video content has been promised for a while now, and we hope that this marks the beginning of many more demo videos to come as the visuals and aesthetic start to get locked into place.