Maestro KaBoom: A Post KaBoom
I designed Maestro KaBoom for the main project in Game Design 2. Given the theme of "Chain Reaction," I thought back to a game I played on the PlayStation EyeToy many years ago. Initially a clone of the PS2 game, Maestro KaBoom evolved into this spectacularly fun game of explosions and fireworks.
What went right?
Each firework type has a unique rocket, tail effects, blast zone texture, and particles. When designing the fireworks, I wanted to ensure that players could quickly identify. Since part of the game is choosing which firework to begin the chain with, I needed to communicate to the player the potential outcomes of their decision.
I also consider the game's accessibility a success. The game calls for one input, and playtesters reported that the tutorials made the mechanics crystal clear. My playtetsers, ranging from 14 to 65, all enjoyed the explosive visual and audio effects. The earliest version was a tad too difficult for some players, and the strategy aspect left much to be desired. After I changed how the chain reactions work, removed gravity, and added new fireworks, players had much more fun learning the game and blowing things up.
Finally, I am especially proud to report that I made this game with minimal help from tutorials. I was able to write the majority of the code from memory, a testament to how much I have learned C#. I also learned a few new tricks with tail effects and particle effects, but that all came from experimenting in the editor. That said, I still have a whole lot more to learn.
What went wrong?
Though I leveled-up in using particle effects, I am not sure how much more I learned on the coding side. We had just studied class inheritance and overrides in the previous class, but I failed to apply much of what I learned from the lessons. I tried to, I certainly did. But when I ran into problems working out a function or mechanic, I resorted to using a known, but less efficient method. Each level, for example, is one long coroutine that launches rockets at pre-determined intervals. The code is certainly not SOLID. This is an area where I need to improve.
I am also displeased with how I tested the game. I took each week to develop the project milestone, then had my family playtest it on the weekend. Friends and family are not necessarily ideal testers because of their implicit bias towards me, but they are better than no one. I did find some strangers though, and they happened to fall within my target demograph: teenagers. I weigh their data on "fun" more heavily than I do for the same data from my brother or sister.
Though my playtesters had no complaints about the audio, I think it needs some more firework-esque explosions. The audio files are free asset store clips for gun shots, grenades, and firespells. I added a short delay between the firework explosion and the audio feedback to create the illusion of standing a mile or two from the show, but the fireworks still sound more like weapons.