Boat is a VR horror-puzzle experience, where players take the role of a lone fisherman who encounters haunted dolls at sea. The game explores how environmental storytelling and spatial interaction can evoke fear and mystery without relying on traditional narration or text. Inspired by psychological horror themes, we aimed to immerse the player in an atmosphere of uncertainty and tension.
Instructor: Rafael Arias
TA: Kenneth Karthik
Team Members:
Walter Xu ( Project Leader, Asset Lead, Development Lead, Environment Lead )
Ethan Allwood ( Asset Creator, Ideator, Programmer Lead )
Ningzhi Tai ( Narrative Designer )
Xinran Han ( Music Designer )
Duration: 3 Months
Game Engine: Unity
Instead of a direct narrative, we used a flashback-based structure and visual cues - including different scenes in several flashbacks, character movements, the use of symbolic objects, and lighting changes - to reveal a Japanese-style backdrop about the sacrifice to the lost Story.
These narrative fragments are gradually revealed as the player explores the fishing boat and interacts with the haunted dolls. This non-linear structure encourages the player to connect scattered environmental clues and fragmented memories, deepening their immersion while constructing a cohesive understanding of the story at their own pace.
Flashback Scene
The spatial layout of the fishing boat is intentionally designed to evoke the player's fear of small spaces and the dark, deep sea, while guiding the player to explore the space on a controlled, small scale. I used narrow aisles, obstacles, and layered environments to limit the player's field of vision, thus enhancing feelings of unease and anticipation.
Key interactive elements were set up logically to encourage exploration and movement without relying on explicit markers, thus allowing the player to gradually discover pieces of the story through spatial orientation. Lighting and ambient audio further enhance the changing mood of the space, transitioning from calm to suspense as the narrative unfolds. By designing spaces as narrative containers and emotional amplifiers, I aim to make the environment itself feel like a character in the experience.
Main Environment Setup
We designed challenges that required players to use VR gestures to physically interact with environmental elements including a usable fishing pole, boards for repairs, ship console and picking up dolls. The interaction design emphasizes natural movement and spatial awareness, which leads to player immersion. Our physics-based fishing rods allow players to simulate realistic flinging and retrieving motions.
We also implemented subtle feedback systems, such as haptic responses on object collisions and audio cues tied to interaction success, to reinforce the realism of each gesture. These feedback loops help guide the player intuitively without breaking immersion.
Interaction Methods
I was responsible for implementing core game mechanics and interactive sequences using Unity C# and the XR Toolkit. This included proximity triggers, animated environment transitions, physics-based object interactions and so on.
Additionally, the sea level used shader graphics with material-based heightmaps to provide buoyancy physics, which allowed for the natural behavior of floating fishable objects. And stylized pseudo-volumetric lighting in the lighthouse scene to establish the mood and visual contrast when the player is briefly given light in the darkness, thus enhancing the overall atmosphere of tension and mystery.
Shader Graphics of Sea Surface
Designing horror in VR presented specific challenges: we needed to create a sense of tension and unease without overwhelming the player, especially given the physical and psychological sensitivity involved in wearing a headset. To strike this balance, we adjusted lighting, object placement, environmental filters, and layered sound cues to cultivate an atmosphere of subtle horror—one that remains immersive and comfortable during extended play sessions.
Through user testing, we discovered that some interactions lacked clarity within the VR context, particularly in terms of feedback and UI visibility. This highlighted the need for further iteration on how information is conveyed spatially and interactively. Despite these challenges, the project allowed me to quickly develop practical XR skills and strengthen my proficiency in Unity-based 3D workflows. More importantly, it taught me how to use space and level design as a means of narrative expression, deepening my understanding of how interaction and environment can jointly shape emotional experience.
From a technical perspective, one of our main challenges is to ensure stable and intuitive interactions in VR environments. Achieving consistent object grasping and throwing behavior requires careful tuning of physics parameters, collider settings, and manual tracking responsiveness. In addition, as players demand higher frame rates for VR games, it poses a high performance requirement for the game. Therefore, when creating all assets early on, I was able to manage the amount of geometry in them and adjusted the lighting layers more efficiently to balance the game's aesthetics with a stable running frame rate.
Game Poster