Inspiration
All of us are enrolled in CS010c this quarter, so we wanted to start learning some data structures and algorithms in advance. This project evolves breadth-first search and queues.
What it does
The user has to try and find the shortest path between the mouse's starting position and the destination. In addition, the computer also comes up with its own shortest path, and the player has to find a shorter path.
How we built it
Using the tools of c++, game maker language(GML), Game Maker Studio(GMS). The visual assets such as the mouse and the maze were made in GMS. We first coded the logic in c++ then manually translated the code into GML so that we could code the game in the game maker studio in order to easily control the created visual objects.
Challenges we ran into
Since we just enrolled in CS10c, we are not very familiar with many algorithms and data structures, so implementing the breadth-first search and queues took longer than anticipated. At first, we all took out ideas to the whiteboard and drew out many different scenarios, game objectives, and level designs to decide what we like best (check photos for example). One of the most challenging parts was getting the walking step-counter to work properly while running the breadth-first search algorithm. Also, it was very difficult to get the animations of the mouse moving through the maze and the assets to load in the right slots in the maze.
Accomplishments that we're proud of
We are proud of the fact that we are now better equipped for CS10c since we have done more research on algorithms and data structures from this project. We were not afraid to ask for help when it came to getting advice from the mentor on the best approaches to take. Our level designs are also well designed, fun, and creative.
What we learned
Next time we should use the A start algorithm instead of the breadth-first search because with bfd we were not always getting the short path for that maze. Due to this, we changed our game objective to try and beat or match the computer's algorithm.
What's next for EinsteinMouse
Next time we will allow more functionality for the user by allowing them to choose the initial position of the mouse and the destination. Also, we would like for the user to be able to make their own mazes.

Log in or sign up for Devpost to join the conversation.