Luke’s Task List: Powerups

Posted December 12, 2016 by Cathy Schneider

From Luke Schneider, Lead Designer:

My primary task for the rest of the project will be getting levels done, but I’ll be squeezing in a lot of other tasks along the way.  Recently as I was expanding and refining the August Demo Level into a middle-of-the-game level, I needed more level elements and powerups to work with.

More specifically, I needed to make one-time switches to unlock secret doors and a power core for disabling a shield around the reactor.  Power cores and one-time switches are essentially the same thing gameplay-wise.  When you destroy them, you need to trigger another event.  Power cores are just more obvious (like a mini-reactor) and have more hitpoints, and a significant explosion as a payoff.

Luckily, Chris Claflin had already made some placeholder models for a lot of gameplay elements a little while back, so I didn’t have to model anything.  Any destroyable object that isn’t a robot uses the same basic script in Unity (fittingly called Destroyable.cs), so setting up the Unity side of things wasn’t too tricky.  But we also needed gameplay script entities to place in the level editor.  Previously the only real scripting we had involved triggers.  When you pass through a trigger (or shoot through it, if you set a flag), you can activate a robot generator, or unlock or open a door.

So, I created a few new script entities (not to be confused with Unity scripts).  One detects if another destroyable entity is destroyed, and triggers another script if so.  One disables an invulnerability  shield (for a robot generator or reactor), and one triggers another script when it’s been triggered X number of times.  As a bonus, I also added optional messages to some of the scripts being triggered.

Getting all of the above elements working together wasn’t too tricky, but that’s only because I’m familiar with our somewhat complex system of connecting level editor entities and Unity prefabs/scripts.  Needless to say, everything now works as intended, but it’s not quite presentable yet.  But since everyone knows this is still in development (far from final, visuals will definitely change), here’s what a power core looks like in placeholder form:


On the more presentable side of things, I also spent a little time working on two new powerups: Invulnerability and the Super Upgrade.  Both powerups already “functioned”, but they both had very placeholder visuals, and I wanted to fix that since finding them should feel special.  The Super Upgrade was a bit easier since the Upgrade powerup already existed, so I just made an evolved version of that.  The color scheme is more red/purple, which is our color for the most powerful objects in the game.


For the Invulnerability, I talked to Chris about ideas and colors, and we narrowed in on gold as our color for invulnerability,  From there, I plugged away at making a sphere look gold and special without being too similar to our other powerups and this is the results:


In motion, it looks more unique because it pulls on the particles rather than emitting them.  And the UI now reflects your invulnerability.  Eventually we may have more effects for the ship/cockpit to make it look gold and shiny while you’re invulnerable.

Though in these cases, work on functionality and visuals occurred (or will occur) at different times, that’s not always the case.  For the level I started working on recently, I’ll be creating a forcefield object that’s blocking access to the final key.  Since we already have shields on reactors and robot generators establishing a visual style (and functionality), forcefields will be a version of those.