Pathfinding needs an ignore list argument

I’ve already seen a thread about the same issue, But it died without any admins responding to it, so here I go again B)

Currently in my game, I’m trying to create NPCs who follow the player, and are able to open doors if doors block their path.
Now, this is currently impossible as If I have a door, the pathfinding will think its an obstacle and return “ClosestNoPath”.
Like this:

I can think of endless similar issues where you have something you want the pathfinder to ignore BUT YOU CANNOT because pathfinding DOES NOT HAVE AN IGNORE LIST. This is seriously limiting the use of the PathfindingService.
I would simply not complain about this and use my own pathfinder instead, but my own pathfinder requires me to place nodes manually and it would take a lot of time.

I really suggest you guys add something like this, where you can set a table of objects and their descendants for the pathfinder to ignore.
FindRawPathWithIgnoreListAsync(Vector3 start, Vector3 finish, Float maxdistance, Objects ignoreDescendentsTable)
FindSmoothPathWithIgnoreListAsync(Vector3 start, Vector3 finish, Float maxdistance, Objects ignoreDescendentsTable)

Or you could not add any new methods and you could Just add the ignorelist argument to the current methods.

Q/A:
“Why use doors?” - My game is a survival shooter where you can weld doors shut to hold off enemies. It’s a must have game mechanic.
“Why not use FE client-sided doors?” - Nothing level related should be handled on the client. Ever.

11 Likes

I was just thinking this would be nice yesterday while playing Hallow’s Eve. This is something that I would really like to see done if possible.

Don’t forget to ask for the opposite feature as well. It’s currently impossible to make AI’s that can jump over a gap. Having unCanCollided Parts be counted as CanCollided Parts would be really useful. It’d make it possible to make an AI that jumps over a gap by just adding a Transparent Part with no collision to the gap. Then add two Touched triggers at the edges of the gap to make it jump and tadah! you have an AI that hops over gaps.

2 Likes

I agree that this is a much needed addition to the current system.

For the time being, you could use Filtering Enabled to make doors for the clients and keep the areas open on the server.

1 Like

The ability to prevent the path from generating on top of certain bricks or terrain cells would be nice too. It would be useful for pedestrian AI and making them not walk into the street.

2 Likes

[quote] I agree that this is a much needed addition to the current system.

For the time being, you could use Filtering Enabled to make doors for the clients and keep the areas open on the server. [/quote]

I just feel like I shouldn’t go through all the trouble. I mean I am using FilteringEnabled, but nothing in the level that affects gameplay should be handled on the client. It’s just a rule I have and I’m not breaking it for anything.

[quote] I agree that this is a much needed addition to the current system.

For the time being, you could use Filtering Enabled to make doors for the clients and keep the areas open on the server. [/quote]

I just feel like I shouldn’t go through all the trouble. I mean I am using FilteringEnabled, but nothing in the level that affects gameplay should never be handled on the client. It’s just a rule I have and I’m not breaking it for anything.[/quote]

I understand that. Hmmm, my only other suggestion would be making a duplicate of the basic level geometry, running the pathfinding there, and then offsetting the found path onto the actual map and account for interactive map elements then.

[quote] [quote=“TheNickmaster21” post=104995]I agree that this is a much needed addition to the current system.

For the time being, you could use Filtering Enabled to make doors for the clients and keep the areas open on the server. [/quote]

I just feel like I shouldn’t go through all the trouble. I mean I am using FilteringEnabled, but nothing in the level that affects gameplay should never be handled on the client. It’s just a rule I have and I’m not breaking it for anything.[/quote]

I understand that. Hmmm, my only other suggestion would be making a duplicate of the basic level geometry, running the pathfinding there, and then offsetting the found path onto the actual map and account for interactive map elements then.[/quote]

Good Idea, started doing this right away

However this should not be the way to go around it. It should be supported in the API.
And besides, with larger maps it can get kind of hard to have 2 versions of the map.

This would be really helpful.

Nothing? Sorry for bumping but I just wanna hear the official opinion on this

quick question – are you pathfinding on the server or client?

Originally on the client, but I changed the system to the following, and I’m currently testing it:

  1. Zombie spawns
  2. Chooses target
  3. Pathfinding is set to run on target client

This divides the enemies pathfinding on several clients reducing load

Hrmmmm

Perhaps you could move all of the doors up 50 studs, pathfind, and then move back down 50 studs until the ignore list is finally added? It would only move on the target client (since that’s where the pathfinding is being done), and I don’t think they’d be able to see such a quick movement.

[quote] Hrmmmm

Perhaps you could move all of the doors up 50 studs, pathfind, and then move back down 50 studs until the ignore list is finally added? It would only move on the target client (since that’s where the pathfinding is being done), and I don’t think they’d be able to see such a quick movement. [/quote]

Don’t you think that’s still way too annoying rather than having an actual method?
Raycasting has ignoring.
I can think of many other cases than just doors which need ignoring.

Why is this not a thing yet?

1 Like

bumping because nothing was ever heard from this

I think CollisionGroups could be used instead, now that we have them

3 Likes

CollisionGroups could solve your issue. We also have some things coming soon that should address a lot of Pathfinding issues.

1 Like

Sorry for necrobumping, but was this ever looked into?

4 Likes

This is still very much relevant. I’ve seen people running into issues with this and I am now as well. I have to make a copy of the map to pathfind on :confused:

4 Likes