Weekly Devlog - #2


Audio Compression

As any of you who played CozyTyper in version 0.8.2 and 0.8.3 may have noticed, launching the game was not very smooth and took quite a while. We weren't happy with this, as we really want our games to be smooth, enjoyable experiences that don't stall every time you launch them!

We spent a few days researching and after wrestling with Unity's profiler and some serious googling, we realised that the way were were loading our audio was completely wrong! All audio files were loading all at once when the game was launched, eating memory like a ravenous fiend.

Thanks to Made Indrayana's guide on Audio Compression in Unity, we were able to better understand and implement the correct load methods and compression formats for our audio to significantly reduce load time and increase performance! We're excited to get a new build out so you can see this for yourselves!

daphii spent some time creating the following flow chart so that in the future, by following this, we should never encounter an issue of long load times due to audio files! (Thanks daphii ♥).

Refactoring

Because this game started as a few scripts experimenting with what it takes to make a typing games core function, it was not built to be flexible, nor was it particularly readable. Before we could attempt to expand the code into a full-fledged game, it had to be rewritten from the ground up. After a lot of manual garbage collection, the scripts were rewritten with our new focus in mind. As an example, the new typing parser is able to change the rules for backspacing, wrong letter display, punctuation, and is currently in the works to be able to handle multi-line richtext parsing so code snippets are on the horizon for CozyTyper (as an optional feature of course)!

In building a testing UI for testing our development builds, we ran into a common issue neither of us had previously encountered. We had a simple loop, and even though we had verified through debugging that the iterator was the within the size of the array, we were still getting out of range exceptions. This led us to reading about captured variables with lambda expressions, and the solution was as easy as assigning the iterator to a local int, then running the lambda with that as an argument in place of the iterator.

As another part of the refactoring process, we also made the decision to transition the game into a 16:9 playspace, mostly thanks to the feedback we received during testing! This also allowed us to increase the size of the monitor without losing the old CRT style square shape that we really love.

Here's a sneak peek at what the game looks like in 16:9


Project Management

We have been using a new project management software for the second half of our project. After trying a few, we found codecks. So far, this has been working well for us. We're enjoying the workflow of adding cards to our hands, as well as the clear visual indications of workload and progress! If you're looking for a simple and clear project management software, give it a try!

Get CozyTyper Demo

Leave a comment

Log in with itch.io to leave a comment.