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.

Built With

Share this project: