VAMP(VR Arcade Motorcycle Project)
Game Designer, Hardware Engineer2022.8-2024.5
- Unreal Engine 5, VR
- Revived a 1987 Sega arcade motorcycle machine with a modern VR twist.
- Participants in the Sony USC ETC Transmedia Challenge.
- Awarded Best Immersive Software & Hardware.
My Contributions
- Pitched the concept of reviving an old arcade motorcycle machine with VR for the Sony USC ETC Transmedia Challenge.
- Co-Engineered a solution to parse voltage signals from the arcade controller using an Arduino and integrated it with Unreal Engine.
- Designed levels with OutRun and Synthwave aesthetics.
- Programmed motorcycle mechanics using Unreal Engine Blueprints.
Pitch and Visual Aesthetic
The project began with the idea of reviving a classic arcade motorcycle game by integrating VR technology, aiming to create a retro-futuristic experience.
I pitched this concept to the Sony and USC for the challenge, presenting a clear vision through sketches and mood boards.
I pitched this concept to the Sony and USC for the challenge, presenting a clear vision through sketches and mood boards.

Inspired by 80s and 90s neon retro aesthetics, I designed visuals that established the game’s vibrant, immersive atmosphere, including environments, UI elements, and overall look and feel.
Hardware Intergration

System Overview Diagram
This diagram outlines the entire process, from using the arcade motorcycle controller to interfacing with the computer and ultimately playing the VR game.
This diagram outlines the entire process, from using the arcade motorcycle controller to interfacing with the computer and ultimately playing the VR game.

Multimeter Testing and Jump-Wiring
Here, we verify voltage outputs from the motorcycle controller wires using an multimeter and carefully establish jump-wire connections.
Here, we verify voltage outputs from the motorcycle controller wires using an multimeter and carefully establish jump-wire connections.

By identifying which wires correspond to specific functions—such as throttle, brake, or steering—we ensure accurate signal mapping.

This preparation makes jump-wiring more precise and efficient before connecting to the Arduino.

Arduino Signal Parsing
This image shows how the Arduino reads and interprets the controller’s voltage changes into data that the computer can process. By transmitting this data via serial communication, we bridge the hardware and the Unreal Engine environment, enabling fully integrated VR gameplay.
This image shows how the Arduino reads and interprets the controller’s voltage changes into data that the computer can process. By transmitting this data via serial communication, we bridge the hardware and the Unreal Engine environment, enabling fully integrated VR gameplay.
Gameplay and Level Design

Level Layout Overview
This overview highlights both the city and highway sections of the track, illustrating their interconnected flow and the distinct atmospheres they create. The combined layout provides a balance between urban density and open-road freedom, setting the stage for varied player experiences.
This overview highlights both the city and highway sections of the track, illustrating their interconnected flow and the distinct atmospheres they create. The combined layout provides a balance between urban density and open-road freedom, setting the stage for varied player experiences.

City Environment Gameplay
Here, players navigate through a neon-lit metropolis filled with tight turns, glowing signage, and a bustling street ambiance. The city level challenges precision and control, rewarding skilled riders who can master its winding roads and vibrant visual distractions.
Here, players navigate through a neon-lit metropolis filled with tight turns, glowing signage, and a bustling street ambiance. The city level challenges precision and control, rewarding skilled riders who can master its winding roads and vibrant visual distractions.

Highway Environment Gameplay
In contrast, the highway section features broad lanes and high-speed stretches, inviting players to accelerate and test their maneuverability at top speeds. This open environment emphasizes fluid movement and encourages players to push their limits under a brilliant neon horizon.
In contrast, the highway section features broad lanes and high-speed stretches, inviting players to accelerate and test their maneuverability at top speeds. This open environment emphasizes fluid movement and encourages players to push their limits under a brilliant neon horizon.
Motorcycle Mechanics Development


Serial Data Integration
This image shows how raw input from the Arduino is captured via serial communication and stored within Unreal Engine. By reading the voltage data directly, we ensure that the game dynamically responds to the player’s physical inputs on the motorcycle controller.
This image shows how raw input from the Arduino is captured via serial communication and stored within Unreal Engine. By reading the voltage data directly, we ensure that the game dynamically responds to the player’s physical inputs on the motorcycle controller.



Applying Inputs to the Chaos Vehicle
Here, the processed controller inputs are fed into Unreal Engine’s Chaos Vehicle system, governing the motorcycle’s throttle, steering, and brake mechanics. This step transforms raw data into realistic, responsive player movement in the VR environment.
Here, the processed controller inputs are fed into Unreal Engine’s Chaos Vehicle system, governing the motorcycle’s throttle, steering, and brake mechanics. This step transforms raw data into realistic, responsive player movement in the VR environment.


Debugging and Calibration Tools
In this final image, various debug overlays and code snippets illustrate how we compensate for controller dead zones and unstable voltage signals. By fine-tuning input thresholds each time the arcade machine starts, we ensure consistent, reliable control and enhance the overall gameplay experience.
In this final image, various debug overlays and code snippets illustrate how we compensate for controller dead zones and unstable voltage signals. By fine-tuning input thresholds each time the arcade machine starts, we ensure consistent, reliable control and enhance the overall gameplay experience.