What have we been up to this week?
Hi there! I hope you had an awesome weekend! Here is your 37th ScourgeBringer open development issue to start the week.
Previously on ScourgeBringer: I went into some technical stuff and worked on supported Chinese, Japanese, and Korean in our engine (which doesn't mean for sure that the game will be available in these languages, but we are working toward it) as well as studying pixel perfectness to render the game as crisp as possible.
Last, I went back on some serious action with bosses!
Meanwhile, Florian is finishing his work with Ankama and should be back full time with me in about one or two weeks. He should be able to share some of his work soon, he has been doing some very pixel art animations for Ankama.
Back to our bosses! I'm finishing everything that we need to have playable bosses and start really designing them. Three weeks ago, I listed what we still needed to call them playable:
- AI management;
- Hitbox management;
- Sound triggers.
Having sound isn't actually required to have playable bosses, but it'll be the last important bits that I'll have to add. But for now, I'm postponing this to the moment we have a sound designer on board.
So now to the serious action. I have coded all the AI parts of bosses! It's pretty straightforward actually. Unlike normal enemies (which have their own programmable behaviors and free moving), bosses act differently: they uses our animation system and are simple state machines. This means that we design boss patterns by creating one individual animation per attack (or attack variant), and then all we need is to be able to tell the boss how to operate a transition from an animation to another (and how it should behave accordingly to the player's position; like trying to move in the way of the player). We also need to be able to add some logic conditions, like "this attack should trigger only below 30% HP, and shouldn't be triggered twice in row". This should allow us to design bosses quickly and efficiently.
The coolest thing about all of this, is that it's integrated with our live and playable preview of our editor. Yep, we can play the bosses directly from the editor, edit them live, and monitor their internal states as they play. This is a huge time saver. Here's a preview (mind the fact that the animations are still super ugly, because I'm making quick & dirty placeholders while Florian is busy):
So that makes the AI part done! But they are not quite playable yet, they are still lacking some proper hitbox management (they didn't have any to this point).
The remaining of the week, I started to work on the hitboxes! I'm making good progress but it's not quite finished yet. The idea is to be able to define what kind of hitbox each parts of a boss have, and to use our timeline editor to define when hitboxes are active. For instance, you only want those punch hitbox to be active during the actual punching animation. We also need to be able to define when a boss is vulnerable/invulnerable.
Right now, the hitboxes are defined and loaded/saved, but they are not yet drawn/visible and I still have to code the timeline editing part as well as the collision management. But that shouldn't be a big and should be done by next week!
Speaking of next, time to fly toward our week of work! See you next mission!