Starsprites: health and power-ups
Published by James on 12/02/2023Although we never actually talked about it, all the screenshots and previews we’ve shown of our game so far have included a health system. In our previous blog post, you might have noticed a line of hearts sitting in the top-left corner of the interface. You’ll no doubt be familiar with that kind of health system. Take a hit, lose a heart. Lose all your hearts, die. This is a tried and true mechanic, and we see it everywhere, from Legend of Zelda to Minecraft.
With that said, this health system was only something that I knocked up for testing purposes. We knew we’d want to try our hand at devising our own health system eventually. Well, this past fortnight, that’s exactly what we’ve done.
Time to properly introduce starsprites!
What are starsprites?
In ancient times, when Galaxy still watched over the universe, starsprites were numerous. These tiny, winged creatures could be found all throughout space, working hard to carry out the will of their beloved creator. Ever since Galaxy’s destruction at the tentacles and maw of one Blackhole, though, their numbers have dwindled, and those that remain find themselves at a bit of a loss. What are you supposed to do with yourself when your entire purpose in life is to serve some higher power that no longer exists?
Enter Kinoko. For some reason, starsprites seem inexplicably drawn to our yellow kuparkuke protagonist. Wherever his journey takes him, starsprites appear to follow, popping up out of crashed meteorites and accompanying him on his travels. They seem intent on shielding him from harm, and some of them even provide him with magical enchantments. Kinoko isn’t actually sure why – but you don’t look a gift horse in the mouth, do you?
Starsprites themselves aren’t a new creation. Chelsey came up with the idea of them about a decade ago, and over the years we’ve had various ideas for how we might use them. As for the game, we knew from the start that we were going to be wanting both a health system and a power-ups system. Two weeks ago, something finally clicked, which brings us to the next big question!
What role will they play in the game?
As Kinoko explores the game’s various planets, he’ll occasionally come across the remains of crashed meteorites. These mysterious space rocks contain trapped starsprites. Whenever Kinoko releases one, they’ll join him on his travels, helping him out on his mission by protecting him from harm, and sometimes even providing powerful enchantments to power-up his abilities.
Starsprites come in a number of different colours, signifying how powerful they are and exactly what they have to offer. All starsprites function as a single-use shield, but the rarer varieties offer even more useful effects. When you release a starsprite from its meteorite, there’s no way to know which kind you’re going to get, so there’s an element of surprise involved here. Behind the scenes, we generate a random number, the result of which determines which starsprite you end up with. You can be accompanied by up to three starsprites at any one time.
In some ways, starsprites are similar to the Aku Aku masks you can find scattered about the world in the Crash Bandicoot series of games. Like the Aku Aku masks, which are found in crates, starsprites are found upon the smouldering debris of crashed meteorites. Like the Aku Aku masks, which protect Crash from harm, the starsprites have vowed to protect Kinoko however they can, and will shield the kuparkuke from a single hit of damage before flying away to recuperate.
The video below demonstrates the starsprites in action.
But starsprites are also our game’s answer to power-ups, too. Not every starsprite is capable of such blessings, but the ones that are will provide Kinoko with magical passive enchantments for as long as they can accompany him. Those enchantments will unfortunately diminish once the starsprite who granted them flies away, so it’s in your best interest as a player to tread lightly, and hope that you don’t lose any of your more powerful starsprites.
So starsprites are pretty useful then, as you can see! We like that we’ve been able to come up with such a lore-friendly approach to both health and power-ups, and we’re particularly happy that we’ve been able to combine both these things into a single mechanic.
Now let’s have a closer look into how exactly starsprites function.
How does the shield work?
The primary function of a starsprite – and it’s the same regardless of the starsprite’s colour – is its shielding effect.
Whenever Kinoko’s hit by an enemy or projectile, one of two things can happen. If he has one or more starsprites with him, one of them will shield him from harm before flying away. There’s no way to determine or influence which one will do this. You might lose one of the common yellow ones, or you might lose one of the rare ones, as well as whichever magical passive effect it was granting. On the other hand, if Kinoko has no starsprites available to shield him, he’ll take the damage himself and die. (He’s fragile like that.)
This is demonstrated in the video below.
Despite the element of randomness involved, you can hopefully see how starsprites basically operate as single-use shields. You don’t do anything to activate them – as long as Kinoko’s got one when he’s hit by an enemy or projectile, he’ll be saved from death, and granted roughly three seconds of invincibility so he can make it back to safety. (Of course, since he can’t be attacked during this short window, he also can’t use his own attacks. It’s only fair!)
There’s definitely going to be some fine-tuning needed as we start thinking about designing our levels properly. In particular, we’ll need to figure out the right number of meteorites to place around the world, and where to place them. Too few would make the game too difficult, but too many would make it too easy. That’s getting into the game’s difficulty and balancing, though, which is another topic for another day!
How do the enchantments work?
We mentioned before that some starsprites will be able to bless Kinoko with useful, magical enchantments. We haven’t actually decided what those will be just yet, at least not with any certainty, but we can talk about them briefly.
One thing we do know is that all of the enchantments offered will most likely be passive effects which last for as long as the starsprite accompanies Kinoko. Once the starsprite flies away, having served its use as a shield, its passive effect goes with it. It’s possible we could introduce starsprites whose effects work as rechargeable weapons, but right now we’re thinking of simple but beneficial effects which can be completely passive – things like faster movement, or faster rates of fire. The benefit of effects like this is that they can be stacked if Kinoko happens to have more than one starsprite of the same colour.
The groundwork for this system has already been laid, so we’re free now just to experiment and see what works. Behind the scenes, Kinoko has three ‘slots’ available for starsprites, and we keep a count of how many he has of each colour. These counts are stored in variables which we’re able to access across all our other scripts, so we can use them in all sorts of other calculations and as multipliers for any existing effects. Effects like an increased rate of fire are pretty much a given – I’ve actually already tested that one, and it works excellently – but we’d like to get more creative with them too if we can!
Anyway, that wraps up this introduction to starsprites. Honestly, everything I’ve described in this blog post is subject to change, so don’t be surprised if things turn out differently. As it is, though, I think we’ve got a decent system here, and everything I’ve outlined here today is already developed and working.
The next step will be giving Kinoko even more enemies (and places) to try them out on!