In part four, I had finished rigging the character and begun animating. At this stage I enter a weird sort of back and forwards between art and code, trying to animate quickly and roughly so I can get something in game, and using that to figure out what to refine. Being across multiple roles is an advantage in these cases as I can prioritise art or code as I see fit.
With most animations accounted for in some form or another, and the framework in place, I need to focus on the attack patterns. First up is a shooting phase, she will hurl blue energy balls that can kill the player outright, but their main purpose is to burst into bullets.
The original idea was that she would throw them and they would reach the other side of the stage and then burst. It seemed like a cool idea, dodge them as they come towards you, then the bullets attack you from behind. (the tank boss in the Dreamcast shooter Under Defeat had an attack where it fired an artillery shell but the main threat were bullets that came back at you from the impact) In practice, having the projectiles disappear off screen then send bullets at you felt arbitrary – a crucial difference was that my bullets were bursting radially so their patterns were so much more chaotic than a series of parallel projectiles. After some tweaking and tuning I found that giving the projectiles very short fuses and synchronised bursts kept them on screen and gave them a more interesting threat.
The next attack I wanted to get working were her vines. Mechanically, they would operate in a similar way to the Red Bomber shockwaves that had been introduced in previous two stages (Oxygen and Process) except they wouldn’t hold her in place, and needed to look like vicious rose thorns.
I made three splines and curved them in interesting ways, lofted a shape along them and used the deformers to pinch them off a bit then I started selecting various faces and did an Extrude Along Spline to add the thorns. I did a basic UV unwrap so I could add some colour and texture. I wanted to emphasize the ‘viney’ nature and the spikes. I made the tips red so they would stand out (and red is a colour signifier in Cactus for player damage) but pushed it towards purple so it wouldn’t be confused with blood.
I knew I wanted the vines to ‘crack through the floor’ and originally I was going to do a rig with lots of moving parts. The first tests didn’t really justify the approach though so I simplified it down to four moving parts (one bone for ground and one for each vine) the vines themselves don’t deform at all, I’m just using scale and rotation to fake their ‘growth’. In game they would play their animation then switch out for a static mesh that would play the dissolve effect. They were designed to only cause damage as they were growing, but this wasn’t apparent so I wrote a shader that let me animate a red rim light during growth. This ended up being better for the overall colour scheme anyway, so it was a good change.
Finally, I wanted to have her fling giant flowers – I figure once you go down the path of glowing bullets you shouldn’t stop, and some of my favourite games have really creative projectiles. (hello Virtual On!) My original plan was to use 3D mesh flowers, I modelled something up and dropped it in game, but from gameplay camera, I was getting very little from it’s 3Dness, so I rendered it as a sprite instead, which let me process the texture to give the whole thing a bit of glow and keep more in line with the other projectiles. If you’re wondering why my Alpha Blended sprites are casting shadows… I have a second invisible shadow caster that moves along under the real projectile.
With the pieces assembled, I started balancing the battle. Anything goes during this part, it’s mostly down to feel. Originally the second phase was just blue orbs, but it lacked movement so I had it alternate between streams of flowers and orbs. I was considering using flowers again in fourth phase, but decided bullets gave a more interesting closing pattern, and phase six was basically an all in of flowers vines and wasps.
And this was basically the version of Vespula that made it playable into our Early Access build! It was great getting peoples initial impressions of her, and I rolled a lot of changes into our first update to smooth out her experience.