I'm enjoying the speed that the built in astar implementation provides but I'm running into a limitation which is quite easy to implement if it were a custom implementation.
On a large, or complex map it is often beneficial to have path finding be "tiered" where you have an initial much lower resolution grid. In my case I have a lot of rooms separated by doors and I'm finding out which doors it is necessary to go through in order to get to the specified room. Then whenever they reach a door they just need a more detailed path to the next room.
I hope that makes sense. This way if a door stops working or is destroyed for example, I can quickly recalculate affected agents without needing to recalculate a large amount of information.
In order to do this path finding needs to begin and end from several different possible locations. The room the agent is in might have several doors and so does the target room. So I want to be able to say "start from any of these points and go to any of these points." Similarly when doing the more accurate path finding through the room I want any of the nodes that a door occupies to be a suitable node to stop.
As opposed to the agent always needing to path to the centre of what might be a large entryway.
I could add an additional node inside of each room that connects to all of the doors of the room, and then ignore those nodes in the result. Similarly a node at every doorway that connects to all nodes the doorway occupies. Is this the correct approach?
Any chance that we can have pathfinding accept multiple start and end nodes? :)
Because in the implementation it's as easy as searching whether you are on any of them, as opposed to specifically being on one of them. Just a thought, and it's something I'm trying to solve currently. I'd like to avoid using my own implementation because I think performance would suffer.