Inspiration
Our group was trying to come up with a idea to match the theme, "make something boring fun". We realized that as a student, no matter what, student will have to study or complete tasks for courses. That why we developed StudyPet, a virtual pet that can level up and get item when student finish a assignment or study.
What it does
StudyPet is a virtual pet that has a health meter, hunger meter, and mood meter. The StudyPet has a leveling system. If the health reaches zero, then the user loses their pet and has to raise a new pet that starts at level zero. The virtual pet can only be fed and have their mood remain good if the user completes items on their to-do list on Infrastructure Canvas. Completing tasks will reward the user with Apples and Balls that the virtual pet benefits from. The virtual pet will constantly gain hunger, decrease mood, and/or decrease health unless the user has no tasks in their to-do list.
How we built it
An HTML file that holds the container for the pet. A CSS file that brings life to the StudyPet. Multiple JavaScript files:
- One file that checks for completed task from the to-do list
- One file that handles the behavior of StudyPet.
- One file that saves the status of StudyPet.
Challenges we ran into
We had to think of a work around after finding out that we do not have access to the Infrastructure Canvas API to implement StudyPet.
Accomplishments that we're proud of
We are proud that we implemented a virtual pet
What we learned
We learn alot about developing with JavaScript and HTML, especially different HTML library
What's next for StudyPet
- Making StudyPet interactive with user
- Implemented a LLM into task. Instead of user creating a task for study, user can upload class note, get it parse, and answer question from LLM that is based on the class note.
- A leaderboard for longest living StudyPet
- If possible, get access to Canvas API, to actually be able to automatically added task for user
- Different pets that the user can select from
Log in or sign up for Devpost to join the conversation.