Based on the original HackUWU project and expanded for VR play.
Towards the end of 2018, my friends started to express their emotions more freely with the term "uwu". Uwu brought a sense of joy every time it was brought up. Over time, it took on many forms, including but not limited to "ewe" and "owo". Each form brought out reactions that inspired positivity and happiness, and I brought the spirit of uwu to our friends at UC Irvine's hackathon, HackUCI 2019.
Thus, the inaugural "HackUWU" event took place and started a cultural revolution, taking HackUCI 2019 by storm and ultimately co-winning the "Best Joke Hack," an award given to a project that inspires students through fun and creativity even though it has no practical use. This is an award I will always treasure forever, and I wanted to share this revolution with our friends in the Triton land, UC San Diego, in hopes of inspiring others to develop projects that inspire joy from their peers. Thus, HackUWU is now a franchise, and now it is featuring its first major event since its debut: HackUWU Tritons.
What it does
"HackUWU Tritons" brings out the joy of uwu, owo, and ewe in a partnership with the uwu alliance of sponsors at UC San Diego. Hackers need to express "uwu" as fast as they can by popping the uwu, owo, and ewe balloons. Along the way, the SD Hacks animals, $3 boba, and other remnants of UCSD's hidden secrets appear to distract the hackers from spreading the word of uwu. Will the hackers be able to overcome diversity and spread uwu to all of the Tritons?
How I built it
"HackUWU" follows the philosophy that it should be accessible on as many devices as possible involving the least input devices as possible. In the original version for HackUCI, I used GameMaker: Studio because of its powerful 2D capabilities and light use of processing power, alongside its ability to export to multiple platforms such as HTML5, make this engine the ideal choice for that project. That game followed a one-input-only philosophy: the computer mouse and left click, or a finger touch (both are equivalent inputs).
This time, the approach had to change. GameMaker: Studio (version 1) is now obsolete, so I had to pick up a new language to code this game in. Unity was the best choice due to its free model and ease of use- the C# programming language and deep documentation of the Mono framework was beneficial in facilitating learning. Ultimately, and perhaps coincidentally, it was a great choice given the choice to expand our one-touch-only framework towards VR.
When expanding to VR, I noted that previous hackathon project attempts failed at VR engine installation issues or hardware failures- but they ultimately failed in their sharability; they could not share their creations with their friends and families after the hackathon was over, because not every one of them could afford an expensive technology like modern VR headsets. This is why I decided to use the Google Cardboard VR framework and hardware to design HackUWU Tritons. Its hardware philosophy was actually very similar to HackUWU's philosophy, limiting the input to head movement and a "click" of the cardboard button. This ultimately expands on the original game in giving HackUWU a three-dimensional look, bringing a new dimension to the game.
To express our uwu thanks to the sponsors, I took all of their logos from the SD Hacks website and shoved them into an advanced imaging program called Adobe Photoshop. I then used extreme fonts such as Arial and Helvectia to correct their logos such that it is properly uwufied. It turns out that the stargazing program may have been somehow inspirational in the uwufication of these companies.
The animals were taken from the SD Hacks website. HackUWU agrees with the sustainability goals of SD Hacks and instead of focusing primarily on memes, it introduces animals into the environment. Determining which animals to communicate with impacts gameplay greatly. To provide commentary, a box appears at the bottom of the screen explaining the animals communicated as well as other useful information.
To power the leaderboard, I rose my hands into the sky and yelled "uwu" 20 times in the Green Room. Eventually, the Google Cloud Platform appeared to save the day once again; by installing mysql to the Ubuntu instance again, the game can then make requests to the cloud to store and receive high scores... again.
To give the Ubuntu instance a proper name, I continued my partnership with our friends at dot tech which provided me with the latest hackuwu.tech. This amazing piece of technology powered up our cloud so much that we were able to send our Unity game in lightning speed to the skies and spread the power of uwu 10 times faster than ever before.
Finally, we realized that the power of uwu in person was not enough. So I called on the SendGrid API once again to help spread the word of uwu through our sponsors. With SendGrid on board, alongside our allies in Unity3D, Apple, Google, dot tech, Adobe Photoshop, and Ubuntu, the power to spread the word of uwu is now endless and full of possibilities!
Challenges I ran into
There was an immediate challenge that appeared: XCode 11 had not been completely installed by the time I arrived at SD Hacks, and installations after October 1st had a glitch where the installation will fail due to a certificate authentication error. This stressed me out because I was relying on Unity's integration with XCode to facilitate the generation of Google Cardboard VR machine code. Ultimately, this was fixed after some research on the web.
The coding of the game was actually uneventful other than the realization that Unity does not natively support translucent interactive buttons; their collision boundaries with the mouse is a box, not a polygon that follows the border of the images. Mentors were not able to solve this immediately, and I ended up using alternative assets.
I can already anticipate the presentation of the game to be problematic. How can I show off the game's accessibility if others cannot watch playtesters play the game through the VR headset? I thus decided last-minute to port the game to WebGL using Unity's built-in capabilities. This is not a perfect port- this is just translating head movements to mouse movement. However, it is able to get the point across on how the VR game works.
Accomplishments that I'm proud of, and What I learned
The power of uwu has initially led me on a journey from the front end to the back end, where I had to learn how to set up domain names and the SQL database. I have come out of this uwu quest with a fondness of back end technology. I learned that I could make a fun, simple game without having to spend what seems like months perfecting one. I hope that what I learned from the power of uwu will translate over to my studies and field work.
This was my second VR game using Google Cardboard and the first time using the technology at a hackathon. I hope that the Google Cardboard continues to be a popular budget option so that many people can use their phones to play HackUWU Tritons.
The power of uwu has led me to create something that may not be necessarily original in its artwork but definitely the most original game mechanically. I hope that this game inspires others to make something inspiring, even though it may not do much in terms of productivity.
What's next for HackUWU
HackUWU is well on its way to spreading its sense of joyous uwu to the world. It has done it again, but in VR. Perhaps when the time comes for UWUcon, HackUWU will return once again with the power of its sponsors.
Notes on "Try It Out"
The first link leads to a WebGL version of the VR game. It is meant to simulate what it is like to play the game in the Google Cardboard VR. Use the mouse movement and left click to simulate head movement and the cardboard button.