Improving Pathfinding Quality With New Algorithm

Since this is related: Could we have support for an “AgentCanDrop” parameter?

9 Likes

you can control the jump height from the humanoid it self

I’m talking about jump height that pathfinding considers a viable path, not the capability of the humanoid.

2 Likes

Really appreciate that there’s a lot of improvements!

I got excited to try it out and found this bug where a path was generated through a gap that’s too small for the agent radius –
image


Making the radius smaller (that would fit the gap) actually made it hug the walls better:


Radius of exactly the same size as the gap generated this:
image


Finally, making the radius bigger than the gap generated a path that really marked it as untraversable


Here’s the repro file
PathfindingUseImprovedSearch - gap bug repro.rbxl (53.6 KB)

5 Likes

Thanks for the repro. We will investigate

7 Likes

THANK YOU SO MUCH TO THE ENTIRE TEAM THAT WORKED ON THIS :pray::pray::pray::pray::pray::pray::pray::pray:

You have no idea how much time I spent trying so many solutions to get pathfinding to not suck, and usually eventually give up and gave restrictions to map builders on what they can or cannot do for pathfinding purposes

THANK YOU!

5 Likes

WOOOOOOOO! Roblox is really cooking!

1 Like

Will pathfinding API safe to call in parallel?

2 Likes

such an out of the blue update but this is awesome! keep up the great work

This update is a REVELATION for us developers!!!

I’m very excited with this news and I’m sure everyone else here is feeling the same way. I will be putting this straight into my game.

Are we getting the name of the new algorithm anytime soon? @watIsInTheName

1 Like

How did you get that UI in that image?

Roblox, are skinned meshes ever getting ragdoll support without having to divide them into 15 parts?

1 Like

This is awesome. :slight_smile: now I can finally add an entity to my infinite maze generation game without using my old hacky attempt at getting the nearest path.

This plugin by tyridge77

1 Like

I really agree with this, maybe adding a tab into the GameSettings menu. having so many things that are almost always going to be “Default” as a property just clutters the properties menu. Another option I was thinking, was actually having them within their own drop down within the properties.

Overall, this is an amazing update, since I’ve tried doing maze pathfinding, and pathfinding on terrain, and I’ve come across almost all of the issues that were addressed

Pathfinding (and I would think Nav Mesh generation) is done on a separate thread.

It is not using “Parallel Luau” because it’s not implemented in Luau :upside_down_face: But it is parallelized.

1 Like

This is outstanding!
I’m very excited to use this updated algorithm in my games!

Partial paths are now a thing? Maybe its worth to use PathfindingService now!

Tried this feature out a couple hours ago in a few places of mine that have heavy use of NPCs in ways that don’t rely on a player (ie, I was just using Test Server with no clients)

Performance-wise it seems better. I was still seeing NPCs running into walls like before (might be an issue on my code’s part, my games’ maps are randomly generated so navmeshes are out of the question afaik)… and most notably, with the setting enabled, the test servers would just randomly close after about 10-15 minutes. Not sure if it’s a crash since it wouldn’t freeze up or anything prior, but if there’s some way I could privately send the files of the games this happened in to some Roblox employee to take a look at, I would like to know how to do so.