Okay, I’m starting to get a handle on vector arithmetic.
Enough to go from this:
All of this was in an effort to overhaul how I was handling AI navigation. Previously AIs were only able to keep one thing in mind at a time.
For example – they would see a ball and would move towards it. If an enemy got close, the AI would register the enemy’s presence via a OnTriggerEnter and change it’s behavior accordingly – the enemy would become the target of it’s attention and it would flee, completely forgetting about the ball until it was safe to try again.
This worked, but could feel mechanical at times and was seriously limiting – what if I wanted the AI to convey despair by really needing the ball, but being afraid of the enemy at the same time? Or how could I try to lure the player away from a place of safety? Now I can do these things and more.
The first thing I used the new navigation for was in trying to make an AI feel playful.
This is very much in line with something I wrote on a previous DevLog – about how interacting with AIs was mostly trying to figure out how they behaved so the player could use them. That would be in the opposite direction of the game I’m after and could lead to a lot of frustration. Stripping away that mechanical problem solving should make them feel more like living entities and less like tools or resources to be exploited.
Look VS Feel
I’m also considering switching from a orthographic camera to a perspective one.
I like the aesthetic of an ortho camera and it would enable me to cheat with some 2D world assets. But a perspective camera is much more efective at placing you in the world and I do want the player to feel immersed. So perspective it is. Probably.
A Few More Things
Towards the end of the week I started looking into procedural world generation. I could spawn a bunch of world objects in random places but that would neither look natural nor give me enough control to create a sense of place defined by rules. I was looking into using array lists with perlin noise when it became clear it was too big a task and for now I can just place things by hand if necessary.
I’ve also began working on a new energy system. Right now it looks like just a run button but the intent is for it to do a lot more than that based on context.
“A good idea is something that does not solve just one single problem, but rather can solve multiple problems at once” – Shigeru Miyamoto
More on that next week.
Not sure what problems having movable boxes would solve but I added some anyway.
… Next time I may add some boxes that act more like boxes.
I was supposed to have a new build of the game for the monthly game dev meeting on the 29th but since that recently got moved to the 26th I don’t think I’ll be taking one. Luckily serving a build next week would be counter productive anyway, so it works out. #lazydevs
See you next week!