Inspiration

Our inspiration was to make learning and practicing math fun for students. We took inspiration from a popular game series called Dark Souls, and designed our math website around the mechanics of the game, which is grinding for "souls" and fighting bosses. We also drew inspiration from the high difficulty of Dark Souls, forcing players to fight bosses over and over until they become really good at it. We took this approach for our project, ensuring that the students who try it would get good at math.

What it does

Players "fight enemies" by attempting math questions in different categories. They can either grind on normal questions, which allows players to practice certain math questions without any punishment, and also a boss mode, where it is a gauntlet of math questions where getting a couple wrong will cause you to lose and you would have to restart. The more questions you are able to answer, the harder topics you will be able to unlock.

How we built it

For our frontend we used react as your framework, building JSX components and styling with CSS. For our backend we used a math question library with flask, written in python, where it would generate a math question with the solution and send it as an API to our frontend as a JSON, where we could use that data for the website.

Challenges we ran into

Some challenges we ran into cross using the API with react. We were able to figure that out using a CORS library for python. We also had problems with the boss mode game loop, generating the right questions and solutions for the user. The hardest was checking the answers, making sure there was some grace for the users and also that the answers that they input would be accurate as well.

Accomplishments that we're proud of

We tried to match our UI to that off Dark Souls, and I think we did a good job, especially for the boss gauntlet where there is the boss name, health bar, player life, and even past messages from users that have completed that certain boss.

What we learned

We learned how to make our own API with flask, which is completely new to us, and we also learned how connect our database and API with our frontend. We also had team members who learned react for the first time, and how to build a UI.

What's next for MathSouls

MathSouls could be expanded a lot, which includes player vs player, more math categories and harder questions, and more game modes including endless and one shot. There could also be UI tweaks, such as responsive design and even design it to work for mobile.

Built With

Share this project:

Updates