Thursday Turn Out - 03/05/2026
Between the time I wrote Monday’s to-do list and the time it was posted, I created the new flying enemy archetype. Most of the code was just extended from the base enemy, I just had to:
- have flying enemies ignore elevation;
- code a swooping pattern that homed in on Zel’s position, hesitated, then dove in; and
- fix the two-hundred-and-seventy-eight bugs that popped up.
I wanted the dive-bombing to be the actual attack, not the setup to an attack. This (as a hypothesis, anyway) would persuade the player to read the enemy’s tell and move out of the way quickly while also serving as an easier way to extend into an area of effect (AoE) dive-bomb attack later on. I’ll have more detail Sunday, but in brief:
Creating this new enemy revealed all the hidden timing issues I had with my original finite state machine and, in fixing them, I improved all enemy behavior.
A finite state machine is a precise flow chart for how an enemy should behave, so precise that one needs to make sure their code is rock-solid and doesn’t try to sequence behaviors out of the intended order. That one (me, in this case) learned a valuable lesson and will try to be more proactive in sussing out issues in future enemies.
Or, you know, just barreling on as normal and fixing the myriad bugs as they pop up. Either/or.
As always, thanks for reading and I’ll see you Sunday!