Inspiration
Our overall inspiration was from the math game, Prodigy. This game helped young students learn about math. We wanted a game that helped students in our outside-of-STEM fields learn about STEM-related subjects. We used Pokémon as an inspiration for the entertainment and gameplay side of our project.
What it does
Setting itself apart from other educational video games, LearnWars boasts a diverse range of STEM topics, including chemistry, biology, Python, Java, and many more. By offering this breadth of subject matter, the game ensures that students can derive maximum benefit from their gameplay experience, expanding their knowledge and proficiency across multiple disciplines.
How we built it
Behind the scenes, LearnWars employs a robust flask back-end framework, which provides a reliable and efficient foundation for the game's functionality. Complementing this back-end infrastructure, the front end of the game is built using HTML.
Challenges we ran into
During the development of our website, we encountered several challenges that required careful problem-solving and resourcefulness. Here are some of the significant challenges we faced:
Connecting Frontend and Backend:
Integrating the frontend and backend components of a website can be a complex task. We had to ensure effective communication between the two to enable seamless data transfer and functionality. This involved setting up proper API endpoints, handling data serialization and deserialization, and implementing appropriate request and response handling mechanisms.
Hosting the Website:
Hosting a website involves deploying it on a server and making it accessible to users over the internet. We faced challenges in selecting the right hosting provider and configuring the server environment to meet our requirements. This included managing server resources, setting up domain and DNS configurations, and ensuring security measures such as SSL certificates.
Manually Inputting Questions into the Database:
If our website relied on a question-and-answer system, manually inputting a large number of questions into the database could be a labor-intensive and time-consuming task. We had to explore efficient methods to automate or streamline this process, such as using scripts or importing data from external sources, to save time and reduce human error.
Setting up Websockets:
Implementing real-time communication using websockets can be challenging, particularly when it comes to establishing a bidirectional connection between the server and the client. We had to carefully configure the websocket server, handle incoming and outgoing messages, and synchronize data updates across multiple clients. Additionally, ensuring scalability and efficient resource utilization posed additional challenges.
Accomplishments that we're proud of
Our entire game is STEM related. The moves, characters, and questions are all STEM related which provides a more immersive experience for players.
What we learned
Our team members have skills they are individually good at. We also exchanged skills, for example, we taught each other new databases and ways to host sites.
What's next for LearnWars
LearnWars currently has no way to play alone. This is something our team wanted to fix by adding a way to play alone by lettings us play against AI, or through a campaign mode. Additionally, we wanted to improve the quality and quantity of the questions to allow for more learning.
Log in or sign up for Devpost to join the conversation.