Is it worth it to make custom Navigation Mesh?

Hello everyone!, totally not related to my previous post or anything that might have suddenly sparked a possibly short living AI interest in me or anything :eyes:, but i know Usually that using Navigation Mesh “based A-Star” is beneficial over using standard Grid based A*, but is it really something that is worthwhile in roblox especially when limited to simple geometric shapes such as wedges, cubes, spheres etc.? Has anyone ever tried to implement this into Roblox? How is the performance? i am aware that roblox does use Navigation mesh/voxel Path-finding for the path-finding service, but there isn’t any way to “use” it, which is why i’m thinking about the benefits of custom Navigation Mesh.

Note: i’m not looking how to make it , i’m really just wondering if it’s “worth-it in roblox” and about its performance and stuff, my own speculations lead me to believe that it’s ok performance wise if implemented correctly , but i’m not sure about its practicality.

1 Like

It can be worth it, even required for some level geometries. I made a horror house game where an NPC hunts down players. Roblox’s built-in pathfinding worked acceptably outdoors, but was not flexible enough for the NPCs to navigate the inside of the house. It was not easy enough to adapt the pathfinding to work with things like locked and unlocked doors, and the pathfinding was doing some derpy things like generating nav mesh under tables where no one could actually fit. I also wanted different behavior than just shortest path, so that the antagonist could randomly try heading off a player rather than simply following them.

So indoors, the NPC switches to using a manually-placed navigation graph (not full mesh). I manually placed waypoints in doorways and in convex regions of traversable rooms and along hallways.The NPC uses these waypoints in the same ways the ones the Roblox pathfinding computes from the nav mesh. For this kind of system, performance is not a concern.

8 Likes

Thank you this is good to know, i havent really thought much about using a combination of the pathfinding service and manually placed nodes/waypoints like the way you have stated above. in fact i haven’t really thought much about nav graphs in general up until now.

But I have another question if you dont mine me asking, Do you have any input on dynamic nav mesh/graph generation? In cases where it might not be practical to place nodes/waypoints manually.

Hehe, my input is that it’s a super-hard geometry problem with not a lot of examples in the literature, apart from some circa-2000 and 2004 examples in Game Programming Gems 3 and a few GDC talks. Dynamic generation that handles real-time obstacles (things moving in the world) is a worst-case scenario.I personally wouldn’t want to take that on, it would likely be too much work to the point of making me lose interest in whatever game it was I thought I needed it for. Letting the perfection of one subsystem of a game consume all your time is an easy way for a game to never escape the work-in-progress stage.

3 Likes