← Back to Portfolio
Class Overview
Building Virtual Worlds (BVW) is a first-semester ETC class focusing on designing and building games in
two-week rounds. At the end of the semester, certain projects are selected to be showcased in
Fall Festival, where friends and families of ETC students, along with other CMU community members, can come to
the ETC to play the games and see some of the work that has been done.
Each round of BVW focuses on different tech and learning outcomes.
- Round 1: Focuses on novel inputs, user experience, and interest curve. Teams have to make
games which feel like players are doing some unique experience, but the teams are only allowed to use
buttons as inputs - no keyboard, mouse, or joysticks.
- Round 2: Focuses on VR and indirect control. Teams have to build a VR experience to give to
a naive guest (someone who has not used VR before), and no instructions can be given, either verbally or with
in-game text. In addition, teams must make predictions about what the guest will do.
- Round 3: A lightning round which is only one week and uses unique controllers (such as
eye-trackers). Focuses on quick iteration towards a workable prototype.
- Round 4: An anything round - teams are encouraged to use everything they've learned to make
the type of game they like the most. Focus is on making something for Fall Festival, so emphasis is on
throughput.
Round 1 and 2 final presentations are linked above. Unfortunately, rounds 3 and 4 were not recorded.
Round 1: Altitude
Altitude was created during Round 1 of BVW. Our prompt was to design a game that
felt like skydiving - using only button inputs.
The final prototype had players lying on a mattress with fans in their face to simulate wind, while
a custom four-limb controller mapped physical movement to avatar control in-game. Players
tilted their body to dive through rings and avoid birds, creating a surprisingly immersive skydiving experience.
While all team members contributed to ideation and design, I was responsible for much of the gameplay
programming and non-player systems. I:
- Implemented ring and bird behavior
- Designed and balanced level progression
- Built basic UI and gameflow
- Added landing pad mechanic with scoring
- Tracked player lives and scores
- Integrated audio feedback
- Programmed diving mechanics
We delivered a complete, playable game showcased live during final presentations. The build included audio/visual
feedback, a scoring and life system, three difficulty sections, and win/loss conditions.
The professors and peers enjoyed Altitude's creativity and physical immersion,
making it one of the most memorable prototypes of the round.
Round 2: Trolley Problem
Our prompt was to make a VR game about driving a trolley. Our final presentation consisted of giving the game to
a naive user - someone who has not played VR before - without any instruction, either verbal or through in-game
text. We had to use indirect control to show the guest what to do.
Our game was based on the trolley problem, and getting players to make difficult decisions. To emphasize the
fact that players can only make one of two decisions, we constructed a rudimentary physical trolley - a box that
players had to stand in with a lever that they were handcuffed to. No way to leave, nothing to do besides
move the lever back and forth.
Every team member contributed to design and ideation for the decisions the player has to make. I was
specifically responsible for much of the programming, including:
- Level generation
- Spawning background objects
- Movement of the trolley
- Player control
- Decision tracking/"scoreboard"
We created a 5-minute trolley experience focused on difficult decisions to be shown live during final
presentations. Through our use of indirect control, our naive guest correctly hit every prediction we made.
The game stood out as one that made the guest and audience feel some moral tension through the uneasy
humor and absurdity of the game, while allowing the audience to play along. The physical "trolley" we made also
stuck with professors and peers, making for a memorable experience.
Round 3: N-eye-nja
For round 3, we had to use a unique controller to make a game about juice. My team chose to use an
eye-tracker to make a custom version of Fruit Ninja. Players were running a juice shop - one
had to take orders and choose which fruits to send to the second player, who was using an eye tracker to slice
the fruits and a controller to catch the resulting juice into a cup to send to the front.
I contributed heavily to the game design and premise. I was also a programmer responsible for:
- Eye tracker
- Spawning and throwing fruit
- Fruit slicing
- Juice catching and management
- Checking orders
- Throwing bombs
N-eye-nja is a chaotic game of communication, timing, and dexterity. We delivered a functional
game prototype with just a week of work, integrating new tech into a fun and unique gaming experience.
Round 4: Overboard
For round 4, we were encouraged to make a game designed for Fall Festival - an experience focusing on fun
gameplay with high throughput. We decided to create a party game loosely inspired by Overcooked. We designed
Overboard, a 4v4 pirate game where teams try to sink their opponent's ship while repairing
and defending their own.
I was responsible for much of the game design and interest curve for Overboard, balancing chaos
and simplicity, length and throughput. I had to balance tradeoffs with damage, healing, game mechanics and more.
I was also a primary programmer, focusing on:
- Picking up items
- Firing cannons
- Repairing holes in the ship
- Ship health
- Jumping between ships
- Game flow
- Intro tutorial
We delivered a fun and unique party game, focusing on chaos on-screen, and "ruining friendships" (in the best
way possible). Overboard stood out for it's high throughput, interesting game design, and fun
gameplay in a round of very strong games.
Fall Festival
At the end of the semester, teams can submit their games for consideration to be showcased at Fall Festival, a
end-of-semester celebration of the work that has beem done. Of the four games I submitted, three made
it to the final round of judging and one made it into Fall Festival, showed off on the big
screen in the main area.