Indie Game Devlog Episode 22: Improving 3-Hit Combo and New Demo Release 0.0.5!
Hey, everyone! Welcome to Episode 22 of the Resonant Blade Devlog series! The new 0.0.5 demo is out now for PC and Mac. You can try out the sonic grenades, ride on the speeder and hoverboard and explore some of the new maps I’ve been working on.
IMPROVING 3-HIT COMBO
A big chunk of the development time since the last devlog has been making new attack animations for the player’s 3-hit combo. The ones from before were kind of floaty and messy looking. I think the new animations help show the weight of the attacks and look a little more powerful. I also added in some dust and rock effects to add more movement and impact to the sword swings.
After finishing up the animations and getting them added to the character’s animator component, I had a look at some very old code that I’d been using for the attack behavior. Needless to say, it was very bloated and had a bunch of unnecessary stuff. So, I ended up reworking it all and made it to where the 3rd hit in the combo is no longer a charge up attack. The third attack is still slower and more powerful, but it won’t cancel out of the attack anymore if you don’t hold it down long enough. It’s much more straightforward and just takes one quick button press now. I also added in an input buffer for the combo attacks. Hitting the attack button while already performing an attack will put the next combo attack in a buffered state and will automatically execute that attack after finishing the current one.
Next, I added the collision back into the attacks. With the old attacks, I was just using a box collider that I would animate with the attack animation itself. I noticed that this wasn’t always working and would cause some odd collisions to occur sometimes. This time, I used the sprite shape of the sword swipe effect as a collision map. These polygon colliders are generated once at runtime and then activated when the animation reaches a particular frame. Each one of these collisions also has a script on them to deactivate after a very short period of time.
After finishing up the attack animations, I focused on getting the demo release ready. The 0.0.5 release is more of an experimental build that lets players test out things that aren’t quite finished yet like the sonic grenades, speeder, and the hoverboard. The way you would normally unlock these items and areas isn’t completed yet either, so I made sure to include obvious signs to show how to test these new features out.
There were some small changes to make and a ton of bug fixes to crack down on, too. The speeder engine sound effect has been revamped so that it should be less grating. I added in a short timer when riding on the speeder so that you can actually reach the other side of the tunnel. I added in a lot more NPCs especially in the Upper Ionia map to help liven things up a bit. I still need to do the same thing in Lower Ionia. I added a temporary door that sends the player back to Ionia after reaching Locria. Because a platform crumbles behind you in the tunnels, there’s no way to actually back track at the moment.
After that, it was on to bug fixes. I’ll just highlight some more of the notable ones here. There’s the Atlas-gets-larger-on-moving-platform bug. For the horizontal attacks, I flip the character’s scale when switching between left and right attacks. But this gets messed up when on a moving platform because the platform becomes the parent object to the player. After adding in a quick exception that checks what the player’s parent object is, I could adjust the scale accordingly while on the moving platform.
Another bug that happened twice for the same reason but gave me drastically different results popped up because I accidentally moved a couple of audio files out of my resources folder. This probably happened when I was creating or modifying an existing sound effect in Reaper. When saving a project in Reaper, I think I had the ‘Move all files into project folder’ box checked. For the first instance of this, the sound just didn’t play back. The second instance had much more interesting results and happened during a boss fight. After defeating this boss, a certain sound is supposed to play, but because the file didn’t exist, we ended up with an infinite money glitch and the boss never actually dies. Although it took a while to track this bug down, once I did figure out what happened, it was super easy and quick to fix.
Alright, that’s it for this episode. Thanks for watching/reading everyone, and I'll see you next time!