We wanted to build something technical and algorithm related, while at the same time having fun. Our solution was to try to create a visualization of pathfinding algorithms that we could eventually turn into a game. The game part didn't fully happen but having the visual aid and pathing showing up in a window made it very enjoyable as we experimented.
What it does
We wrote 3 separate pathfinding algorithms: BreadthFirst, A*, and Dijkstras. The user is able to draw walls that act as obstacles, and then watch each one path to the middle of the screen around those walls. The algorithm in the bottom right is a control that moves randomly to demonstrate how useful the pathfinding is.
How we built it
We used Java Swing to create the windows and graphics, and then pure Java for the rest.
Challenges we ran into
As nobody in our group had ever actually written a pathfinding algorithm before, it was quite challenging to learn how they worked and then to write and implement it into our own code. Additionally, we had members who were unfamiliar with Swing at all and getting their grasp on that library was also a big step.
Accomplishments that we're proud of
We made all of them work! And they look cool.
What we learned
We learned a lot about the basic structure of algorithms and nodes, as well as some basic game engine design for the future.
What's next for Pathfinding Visualization
We haven't given up on our original idea of turning this into a game! We hope to make each path that the algorithms create into a road enemies travel along, essentially building a tower defense game.