This video is a good one guys! Now that we've seen how the weapons in BHB work, the micro-singularities, and what the gravity surfaces are like, lets see how all that works in an active live environment with enemies in place. This video does a great job of showcasing the kind of tech I've been developing for BHB and how it all fits together.
One of the many challenging aspects of making BHB has been developing an AI system capable of navigating the gravity surfaces. See, developing an AI system that can detect what direction the player is in and make it move in that direction is simple enough... but it gets significantly more complex when the AI's orientation can change. It's no longer enough for the AI to know if the player is to the left or right, the AI needs to know if the player is to its own local left or right. And that changes everything (which I found out the hard way). Here's an awesome diagram I spent hours preparing showing why that makes such a difference:
Ok so it's ugly, whatever. Basically, in the first panel, we see that both green targets are to the left of the red AI, so we just tell the AI to move left. But in the second panel, if we tell the AI to move left, it moves down, away from target #2. If we want it to move towards target #2, we have to tell it to move right instead. And then it's different yet again if the AI is upside down, or any other orientation. Everything (including the actual movement itself) has to take this into account. So the AI had to be developed with this feature in mind from the ground up, making it a little trickier than it might normally have been for a simpler game. I actually had to re-write it several times until I had it working exactly how I wanted it.
Making the AI may have taken more work than it normally would have otherwise, but that extra work was totally worth it. We can do a ton more things with the AI that makes the gameplay truly dynamic, stuff that many other games don't have. An AI creature can jump off a wall, land on a jump pad, get flung into a micro-singularity, and then flung again onto a rotating gravity surface platform, all without a single hiccup. And we can have many of these running at the same time, all of them doing their thing. Of course, future enemies will be able to do a whole lot more...