Inspiration
Everyone on our team has tried endless apps and supposed hacks to create and hold habits, but nothing seems to stick. When reflecting, the times in our lives when habits were strongest was when we were held accountable by other people. Organising to run with a friend is much easier to commit to than organising to run on your own. We wanted to create an app that brings this element of accountability and community to habit building with cozy vibes, and thus, It Takes a Village was born!
What it does
It Takes a Village contains menus to navigate player selection and learn about the game. The game itself has the player walking around their cozy village using their keyboard. They interact with the houses, each of which corresponds to a habit of the group's choosing, to upload photos of themselves completing the habit. When the habit photos are regularly uploaded and approved, the houses stay happy, but when photos and habits stop being completed... ruin awaits. Working together as a team to support each other and keep the village thriving means habits are no longer the struggle they used to be. Some might say they are now fun!
How we built it
We built our project using C++ and SFML. We split up the workload, designating everybody a task like creating graphics, sorting the file storage system, enabling the screen to scroll when the character walks, and creating the functionality of our menus, to name a few. We worked by moving from task to task before we integrated it all together to create the final game.
Challenges we ran into
- Our biggest enemy in this project was time, but we came in prepared (at least we thought) to face that.
- The file system was quite challenging. Identifying a way to label, sort, and store files for use in each habit house's gallery was a lot more complicated than we thought it would be.
- Working to get a complete asset library of textures for all of the objects was intense! You don't realise how many parts there are to a game until you have to draw all of them.
- Pesky errors that we struggled to get to the bottom of that stopped our code compiling or branches merging were quite stressful, but a sadly necessary part of the programming experience.
Accomplishments that we're proud of
This was our first hackathon, so there was a lot that we were super proud of and have inspired us! Our graphics were super cool, though we definitely underestimated how long it takes to create a complete world out of pixels, but we love the vibe it created and that 95% of the graphics we wanted to include are there to a high standard. Getting most of the functionality up and running was amazing. Lots of small things like the way the buttons increase in size when you hover and the navigation of buttons in the gallery brought us lots of joy!
What we learned
We learnt a lot about hackathons and the schedule we need to stick to. The dependency of some tasks on other tasks was something that made our time really challenging, as people had to re-delegate tasks on the fly when they realised they couldn't be doing what they wanted to. We learnt about c++ a bit more, including when we are actually supposed to be using 'const'. It was also great to learn about how coding in a team works, developing our skills with git and merging branches.
What's next for It Takes a Village
We are really excited to build it further as we all agree that we would love to convert it into a mobile app. We want to properly implement all of the network and photo sharing functions so that it can be accessed from different devices and played simultaneously.
Built With
- c++
- sfml
Log in or sign up for Devpost to join the conversation.