Inspiration
We were inspired by the breathtaking technology behind Desktop Goose. This is an application that creates a goose on your desktop that takes control of your cursor and open new files. We thought it would be fun to make a medieval version of this that incorporates Twilio to add a productivity feature.
What it does
Desktop Knight is your not-so-friendly desktop pet that loves to shout Monty Python quotes if you come too close and proceeds to attack your mouse! However, questing (and productivity) are a priority for Desktop Knight and he'll send you a text with an inspirational quote from Monty Python when your computer goes idle to inspire you to get back to questing (or programming, whichever you prefer).
How we built it
We built this project in Python using the built in GUI framework Tkinter. We created and implementation for a Finite State Machine that handled the AI of the Knight. Within the finite state machine we monitored user activity and when a period of idle time is detected used the Twilio API to send a text to the user.
Challenges we ran into
We encountered a fair amount of challenges related to the sound aspects of the Desktop Knight. In order to prevent the sprite freezing whenever sound was played, we used a multi-threaded structure so that the sound and animations could be executed independently of one another. However, Tkinter can be very particular about how it handles multiple threads, so we had to be extremely careful about managing our threads to make sure the program could exit properly.
Accomplishments that we're proud of
This is the first time that any of us had used the Twilio API, so we are quite proud of how we acclimated to that new technology. We also strove to keep our Git repository organized with branches, which was new to us as well. This project was also Teegan's first hackathon! We are very proud of him for stepping up to the plate and being such a valuable member of the team for his first go-around.
What we learned
We became a lot more comfortable with Git and learned how to use Twilio for the first time. We also became extremely well versed on Monty Python lore. We became increasingly disgusted by the thought of UCF and their Knight logo. It is a blatant rip off of our lovely DesktopKnight and we will not stand for it.
What's next for DesktopKnight
Further steps we thought of implementing into DesktopKnight included more customizable Knight characteristics and more robust Twilio usage. The Knight's internal aggression, speed, and even sprites could be made customizable in the future. Twilio could also be used to call the user in case they fell asleep at the keyboard and weren't moving their mouse. We could also implement a 'productivity mode' that would allow the Desktop Knight to attack and destroy any application windows that were not on a 'productive apps' whitelist.
For questions, reach out to Blake Thacker on discord @acheronparth#1711

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