SamSuka
Kinoko and the Cult of Galaxy
Kinoko and the Cult of Galaxy

patreon


Starsprites progress update

Who said weekends were for relaxing? I spent mine working on starsprites!

In summary, since the last video clip I shared, I've added:

If you're interested in the technical side of game development and the way things work, the starsprites are actually very simple. When Kinoko takes damage, a method named TakeDamage() is called. That method makes a call to another method - CheckStarsprites() - which quickly checks which starsprite slots are filled and how many Kinoko has in total.

Provided Kinoko has at least one starsprite follower, the Shield() method is called. The first thing that Shield() does is take those occupied starsprite slots and select one of them at random. The slot is immediately freed up, and Kinoko is briefly stunned. Movement is prevented for one second, and he switches into his 'taking damage' animation. At the same time, the randomly selected slot is passed into another method, LoseStarsprite(starspriteSlot), which basically handles the fleeing sequence (flying off, fading out, etc.) for the corresponding starsprite.

Alternatively, if Kinoko doesn't have any starsprites, the Die() method is called instead. I probably don't need to explain what that one does. He switches instantly into his 'dying' animation, the camera zooms in, an audio track is played, the screen fades to black, the words 'game over' appear... and that's currently it. That's where the game ends. There's no main menu for me to return the player to or anything like that, so that's pretty much where I've left it for now. Still - it's progress!

Now as for how I've managed to do all of this without actually having any enemies yet, I took the simplest approach I could think of. I simply added a 'simulate damage' button to the HUD! All I need to do is click this button, and Kinoko instantly takes damage. Needless to say, this button will be removed once I've got actual systems in place for dealing damage (enemies, traps, puzzles), but adding buttons like this to call my methods enables me to test functionality as I'm building it, without having to get everything else in place first.

Whilst I was doing all of this, I took the opportunity to reinstate the randomisation of starsprite colours. In the last video, only yellow starsprites were available, but the game design dictates that there will actually be four types of starsprite available (and possibly more, if we have need for them). Behind-the-scenes, it's just a simple random number generator. Currently Kinoko has a 75% chance of rolling a yellow starsprite, 10% for blue, 10% for red, and 5% for white. I've no doubt we'll revisit those numbers when we come to look at balancing, but I think they're alright as temporary probabilities.

The rarer starsprites - that is, all but yellow - will eventually offer passive effects, making them more desirable. We're still working on what exactly those passive effects might be but, just to give you a general idea, we're considering things like passive damage-per-second, speed boosts (movement, attacks, or both), and so on. I won't be implementing these effects until much further down the line - it was just the shielding we wanted for now - and we'll be designing them properly before I attempt to do so.

Whilst I've been doing all this, Chelsey's been continuing to work through her commissions. She put out one last call for them earlier in the month, which resulted in quite a few of them and raised a bit more money for the project, and she's been tremendously busy as a result. Fortunately, she's down to the final two now, so the end is in sight, and she'll soon be back to working alongside me on the game.

In the meantime, I'm not completely sure what I'll be working on next. I'm at a crossroads really. The logical thing to do would be to persist Kinoko's starsprites between scenes, as currently he loses them. That kind of goes hand-in-hand with saving and loading, though, and - as important as that stuff is - I'm not sure if I really want to get into that right now. On the other hand, there's some new stuff we want to add to Kinoko's moveset which were never in the Unity build at all, which might be interesting, and I could also implement the raygun again as well.

I'll give it some thought!


More Creators