Feedback - Path Finding Project

Hello!

My name is Xo_doz and over the past 2 weeks or so, I have been working on a path finding project from nothing to something. I have always been interested in path finding, but I never thought about using it. As I thought about a game idea I may want to pursue, I realized the ROBLOX Path Finding system isn’t what I wanted to use and wanted a node-based system.

Check out this place if you want to check it out. I know my UI is garbage, but I did my best for the time.
Click the drop-downs for more information or images/videos. Currently I only have the system working for PC (sorry), but I fully intend to keep working on the project and possibly make mobile/xbox controls.

More Dev Information

I started the project about 2 weeks ago and began looking for how I wanted to create this system as I had never dealt with a project like this before. I ended up finding out about:

  • Dijkstra’ Algorithm

  • A*

I didn’t know anything about either and was going in blind. I originally started my project using Dijkstra, but I got confused so I switched to about a day in. As of now, I think it is the better choice, but I still found difficulty making the program. I ended up reading about it and watching YouTube videos until I finally understood.

As I eventually got the path finding itself working, and showing the path, I began to rework my system into what it is currently. I ran into a kind of major bug that I couldn’t find the source of even looking at the error message. If you want to see the DevForum post I made about it check it out here and major thanks to @imalex4 for posting a suggestion that eventually led me to finding my solution.

After solving that, I eventually reworked my entire UI based around TopBar+ by @ForeverHD and the project is now at this point in development.


Images/Videos

The following is just a picture and video of my current icons created by TopBar+ (I wish I could make the video frame smaller :frowning: ). The icons are also in order of the sections. (Node - Connections - Clear - Run(Find Path))
handlingIcons

Icon Video


Node Editor

My Node Editor is how you create/delete nodes. I intend to add more functionality later such as seeing positions, connections, and custom node naming. Here are videos of me using the system:
I know the cancel cuts out but trust me it works

Node Create

Node Delete


Connection Editor

My Connection Editor is how you create/delete connections to nodes as well as there is a 3rd way to accomplish this. I intend to add more functionality to this as well later, but I’m unsure yet. Here are videos of me using the system:
Video 3 is the 2nd way to delete connections using the Node Editor

Create Connections

Delete Connections 1

Delete Connections 2


Clear Map

The Clear Map section is how you delete all current nodes and connections.
clearMap


Find Path

The Run System (or Find Path) will be where you can choose settings (currently only picking the start and stop) and run the actual path finding system.

Find Path UI

Clicking [Pick Points] allows you to pick the start and goal of the system, but it clears if you got to edit nodes or connections in case of removing a chosen node. Clicking [Find Path] without picking the nodes will generate a random start and goal.
runMap

The next three videos show the Pick Points system and 2 random generations. [Note the solution/path will always show for 7.5 seconds].

Pick Points System

Random 1

Random 2


Firstly, I know it is kind of a long post and sorry if I shouldn’t even be posting it here. (if this is the wrong place please message me the correct location and I will move the post, thanks) I do want to expand the project and challenge myself more. I already have a few ideas and would love to hear more. I would also love to hear feedback / suggestions / bugs that are encountered (thanks to @Zo_dox for being a test dummy so far). Thanks for reading this long and weird Cool Creations post!

3 Likes

Hello! Despite me not being a scripter nor anything like that, I feel that it runs smoothly if you do the whole thing correctly, I’m not sharp enough to criticize more, but I feel that this is revolutionary. This is something that could be very useful for many, utilizing functions that are hard for people to understand. I believe that it’s a smart choice, and I’d be glad to see it translated into a roblox character’s pathfinding aswell. Keep up the great work!

2 Likes

Yeah, as one of the “settings” I want to add to the Find Path UI, I want to be able to make your character or just a rig walk the other, or have multiple characters request a random path with their own A to B.

That was my initial goal for this was to be able to do that, but I now want to challenge myself and see what I can do with it. I’d even be able to import a map and run it in studio and get a data folder I use and move it to a game where I use that map.

I have a few ideas but I don’t have much time for a couple days. I definitely want to improve the UI slightly.

1 Like

I indulge you to continue! I can see this being used by the many if you hit it off, just don’t give up man!