Inspiration
This project was inspired by other desktop pets such as the infamous BonziBuddy and the anticipated Desktop Goose. The spark of inspiration actually struck Caleb, a former group member who gave up after day one. I remember him telling me, "No, you don't want to make an app like everyone else!" And he had a point. Although making apps and websites were my forte, I wanted to learn something new. As my group members fell off the project one by one, consumed by the qualms of capitalism in their poker matches, I took creative control. I really like cute things and the sprite artwork was inspired by Maplestory and my love for drawing anime. I also wanted to incorporate the Laws of the Universe, specifically the the Law of Attraction and useful affirmations into my project (since that's what I've been researching in my spare time). The Law of Attraction states that we can attract into our lives whatever we are focusing on. Hence, the girl tells you positive affirmations like "you got this" and "you're so smart" to reassure the user that they are capable. In fact, I left my own project running while I was coding to give me motivation. Reading and reciting positive affirmations buries it into your subconscious mind and produces a placebo effect that allows you to achieve your goals. I also wanted to create an AI that would help people suffering with depression and anxiety years back. Although this is far from what I envisioned, I hope its cuteness would lighten someone's mood.
What it does
The application is a transparent screen with an anime girl walking on the task bar at the bottom. She says some as she walks back and forth. She does not interfere with anything else you are working on nor takes up a lot of space. You can also click on her and poke her (she will react accordingly). Unlike some other desktop pets, she wants you to do work and doesn't go crazy with your windows and is definitely NOT malware.
How I built it
By pressing buttons on a keyboard... just kidding! I built it in my new favorite IDE, Visual Studio using C++ and Gtk (UI toolkit). I also read a lot (a lot) of documentation.
Challenges I ran into
I learned that the hardest part of developing is coming up with a good idea. My group spent so much time trying to think of what to do that we lost the first day. I guess this is why CEO's get paid so much and why business majors always try to pitch you their app idea. I also took ics45c with Wu, a professor who no longer works at UCI. Hence, I had to fill some gaps in my knowledge when it came to c++. I've also never used Gtk before nor have I really developed for fun in c++, which meant I didn't know the full capabilities of the toolkit nor how to effectively use it. I spent a lot of the first day reading the documentation and attempting tutorials, only to learn that they didn't apply to my project. A big challenge I ran into was deprecation. Gtk is basically a boomer, and I don't have the funds to pay for a newer UI Toolkit like Qt. I would code something that looked fine, only to find out that some functions were deprecated. Once I updated the functions with different parameters and variables, sometimes it would mess up other parts of my code. A lot of the online resources were dated too, so I had to do a lot of experimentation with understanding how to draw on the canvas and how event signalling worked.
Accomplishments that I'm proud of
I'm very proud of how cute the project came out. I sent some of my friends a video of my project and they wanted to download it. The image folder is editable so you could also change the sprite if you wanted to. I'm proud of the new tools I've learned and how much more comfortable I became developing in Visual Studio. Although I don't usually use a debugger, the one in Visual Studio is so easy to use and informative. I'm also proud to say that I did not get carried on this one.
What I learned
I learned more about c++, Gtk, Visual Studio, and that I get tired easily. I also learned that hackathons will always smell bad and that I'm pretty decent at Smash Ultimate.
What's next for uwu
I was trying to implement a feature where a menu pops up occasionally and she asks you a question, but my horoscope said I should value my health and getting 3 hours of sleep a night isn't it. Although I don't really want her to mess with other windows and be a big distraction, I think it would be cool for her to climb up the sides or be able to dance to music playing. If I were to expand the scope, I would want a different executable that would allow a user to edit the sprite with ease and change the lines that she says for more personal affirmations.
Free Download: link
Built With
- c++
- gtk

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