Inspiration
We wanted to be able to get First Years to have more fun while revising for DSA(Data Structures and Algorithms).
What it does
The program helps students revise for DSA by testing their knowledge with multiple choice and text-based questions, and motivates them to learn through the opportunity to initiate conversation with Mr. Algorithm and learn more about him and his (weird & wacky) life. The program opens into a fake desktop with the titular program 'Learn with Mr. Algorithm', which upon clicking on begins the revision process with periodic 'revision' and 'intermission' phases. Each revision phase has 5 questions based on a different DSA topic, with hints provided if you are stuck, and intermission phases allow you to talk to Mr.Algorithm more casually and learn about his life. Each conversation with him may increase or decrease your 'friendship level' with him, which affect dialogue outcomes and the information Mr. Algorithm wants to share with you. This gives students breaks between question sets to relax and focus on something light- good for revision- but it also gives them motivation to continue studying so they can unlock more dialogue options.
How we built it
The program was built entirely within Renpy (Python), and all art was made in the Krita drawing app, with no generative AI used at any point in the process. After the overarching idea and themes were decided, tasks were set and completed in chronological order alongside the game. Renpy is set up for "visual novel"-style dialogue and games; this made it ideal for our revision and social dialogue game as the pre-made features supported our time-sensitive development process. For example, taking advantage of the pre-programmed multiple-choice and text-based inputs were very useful when implementing revision questions. Each member of our group focused on a different aspect of the program; creating the dialogue (Kavi); writing the revision questions (Peter); creating the images (Ander); and programming the game itself (Spencer).
Challenges we ran into
Spencer: Renpy is not an easy SDK to work with, there were times throughout the hackathon were I considered changing the source code because it felt so restrictive. I was able to get around this in other ways (but will definitely submit a pull request on the renpy repo). Kavi: I had to learn how to write dialogue for the program and implement different paths and variables that can alter what dialogue is said. I struggled for a while with how to implement this but I got round to it in the end. Ander: My tasks took longer than others due to my design process and drawing speeds, so time management was a worry particularly nearing the last third of the hackathon. I've learned the importance of optimising drawing processes when under time pressure, and keeping things simple and systematic where I can. I was thankfully able to submit all my tasks with plenty of time, partially in thanks to my hack-mates as they were great motivators when I did not feel like I could complete it. Peter: I had to re-learn portions of Data Structures and Algorithms, and come up with questions that could be answered with a text or multi-choice input. It was a fun challenge writing questions made to be both solvable and useful to a revising DSA student.
Accomplishments that we're proud of
Spencer: I had to learn Renpy from scratch for this hackathon, and was successful in doing so. It should go without saying, but I also wrote all of the code myself, no generative AI involved. Kavi: I was really proud of the fact that I was able to finish the dialogue and seeing it used in the game. Ander: I'm quite happy with how the overall theme of the game turned out, I think it carries well and is sweet. Peter: I'm really happy with how the dialogue during the question section worked out. Mr algorithm gives unique dialogue for correct and incorrect answers, providing personalised feedback where necessary. This took a long time to devise, but I think it paid off well. Additionally, I came up with 10 DSA-related puns for the intermission sections, which I've really enjoyed seeing implemented :)
What we learned
We learned how to code in Renpy, how to write dialogue for different routes, code implementations of DSA content and setting problems for a suitable target audience, and optimising the creation of sprites and backgrounds.
What's next for Learning with Mr Algorithm
We have implemented 5 Topics of the 10 Topics within DSA. We plan to finish the game by adding in these other 5 topics and the intermissions between, expand on the lore behind Mr. Algorithm more, add in more varied music and add more interactables on the fake desktop.
Log in or sign up for Devpost to join the conversation.