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 ). The icons are also in order of the sections. (Node - Connections - Clear - Run(Find Path))
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.
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.
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!