As a developer it is currently hard to use PathfindingService for anything other than mimicking player behavior. I’m currently working on a game that has zombies, I want my zombies to:
- chase and attack a player if they see them
- find and follow paths to points of interest
- not jump
Currently pathfinding does not allow me to turn off jump nodes in a path, this results in paths that my zombies cannot follow because their behaviors don’t match the path finding behaviors. See:
the path above should have told the zombie to walk around the stairs (they’re hard to make out as stairs, sorry!), instead the system assumed the object following the path can jump, so it tries to go over. The zombie gets stuck.
This path is a similar case to the first, but it should have resulted in a failure to find a path, not a completed path.
An example of a path that again cannot be followed by something that can’t jump. What should have resulted in a failed path resulted in a long and extreme case of jumping being favored heavily.
Not only does PathfindingService assume the jump power of whatever is following the path, it assumes it can jump in the first place.
If addressed my zombies would be able to better find paths to locations they can actually reach. I wouldn’t have to sanitize paths of unreachable points, and I wouldn’t have to be concerned with strange paths that shouldn’t be computed in the first place.
Not to mention if this addressed it opens up path finding for usage in so much more than just NPCs that can jump. Cars, robots, map GPS systems, anything that could use a path.