I looked into flow field pathfinding(after reading about steering behaviours) and it seems that it's mostly used for RTS games. I understand why, but wouldn't it also work for an action game with a single player character? It wouldn't be efficient, sure but it makes using steering behaviours easier to use. I could precalculate obstacles based on static colliders in the scene. And I can calculate the a vector towards the player for seek behaviours every frame. And reuse that for every enemy.
I could then use inverse of the vectors for flee behaviours and make that avoid obstacles as well.
If I wanted to steer a character perpendicular to the player, maybe I could rotate the vector in the field 90 degrees to obtain that?
Of course this approach would not be valid for other behaviours. Like for pursuit you would need to calculate another vector field for the future position of the player. Unless there is some mathematical way to shift a flow field if the center(where the arrows converge) moves.
I dunno how you would add local avoidance. Maybe keep track of enemy positions on another vector field and take that into consideration.
A* is no doubt efficient and popular. But it does not work well if the agent has target velocities instead of target positions (like from using steering behaviours). And A* also has the problem of being too good(perfect paths => too robotic).
Anyways, that's enough rambling from me. What do you think?