Assignment #1 in my first graduate-level HCI course “HCI 580: Virtual Environments, Worlds, and Applications”, this project introduced me to the beauty (and frustration) that is the Unity game engine. Endless opportunity awaits those that can master the program’s immense capabilities. I had never used the program before though, nor had I ever laid eyes on the C# scripting language. I knew this assignment was not going to be easy.
On paper, the task seemed relatively simple. Complete the roll-a-ball tutorial on Unity’s website, and then make the following updates:
Convert the game to multiplayer
Add a jumping ability (but don’t allow the players to jump off the game board) and make half the collectibles only obtainable by jumping
Add materials to every game-object – players, walls, ground, collectibles, and skybox
Ensure the camera keeps both players in screen at all times
Include UI score-tracker for each player
Add a reset button that re-enables all collectibles, and clears players score back to 0
Because I am a designer first and foremost, I had a ton of fun stylizing the game. Putting on my developer hat was enjoyable as well, yet nowhere near as simple.