Inspiration
We were interested in making a project that helps with accountability. Most current applications are very simple or don't have the convenience of a desktop application. It was also fun to have a game component.
What it does
Upon opening the application, the user can control a cat character that can navigate a map. There are multiple buildings, and once the character gets close enough they can enter the building. The buildings offer different functionality to help you study. Currently we have a Pomodoro building that has a timer and a number of cycles. The state of the Pomodoro is persisted even when the user leaves the building.
How we built it
TownTask uses C++ and Raylib/Raygui. We used ECS architecture, as commonly used in game development. ECS benefits from reusable objects (components) that allow us to easily add new entities like characters, houses, etc that benefit from these components. We also found some free assets and created some of our own, which work nicely with Raylib.
Challenges we ran into
It was hard to know where to start, as most of us were new to Raylib and ECS. It was hard to build up a good foundation to work with, because we had a lot of features we wanted to add so this was very important.
Accomplishments that we're proud of
The game has potential to expand on and add new things now that we have the basic ECS set up. It was very cool to make a desktop application which is unconventional for a hackathon. We also got to experiment with pixel art and UI/UX.
What we learned
We learned the fundamentals of Raylib/Raygui and improved our C++ knowledge. We also learned some UI/UX design and making/using game art (eg. spritesheets).
What's next for TownTask
We want to finish other buildings. It would also be cool to have a lobby system, so you could join a lobby and join your friends and do Pomodoro or other tasks together. We wanted to do face detection so we could see if the user leaves there computer and breaks there Pomodoro study time, and then the cat character gets mad/sad. Then if there were lobbies, your friends could see if you left too. We were also thinking about sending system notifications (eg. cat character asking what you are doing) if the user opens a game (so window detection) but that was getting pretty intrusive lol.
Built With
- c++
- raygui
- raylib

Log in or sign up for Devpost to join the conversation.