Star Rift Saga- PIG Squad Game Jam Progress
A downloadable devlog
Star Rift Saga is an action-platformer with light RPG elements like consumable items, status effects, and various builds and customization. I've been working on this game for a long time in my free time (don't over scope, kids!) though it really started coming together a few years back when I made the decision to scrap the entire map and restart, this time planning the world out from the start. Now the game is nearly playable from start to finish, with a few inaccessible areas and planned features throughout.
You can find the game's Steam page here. Wishlisting it helps with the algorithm and stuff, so I'd appreciate that if you are so inclined.
While I am a coder and a game designer, I am not an artist or a musician. As such, I'm aiming to ramp up for a crowdfunding campaign in the near future to fund pixel art, sound effects, and music. It started as a long-term solo project, I'm aiming to finish with a small team. As such, bear in mind that everything shown here as well as everything currently in the game will change pretty dramatically, right up to the design of the main character.
I've opted to use the PIG Squad "Finish Your Game" Jam as an excuse to finish the final boss with something of a soft deadline. (So spoilers for the early state of the endgame of a game that's heavily a work in progress, I guess?) Here's how that went.
Oh, and I talk a lot. I wrote a lot here. If you don't want to read it all, just have a look at the videos, hit up the Steam page if you want, and thanks for checking this all out.
The first step was to set up the boss battle arena. I didn't want to bother with cutscenes and the leadup to the boss for the purposes of this jam period, so you go through the door and you're instantly in the fight. The goal was to make something otherworldly, as the battle takes place in the void between spaces. Since I'm not trying to do much in terms of final art, this was done pretty easily using an effect layer in Game Maker combined with a scrolling background. The floor is used in the rooms before the battle which I had already done, and is done using a dynamic rendering mask. I think the two effects combine nicely to create an otherworldly feel without needing too much final art.
While developing these things, it's important to be able to get to them quickly. Still, I'm aiming to test with a build and inventory that the player could have at that point in the game if they went really fast and explored almost the bare minimum. So I snuck a shortcut in there. Start the game, load the save, go to the next room, press the P key, go straight to the door before the boss. You even sneak behind the boss right before this one.
And there it is, making its entry. I already had this thing drawn since it appears in the game much earlier. It takes some inspiration in terms of design (the eyes!) from a striking image I saw in Hyper Light Drifter. I had to do some adjustment to the sprite once it became an actual playable boss so the mouth could open by cutting it up into pieces, as we'll see shortly.
Bosses are functionally just an enemy with special code to handle their deaths, so I just dropped in a template I already made of an enemy to start, then had it fly to the start position to start things off.
Bosses are pretty straightforward in this game. They attack, you dodge, and hit back. Generally bosses select their attacks from a list at regular intervals and start to go faster and attack more as their health gets lower. Some bosses have more to them than that, but that's a good basic structure. The first step is the holding pattern- what the boss does in between attacks. I intended for this one to be teleporting around, so that's what I've done here. It's large, but evasive. He'll warp three times, attack, warp three more times, repeat. I'm all about cool visual effects like this one that are pure code, but relatively light on art assets.
[Video- Eyes]
For the first attack, we'll start simple. It fires a stream of bullets from its eyes. There's a visual cue with the shine effect. As the boss gets to lower health, it'll increase the time it spends shooting as well as its accuracy, where more spread is actually harder to avoid. You can just move away from the bullets, or you can dash through them. Either way, it forces you to move.
If the last attack makes the player move laterally, this one makes you jump. In the code this attack is called "shadowballs", I had to use a lot of restraint to not have the string called "barf", because that's just how juvenile my sense of humor has become. I had to make sprites for the mouth and jaw separated from the rest of the head, then just overlay them and draw the mouth at a different height with a variable. The shadow balls are reused from another boss battle. As the boss has lower health, the attack lasts longer, making it a bit harder to avoid when other things are going on.
I decided that this boss should feature the mechanics that are unique to Star Rift Saga, since it is the finale. One of those mechanics is the item system. It's designed so that you can quickly pick up and use items like an RPG but without stopping gameplay. You have a small inventory that you manage like a hand of cards, constantly finding new things and using them. I figured the boss should work with that system. I gave the boss this charge attack, where when it lands a hit you have a 90% chance of dropping any one given item.
This is where I might have gotten a bit too ambitious, but I'm pretty happy with the result. Once items are knocked out of you, you can just go pick them up, though it can be tricky with everything else going on. If you wait longer than 10 seconds, the boss can instead suck up and consume your items. It heals and can gain other effects when it does so as well, based on the item consumed. Which wouldn't be so bad, but there are currently 50 or so items in the game that had to be handled. A few of them are especially unique, like the Joker which sets your HP to a random amount. The boss had to have similar effects applied to it, including that one. (Though it doesn't set the boss's HP to a totally random number, it weighs increasing the health over reducing it.) There are also some items that have a chance of inflicting negative status effects, so having it consume your items may be beneficial, though it's unlikely. In short, higher value items heal more, so make sure to pick up items quickly.
This attack ended up being more ambitious than originally planned. The rest will be simpler at least.
Bit of rapid fire for the attacks here.
Swords- Flashes indicate where the swords will fall, then they do. At first it's just one, then it becomes three attacks during the second half of the fight.
Stomp- It stomps across the screen. As its HP goes down, it moves faster and stomps closer together.
Burst- It fires a lot of bullets. More bullets are fired as HP goes down. The bullets go pretty slow, so they stay on screen for a while.
I have to emphasize here that the idea is that each attack in isolation is not too difficult to avoid, but when combined and they have lingering effects it can get difficult, especially as the battle progresses and attacks come much quicker. Speaking of the battle progressing...
As the battle progresses, the boss changes colors with a palette swap using this palette swapper . Seriously, it's super cool, go have a look at how it works if you use Game Maker.
After the boss gets down to 1/3 HP, it heals itself. Throughout the game, you close various rifts in space and rescue colonists from inside of them. It heals for 100 HP per rift that you've missed throughout the game. After this point all attacks change a little bit to be a little tougher, so closing more is in your best interest as a result.
- Eyes: The boss targets a wider area around you, actually making it harder by being less accurate
- Shadow Balls: The boss moves sideways while dropping the balls. You can get caught with little space to move if you're not careful.
- Charge: The boss makes a second pass and goes faster.
- Swords: Three waves, and the last one can be from the sides.
- Stomp: Bullets are created going upwards at the point of impact.
- Burst: It's just more bullets. Thinking of doing something more here though down the line.
- Teleporting: This is the other thing that really takes advantage of the game's mechanics. Specifically, the boss starts shooting a small burst of bullets in a variety of colors, each of which inflicts a different status effect like poison, burn, blind, and freeze. So now you have something to dodge between attacks.
After that, once its health gets down to 1/8, it enters a final phase where it generates 10 armor (1 armor=10% damage reduction) but rapidly loses it over time. Just have to survive until you can do damage to it, or you can break it with explosives.
Conclusion and What's Next
While my goal with this boss is that I can have it not hold back and just throw stuff at the player, I will be adjusting things a bit more. Still, that means that the game is basically ready. There's still some areas that are inaccessible, and more stuff I'd like to add here and there as well as refine, but once the cutscenes that go before and after this fight are in place, the game will be playable from start to finish. Wild.
The next step to getting the game into player's hands is getting it beyond just gameplay and making it presentable. I'm planning on ramping up to a crowdfunding campaign to fund better art and audio. On that note, I had the main character redesigned by someone with actual artistic abilities just before the jam period. Here's a sneak peek of the new player character, as redesigned and drawn by Merlin Benneth. It should give you an idea of what the game will likely look like if everything falls into place.
If you'd like to follow along as I ramp up to full production, I try to post regularly on Twitter, Instagram, and Facebook. Again, the Steam page is here, which is also a great bet.
Thanks for following along this far.
Status | In development |
Category | Other |
Author | gamesbyjacob |
Links | Steam |
Leave a comment
Log in with itch.io to leave a comment.