So I’ve got a simple 3D arcade type fps where once enemies spawn they immediately move towards the player using navmesh. Works fine when the player is on the ground and navmesh can work a path to the player. Problem is I have floating platforms the player can jump around on and once the player is on a platform the enemy just stands there I’m assuming because navmesh can’t work out a path to the player.
I’m more or less wondering how others have worked out their AI logic so that the enemy does “something” when the player can’t be reached instead of just standing there. If the player is out of attack range It’s literally like shooting fish in a barrel and easily exploited.
My simple AI currently has Attack and Follow states. And a raycast to determine if the player is in line of sight from the enemy and to switch from Attack to Follow if the player is not in line of sight.
My thought is either increase attack range so at least the player can’t just shoot enemies from a platform at a distance without the enemy firing back. Or to have navmesh check if the path it’s trying to generate can be reached or not and have it move to player if it can and “else” if it cant. Maybe some empty game objects used as a sort of “if I can’t reach you I’ll move here instead”. Or have it wonder around aimlessly if the path can’t be reached. Not sure. Would love to here any other idea’s.