Project Links
Feature
Maze Ball - A full mechanical replica of the classic Maze Ball, brought to life in VR
Narrative - A heartwarming story about the bond between a puppy and its owner
Toon Shader - A stylised, cartoon-inspired visual aesthetic
Level Design - Thoughtfully crafted puzzles and intuitive visual navigation
Technical Overview
The MazeBall
To deliver the best possible experience to players, I carefully designed and implemented the MazeBall. Due to its complex structure, I layered it with four distinct colliders, each serving a different role. I refined this structure through multiple iterations of playtesting and ultimately arrived at the final solution:

Room Rotation
To enhance the rotational experience, I added multiple effects during transitions.
The transition system calculates the required rotation direction and smoothly lerps from the current rotation to the target. During this process, I apply global volume effects such as vignette and lens distortion by dynamically lerping the intensity values through code.


Stage Management
Our project currently includes four levels and eight transition animations, making scene management a significant task.
I use a state machine to manage the current stage, ensuring each level's starting position is automatically configured. I also use Timeline to control object activation during transitions. To maintain immersion, I carefully adjust the screen distance and turn off lighting when necessary.


What I learn
The first thing I learned is that building a VR project requires a different approach. Coming from my previous AR project, where I relied heavily on hand tracking, I realised its limitations in precision. Initially, I implemented hand tracking, but it turned out to be unreliable and disrupted the immersion of the game. It brought more frustration than the satisfaction of using real hands. Ultimately, I chose to use controller-synthesised hands, which provide the illusion of hands while maintaining the precision of a controller.
The second major takeaway was the importance of leveraging the unique interactions that VR technology offers. Our team spent a significant amount of time discussing what the main interactive component of our game should be. We asked ourselves: Why VR? Many game concepts can be executed without VR, but the tactile experience of feeling the MazeBall and interacting with its physics using real hand movements is truly unique. Moving forward, I will always consider this when designing future VR projects.
