The Roblox pathfinding system is good for reaching static targets, but it is hard to use when following dynamically moving targets.
One of the issues that I had is that if you want an npc to follow a moving target, it can never truly outrun or reach the target, since the space between the path waypoints is relative to the target’s speed if you are constantly redrawing the path. So if you have a monster that is walking at 30 SPS and a human that is walking 16 SPS the monster wont be able to outrun him since he will just have to stop once he gets close to the human and wait for the next waypoint. This frustrated me so much and I could not find a legitimate workaround without sacrificing the obstacle avoidance property of the pathfinding (which is kinda the whole point).
But on the other hand making a pathfinding system requires a lot of math knowledge (which I do not have) , so I was never able to fully make a pathfinder as I wanted to.
Depends on how much better you are than the Roblox engineers
It probably depends on the type of game, but I’m using A* for a tile-based game I’m working on and it’s going much smoother than when I’ve used Roblox pathfinding for similar things in the past. You can explicitly say which areas are pathable and what isn’t more easily which can be very helpful. I don’t have any numbers to compare but it seems to be similar if not less cpu-intensive.
I don’t agree with this, for a fast dynamic nav mesh based pathfinder I find it does a pretty amazing job. If your map doesnt change at all and you don’t mind sacrificing some more realistic routes you can get away with doing a simple node based system .
Biggest downside I see to the pathfinding service is you can’t give paths a whitelist or ignore list
The Roblox path finding system is very good at what it was designed to do. The problem a lot of developers run into is that it is not very customizable.
To answer your original question. It is very practical. That 100x100 node array took like .03 seconds to find the path and I did another with 500x500 that was .12 seconds to solve. And there were still plently of optimization techniques I did not implement.
By the way for all of you who don’t know, you CAN now specify the agent height and radius with pathfinding service now. It was the only reason I couldn’t use it before
I’ve created my own A* pathfinding system, I’ve recorded it on youtube as a serie, sadly I stopped working on it and worked on other things.
Now my A* was suprisingly fast actually, but it used actual parts and the code was kinda messy. If I had optimized it and didn’t use bricks, it could end up being even faster.
I believe, if you do it correctly you can come up with a really fast pathfinding algorithm.
Let me find some real quick, I’ll edit the post once I found it.
(Short question, why not use Region3 to detect a dot near the player? That shouldn’t take up 5%)