top of page

Project Overview

Language: C#

Tools Used: Unity, paint.NET

Platform: Android (Meta Quest)

Role: Gameplay Programmer

Overview: Golden Gloves VR is a virtual reality game developed by Engine Room VR for Meta Quest headsets with the goal of bringing a realistic boxing experience to its players. I joined a small team (never more than 5 people) to improve the game's existing systems and implement new features. During my time at Engine Room VR, I learned several new skills for the company's ever-evolving visions, such as VR programming, multiplayer implementation, TypeScript, Trello, and version control. The contributions I made include the viral 'Fists of Fury' minigame and its multiplayer port, an overhauled UI experience, the fitness tracker, and customizable AI boxers.

Fists of Fury

Goal: To create a minigame that would keep users in the game longer while meeting the exercise goal set by the game's vision

Result: A well-received minigame that tripled the game's daily active users and remains one of the game's most used features

Details: Fists of Fury was born out of a desire to keep our players in the game longer with a fun way to work out. Taking inspiration from games like Beat Saber, the minigame allows its players to practice boxing combinations in a series of rounds. In implementing this, I first focused on the core round loop, then added extra features around that, including 'burnout rounds' and levels of difficulty. I made use of Scriptable Objects to hold data for the rounds, difficulties, and combinations, coroutines to control the timing of object spawns and round changes, and parent/child classes to create flexible minigame objects that could be expanded upon as needed.

Later, I ported Fists of Fury to multiplayer using the Fusion 1 framework. To adapt the game to multiplayer, I changed certain behaviors (such as adjusting the speed of the combinations) and added new features (such as UI to display the scores of all players to spectators).

Fitness Tracker

Goal: To implement a way for fitness-conscious players to keep track of calories burned and daily burn goals

Result: A simple-to-use yet informative UI system that tracks users' activity and displays it in an intuitive way

Details: Because Golden Gloves VR is a fitness-oriented game, we had players asking if the team could implement a way to track calories burned during their in-game workouts. To start out, the team had to do research to determine the best way to approximate calories burned, for without specialized fitness equipment, we couldn't display the true amount of burned calories. Thus, to calculate an approximation, we would grab a base burn rate based on the user's entered weight and assign activity values to the different activities in the game (fighting boxers, using the bags, playing Fists of Fury). Those activity values were determined by spending time doing those activities while wearing a smart watch to calculate an average amount of calories burned.

Once the formula was determined, I set to work building out the tracking system and its UI. I made use of Unity Events to notify the system's manager script when a player entered/exited an activity area and saving/loading using JSON to store the player's entered weight and daily burn goal.

UI Overhaul

Goal: Improving the old, beta UI designs to something that would look as if it belonged in the game world

Result: A polished UI experience that is pleasant to look at and fits with the game's theme

Details: Golden Gloves VR's old UI simply consisted of floating beige-and-black panels outpaced by the increasing polish of the game. Deciding it was about time the UI be revamped, the team held a meeting to brainstorm ideas of how the new iteration should look. The main hurdle was the design--what would look best in a gym environment? We tossed around thoughts of using things like clipboards and TVs before deciding on whiteboards. For flexibility, our artist made two whiteboard variants--horizontal and vertical--and I imported the assets into the game. I then proceeded to transfer every UI onto a whiteboard, joining forces with our game designer to ensure UX was as pleasant as possible.

Customizable AI Boxers

Goal: Adding customization features to the AI boxers to allow players to tweak exposed properties

Result: A highly customizable rematch experience boosting the game's replay value

Details: Any fighting game worth its salt needs to have a way to rematch opponents you've already defeated, and a truly fun fighting game will add in the ability to tweak the AI--to make it hit harder, to make it move slower, whatever the game allows for. In Golden Gloves VR's early days, AI boxer customization was an oft-requested feature, and eventually I took on the task of implementing it. I reached out to the programmer that had created the boxers' AI to see which properties were already exposed and which would work the best in a player-facing customization scenario. Once I had that information, I created a UI page that outlined the various customization options in an easy-to-understand format. I also had to ensure any properties changed would not affect the base boxer.

bottom of page