In #24 an idea of breadcrumbs was mentioned as a way to handle AI "memory" of where the player was at the last time. One special breadcrumb could be the Last-Known-Position" (short: LKP).
My idea was that we could design the breadcrumbs as nodes that are "spawned" by the player node when they leave the enemy vision cone a final breadcrumb is spawned as the LKP. These breadcrumbs are only visible to the chasing enemy of course. Thus we only really need one bread crumb and just make the enemy navigate towards the player if the enemy sees them. But I would not be opposed to implement an Array of breadcrumbs, maybe we could use that for something fancier in the future. So here is my idea broken down:
[ ] implement breadcumb class/node
[ ] implement ai to prioritize breadcrumbs over usual patrol. Or switch AI state based on whether breadcrumbs exist
[ ] when player leaves vision range, leave a breadcrumb for the given enemy
[ ] when enemy has no breadcrumbs left to investigate return to patrol(-state)
[ ] when enemy is investigating breadcrumb and gains line of sight with the player, remove all uneeded breadcrumbs
This is just a proposal, feel free to leave feedback or close issue as not planned if you want to implement it differenty
In #24 an idea of breadcrumbs was mentioned as a way to handle AI "memory" of where the player was at the last time. One special breadcrumb could be the Last-Known-Position" (short: LKP).
My idea was that we could design the breadcrumbs as nodes that are "spawned" by the player node when they leave the enemy vision cone a final breadcrumb is spawned as the LKP. These breadcrumbs are only visible to the chasing enemy of course. Thus we only really need one bread crumb and just make the enemy navigate towards the player if the enemy sees them. But I would not be opposed to implement an Array of breadcrumbs, maybe we could use that for something fancier in the future. So here is my idea broken down:
This is just a proposal, feel free to leave feedback or close issue as not planned if you want to implement it differenty