A project gamifying financial analysis for employees of a public-facing company
Carson Bates, Sidney Johnson, Zachariah Risheq, Han Lee
The inspiration for Puzzle Vault came from our love of escape rooms and trivia games. We wanted to create an engaging, interactive experience that combines the thrill of solving puzzles against the clock with testing your knowledge. Our goal was to gamify learning and problem-solving in a fun, competitive format.
Puzzle Vault is an online escape room time trial where players must search for objects hidden within a virtual room. After clicking an object, the player has to correctly answer a multiple choice trivia question in order to progress in the game. The player who completes the room and answers all the questions in the fastest time gets their name displayed on a leaderboard on the app's landing page. From this point it would be up to the employer to decide how to reward the person at the top of the leaderboard.
We built Puzzle Vault as a web application using React.js and Vite for the frontend UI, HTML, and CSS for styling. For the backend, we used Python and MongoDB Atlas as the database to store user data and leaderboard information. We also used The OpenAI API to generate the questions from a document.
One challenge was designing the virtual escape room environment and implementing the interaction for players to search for and click objects. Linking those interactions with pulling up the corresponding trivia questions also took some figuring out. Additionally, accurately tracking each user's elapsed time, handling the question/answer logic flow, and posting the times to the leaderboard.
We're proud of our use of MongoDB Atlas in Puzzle Vault.
Through this project, we gained more experience with React.js and frontend development. We also learned how to model and store data in MongoDB Atlas, as well as integrate it with the frontend. Designing the game logic and flow was a valuable lesson in planning and implementing more complex, interconnected app functionality.
We plan to implement more escape room environments with further varying degrees of difficulty. We also plan to implement a hint system to help players if they get stuck.