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.
I had never used the program before, 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 fun stylizing the surfaces of the game. Putting on my developer hat was enjoyable as well, yet nowhere near as simple.