'Gun Groove Alley' is a tower defense game in which every aspect moves to the beat of the music, you assist a gang of back alley cats in defending their stolen treasure stash from various disgruntled scoundrels!

Gun Groove Alley was made for ScoreSpace Jam #27 over the course of one weekend in September 2023. Since I was in the middle of preparing to head back to University, the game did not get my full attention and sadly by the end of the jam, as good as everything looked, there were some obvious bugs and balance issues. My team and I took a break then had a call a couple weeks later where we decided to come back to the game and give it the post-jam update it deserved. We added a brand new kind of cat, revamped over 50% of the artwork, added new music and sound effects, and we could have easily gone on longer with how many ideas we had. We decided to limit ourselves and set a deadline that would ensure we could post the new version before Christmas. Once I uploaded the new build, I spread news about it to as many peoples as I could as I was extremely proud of our work.

The jam version of Gun Groove Alley had quite simple art, and I created some simple animations to allow the various characters and elements of the game to 'bop' to the beat, also when it came to having the cats aim their weapons, we simply flipped sprites.

With the updated version, all of our characters were reworked and made using Spine, a pretty cool piece of skeletal animation software. This allowed us to give the characters a little more personality, flipping around in a sort of 'Paper Mario' style and actually pointing their gun at the enemy they wanted to shoot at. I learned a little more about implementing these features such as how to control bone positions to acheive the aforementioned aiming through code.

The ways waves were handled in our initial jam version was less than ideal. Essentially a set amount of each enemy would spawn and each one would just increment slightly each wave, then everything was spawned randomy out of those amounts each wave. With the updated version, we decided to hand craft 25 waves using scriptable objects. They contained three bits of data.

We decided that we wanted the game to not just stop at wave 25, so I threw together a simple function that would generate random waves with increasing difficulty. Simply feed in a wave for it to use as reference, for instance the final wave. It will shuffle around the order of the wavesteps and then take a certain amount of those wavesteps, duplicate them and stick them onto the list too to give the player bigger and bigger waves. An instance of the 'Wave' Scriptable Object is generated with this info and set as the current wave.

TEAM

Composer