Sparking Steel
A VR game built as a final year project for my BSc in Computing. The player controls a giant robot from inside the cockpit, battling an opposing mech.
UX for VR games
Interaction design for any game requires responsiveness, clarity of purpose, and intuitive controls. In VR, those requirements have extra physiological consequences. When something feels wrong in a VR environment, users experience discomfort, nausea, or headaches.
Solving motion sickness through cockpit design
One of the most common sources of discomfort in VR is locomotion sickness, which is the disconnect between movement happening on screen and the body remaining still in the real world.
My solution was to anchor the player visually inside a cockpit. From their perspective, they can see the seat around them, the structural frames of the mech, and the interior of the robot they're piloting. This physical context gives the brain a stable reference point, reducing the sense of unmoored movement. This 'anchor point' technique is also used in other VR games, such as VR roller coaster experiences.
User testing with a dozen people aged 18–40 confirmed it: no participant reported motion sickness.
Stable framerates to maintain comfort
The Gear VR is capable of 60fps (frames per second) which is the minimum acceptable frame rate for a comfortable VR experience. At lower frame rates, the world begins to look jittery, which quickly becomes disorienting and uncomfortable.
Hitting 60fps meant strict limits on assets, geometry and rendering. I reused resources wherever possible.
What testing revealed
User testing surfaced two consistent problems.
Controls were unclear
Several participants were unsure how to control the mech, particularly at the start of the game. In response, I added an in-game control instructions screen positioned in front of the player, visible within the cockpit itself.
The objective was not obvious
The enemy mech was initially hidden behind buildings at game start, leaving some players uncertain of where to go or what to do. I repositioned the level so the enemy is visible from the first second, giving players immediate direction.
What I would change with more time
Given more time and a larger participant pool, there are two areas I would have prioritised.
- Accessibility testing — particularly around colour contrast, to ensure visual elements such as HUD components and UI text are readable for players with colour-blindness
- In-game options and menus — adding a persistent controls screen and customisable settings so players can reference and adjust inputs at any point during play, rather than only at the start