I’m in the process of updating my Pathfinding system for unity to a new version
And I would like to get some new ideas on what to implement.
So here’s your chance to post what You really want to have in a pathfinding system.
Stuff which is already under development:
Throw in level to generate navmesh (ala Recast)
Multiple graph types working at the same time
Rotatable grid graphs.
So now it’s your turn, what’s going to be the next killer feature?!
There are only a things which I would likey to see
Recast alike navmesh generation method
Support for more than 1 nav mesh in the system
HPA* path search in case its not present yet. On massive single graphs and between graphs (much easier there naturally as the gates are clearly defined)
Graphs being stored distinctly so they can be load at runtime, for example a long a prefab - addon scene thats streamed in at runtime. The singleton nature of the path search currently is fighitng one here pretty badly.
The current implementation is great, except for 1 thing:
When the object is pathfinding anything further than 1 node away, if that one node is around the corner of a wall, they will always hit that wall.
A simple way to fix this, is to raycast to the selected node distance, and if something is in the way, reduce the node distance until nothing is in the way again.
Then, have the object recalculate to the final location again once it reaches this new node.
Obviously more complex than that, but it stops the ever present wall-humping I see with the current implementation.
Something I’d like is easier manipulation ingame, and the ability to easily have multi-level navmeshes without work around. Nav-meshing a 10 floor apartment, for example.
I’m a bit of a newbie so I don’t know much about your pathfinding…but can it already…
Form groups of NPC’s who are individuals, but create formations and stick to those formation. So the NPC’s individually adhere to one main NPC, who adheres to one large path.
In combat, all of these NPC’s break off and begin to form alternative pathfinding based on fighting enemys they have selected. After the fight, they reform into their groups and continue on their way.
Sturestone, a couple things I’d like to see, some of which I’ve mentioned before
user-defined penalties or penalty callbacks, which can vary per grid
-more docs of the internals! Your docs are good enough to get up and running, but getting into the internals is a little scary. examples:
a clearer way to halt pathfinding for an object. Right now I have modified the AIFollow script to ‘break yield’ from it’s Patrol coroutine, but I’m not really sure that is the way to do it.
a clearer example of communicating with the AIFollow from another object. I’ve hacked my own way to say ‘go faster, go slower’ etc., but again, not sure if I did it the ‘right way’
clearer example of how to detect when a AIFollow has reached it’s goal. Right now I check distance from goal, but I bet there is a better way to do it. (ooh, just saw HasReachedTarget)
I’ll be happy if you fix existing bugs in case they still pressent in your current 3.0 version.
For example, using waypoints lists, if a seeker goes below a waypoint (Y value), AstartPath throws a bunch nullref errors.
Also, try to make all of its existing features works. None of them exept List works for me.
Keep the hard work,
Cheers,