• Register

Jetboard Joust is an intense, old-school, arcade-style, 'bullet hell' SHMUP in which you must master a vast array of ridiculous weaponry in order to defeat a race of evil aliens who are intent on abducting your babies and turning them into mutants (yes, really)! Don't expect a story. Do expect action, gunplay, death and explosions. Lots and lots of explosions.

Post news Report RSS Jetboard Joust DevLog #109 – Making New Enemies pt 1

During my recent intensive playtesting sessions I’ve become a bit concerned that there’s not enough variety in the earlier levels of Jetboard Joust, so I’ve decided to bite the bullet and create a new enemy per level for at least every level until you meet the first boss...

Posted by on

You can wishlist Jetboard Joust on Steam here.

During my recent intensive playtesting sessions I’ve become a bit concerned that there’s not enough variety in the earlier levels of Jetboard Joust.

Originally I’d paced things so that either a new weapon or a new enemy is introduced at least every other level. This is fine once you’ve made a bit of progress through the game (as it has all the weapons/enemies from the previous levels to draw on for variety) but earlier on it just felt like I was facing the same old enemies too much, even if they were armed with new weapons.

So I’ve decided to bite the bullet and create a new enemy per level for at least every level until you meet the first boss. As these enemies appear early on in the game they don’t need to be too elaborate, but as engagement in the first stages is key I thought it was worth the extra effort.

This means a total of five new enemies, I’ll cover the three simplest ones in this post as the two slightly more complex ones in the next devlog.

The first two are both jetboarding enemies. Jetboarding enemies are the easiest to add as they all work from basically the same AI, I just have to tweak certain values and maybe add a couple of specialist behaviours for variety. I wanted these ones to have a ‘gang’ type behaviour so I designate one enemy from each group as a ‘leader’ and have the others position themselves around the leader until they get within a certain distance of the player (in which case it’s pretty much every man for himself). Both enemies follow this pattern, though one type will abduct/mutate whereas the other attacks more aggressively.

128 GrouperReaper


The enemy on the left is supposed to be wearing a kind of gas mask / backpack type arrangement. This was very hard to get right in so few pixels and I’m still not convinced to be honest. Someone on r/pixelart said it looked like a racoon and now I can’t unsee that! It looks better in some palettes.

The other enemy I’ve christened the ‘swarmer’. As you can guess from the name, it attacks in large batches! For the attack pattern I generate a virtual circle around the player and set an ideal position for each enemy on a point on that circle. The enemy tracks to this ideal position rather than directly onto the player, as I rotate each ideal position this means that the enemies circle the player when they get close enough.

128 Swarmer AnimCropped


The swarmer also has a more aggressive ‘ram attack’ where it propels itself towards the player at high velocity. To make sure that not too many swarmers are doing this at once I maintain a virtual ‘baton’ which is passed from one enemy to another, only the enemy that possesses this ‘baton’ can carry out the attack. I can vary the amount of batons per group to increase difficulty.

128 SwarmerDemoVeryShort


Whilst testing on large groups of this enemy I found that gameplay tended to get a bit unbalanced, with all enemies lumped on one side of the player. To avoid this I’ve implemented a ‘split’ AI whereby, if things do get too ‘one sided’, a bunch of enemies will split off in the ‘wrong’ direction to wrap round the game world and attack the player from the other side in a pincer movement! You can see this in action in the video. This mechanic seems to work well so I’ve applied it to a few of the other ‘swarm’ type enemies as well.


Dev Time: 4 days
Total Dev Time: approx 320 days

Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.

Follow Report Profile
Icon
Jetboard Joust : Next-Generation Retro
Platforms
Windows, Mac
Developer & Publisher
BitBull Ltd
Engine
MonoGame
Contact
Send Message
Release date
Game watch
Follow
News
Related Engines
MonoGame
MonoGame BSD
Related Groups
BitBull Ltd
BitBull Ltd Developer & Publisher