Inspiration
We were inspired by the "chaotic evil" category of McHacks. We were looking to create a fun, and relatively simple-to-implement app or game that encapsulated chaotic evil energy in a cute and wholesome way. One of our teammates had the idea of an evil fortune cookie; inspired by the time she made homemade fortune cookies with her family and all her family members put insults in the cookies for each other. We thought that an evil fortune cookie would be a perfect way to put a fun twist on a simple object we are all familiar with.
What it does
Our "unfortunate cookie" is an app with an animated graphic of a fortune cookie that generates evil fortunes when you click on it! The cookie zooms out and in, and animated cursive text appears on a scroll. There are 15 different "base" fortunes that are generated at random. We have a .pkl file containing a dictionary of various words that are used to fill in corresponding parts of speech in each of the fortunes that are left blank initially, resulting in many more word options to predict your unfortunate future!
How we built it
We built our program in Python with using a downloaded software called Kivy to implement our graphics and animations. First, we focused on creating an algorithm that would successfully generate evil fortunes in as random a way as possible, so even we as creators would have no idea what fortune we would get. Then, we used Kivy to present our fortunes on a screen. We gradually spent time to make improvements on our program by adding a fortune cookie graphic, a scroll, adding animations, and changing colors.
Challenges we ran into
Our most difficult challenge was figuring out how to use graphics. Nobody on our team has worked with Kivy or graphics in Python before, so we had to teach ourselves a whole new library of methods and functions while forming our project. Another challenge in particular, was figuring out line wrapping for text when our fortunes were too large to fit within our scroll. We also struggled a bit with the coordinates of our images and graphics in Kivy, as the Kivy grid is not a regular x,y plane and all coordinate values are between 0 and 1 for what we were working with.
Accomplishments that we're proud of
We are very proud of managing to successfully implement our solution exactly how we envisioned, despite the struggles we ran into. Being "newbies" to hackathons and fairly new to CS in general, successfully creating a graphical representation of our algorithm through Kivy was extremely satisfying, especially given such a short amount of time to create a project.
What we learned
We learned how to use the Kivy framework of Python and implement graphics. We learned how to brainstorm and create a project by ourselves under a time constraint, something brand new to all of us team members. We also learned how to use text files on our computer within programs outside of just using our programming software.
What's next for The Unfortunate Cookie
Our next step for The Unfortunate Cookie is to figure out how to use Kivy software to actually create an app available for iPhones in the App Store!
Built With
- kivy
- pycharm
- python
- thonny
Log in or sign up for Devpost to join the conversation.