Recently, teachers have struggled to engage students in Zoom school. Kids mute their mics, turn off their webcams, and disconnect. In order to engage students again, we need something fun, something that speaks their language-- that's Learning RPG.

What it does

Learning RPG is for teachers and students! Easily reinforce knowledge while engaging students in a new fun way. This is a Python Discord bot with one-click implementation into classroom Discord servers, making it really easy for teachers to use for their tailored curriculum, while really fun for students with gamified fun mechanics like 'streaks' for answering reinforcement-learning questions correctly.

How we built it

This Discord bot was scripted in Python with MongoDB used in the backend. Heroku was used for hosting the Discord bot. For the teacher interface, this was purposely designed to be as low-friction as possible, so the Google Drive API and Google Sheets API were perfect in the teacher perspective implementation (pictured in Image 5 below). For the student perspective, it is extremely intuitive and easy to be engaged with exp, gold, and streaks (like Snapchat!) for answering questions. For this hackathon project, it was scoped to 3 disciplines: Math, History, and SAT Vocab.

Challenges we ran into

The biggest challenge was in adjusting scope when a full-on RPG with custom graphics manipulated by Python PIL in 24 hours was too ambitious. While it makes sense for people to want to make something of their own that looks nice, a polished look is easier accomplished when a project is of smaller scope, and in retrospect, the simplicity of this game with less noise/distraction may have played into its favor. Small decorations with emojis, markdown formatting, and fancy Discord embeds look pretty!

Accomplishments that we're proud of

Really proud of my code structure since I purposely made it easy to understand and well-sectioned, with little redundancy while coding. For example, whether a person pulls up a math, history, or vocab question from a different Google Sheet tab, the code is particularly efficient there and a lot cleaned than any old Discord bots I've made past.

What we learned

I learned about MongoDB and manipulating databases, collections, and documents. I also learned about creating fun mechanics instead of overly complicated ones-- things as simple as streaks, which are really fun and effective at engaging and re-engaging people.

What's next for Learning RPG

I'd love to add more in-game items that can occasionally drop if people answer questions correctly and are above a certain level! These items could give more multipliers on rewards (eg: give extra time to answer questions or start a difficult bonus round). For the social aspect, I'd also like to encourage students to interact with each other more on the class Discord server with the ability to trade items/collectibles.

Built With

Share this project: