I'm looking for a way to implement a fighter-jet like movement behavior for my non-player entities in my 2D side-view shoot-em-up.
I.e. enemy entities (say jets or planes) can't suddenly change their facing or velocity vector, but instead should need to slow down and / or fly a curve in a wider angle, possibly depending on a properties like "agility" or "maneuverability".
Gravity is not relevant for Enemy entities.
The goal would be to have an enemy Entity that can ultimately "intercept" the players path to fire a projectile. However, just being able to move in a smooth way would already be a great help.
To be specific, assume the player is at position (200, 0), with its movement vector being normalized (-1, 0) (i.e. moving to the left). The enemy would be at position (400, 100), moving normalized at (1, 0) (to the right).
I'm at a complete loss on how I could implement such a steering behavior.
If it matters, I'm using Godot, so I have the built-in _process
with a delta time variable.