It’s been a while since I did any updates regarding my phonics shmup; the stress of leaving a job and moving intercontinentally took its tool. When I stopped working on the game in April, I had broken it in magnificent ways. Now the broken is gone and I’ve added some colorblind friendliness features and built all of my phonemes in the way that Unity really wants: using GameObjects.
OMG Everything Is Broken
Before I moved, I was trying to put the phoneme, letter, and level preset data into XML. That didn’t work out and I ended up with a lot of broken things. I was in the middle of trying to get that fixed when I stopped working on it, and several months of not touching it didn’t help.
I undid all the XML stuff, but instead of going back to global variables in the C# code, I started making the phonemes and letters as Unity GameObjects. This is working quite nicely now. There are still some global presets, but that’s for things like volume, colorblind options, and the settings for the level. Unlike before, however, they are not in a script with no connections to anything. They are now part of a Unity singleton script which is also attached to a GameObject.
The hardest thing was getting the shields to work again. They stopped going down. That was fixed along with the refactor that made the phonemes and letters into GameObjects.
Colorblind Friendliness
Once satisfied that everything was working correctly again, I set about adding more functionality to the game. I needed to record audio so I could build the phoneme objects so I could build the letter objects, but yesterday was not a good day for recording audio. So instead, I added colorblind friendliness functionality.
The indicators for which disruptor phonemes are active/available now have patterns. They also take their colors from a global colorblind options setting, as do the broadcast rings coming off the player ship/disruptor. I had put in placeholder colorblind friendliness code on the disruptor a long time ago, but I moved it to the global singleton and had everything draw from that.
Right now, there are three color palettes: the default one, a second for Deuteranopia/Protanopia, and a third for Tritanopia. I still need to add the ability to swap palettes into the menu, because right now it can only be swapped in the code. I also want to add a customizable palette option, but that’s a thing for later.
Building Phoneme Objects
Today, I recorded a bunch of phoneme sounds and turned them all into phoneme objects with IPA symbols which show up on the disruptor phoneme indicators. The next steps are to make the disruptor emanate IPA symbols and to build the rest of the GameObjects for letters. Right now I only have the three made that I used to test.
The sounds are a bit quieter than I would like. I don’t have nearly as good a recording setup here as I did before; there’s a lot of unavoidable background noise. But the sounds will work for now. Even too quiet, they are better quality than the quickie ones I was testing with before. I’m just concerned that the adjusted volume levels on everything make for a game which is too quiet overall.