top of page

Building Virtual Worlds | Fall 2021


Soul Ferry is a two-week VR game design project me and my teammates made for the Building Virtual World class of the CMU ETC program.

Building Virtual World is one of the core classes of the ETC curriculum which requires students to get into group of 5 and build games/ experiences in a two-week time span. The most popular games of the semester will be selected and presented at the ETC Festival for all students and guests to play and enjoy.

In this assignment we were required to create a interactive world that allows a "naïve guest" to play without direct instructions, and at the same time we have to make sure that the guests feel that they have freedom playing in the world.

​Time Span

A VR rowing experience on the river of souls, which allows a "naïve guest" to play without direct instructions

2 Weeks

Yutao Huang

Yiming Xiao

Ivy Liu

Jennifer Liao

Tiange Zhou

My Impact


Collected mechanisms and presented to teammates during the research phase. Conducted meetings to discuss the direction we are 


Built art assets and arranged them in Unity to generate level designs. Used lighting and sound as indirect control method to guide the players on the map.


Redesigned the rowing mechanism and the bell interaction method according to the playtest and the feedback from our interim presentation.


Designed the story and the voiceover lines to better "educate" the players what they are doing and what the story is about.

My Impact

Design Goals

Intuitive Interaction

We want the interaction to be intuitive that it requires minimum instructions.

Indirect Control

We want to use indirect control to guide the players.

Avoid Motion Sickness

We want the motion of the character to be controlled by the player's action that there will be less motion sickness.

Unique Experience in VR

We want the experience to be something that can't be duplicated on other platforms.

Freedom for Players

We want the players to feel like they have freedom in the game.


We started idea generation process by collecting interactions and mechanisms we need to make "naïve guests" understand easily.


We first looked into some past student projects to find inspirations.

I found out that a lot of the more intuitive movement methods are essentially transferring hand movement into player movement. Then I made a list of movement methods for my team to choose from.







We chose the rowing action in the end as we want the game to have a slower pace and calming environment 

Intuitive Motion

Works Well in VR

Slower Pace

Mood Board

After we have the core interaction figured out, we came up with a world concept and I made a mood board.

After Life
Lotus Flower
Gate of Reincarnation

Interaction Map

After we have a general idea of what the world looks like, we created an interaction map to plan what the guest's journey and experience will be like.

Interaction Map
interaction map19.png

First Week Goals

As the project is only 2 weeks long, the goal of the first week is to have a playable prototype with all the basic interactions.

Programming Goals
Art Goals
  • Rowing Mechanism

  • Bell Ringing Mechanism

  • ​VR scene setup

  • Water Shader

  • 3D Models needed for basic scene

First Week Progress

As the project is only 2 weeks long, the goal of the first week is to have a playable prototype with all the basic interactions.

First Week
Design Goals
  • Build basic level

Sound Design Goals
  • Basic Sound Effects

Interim Feedback

In our interim feedback from peers and professors, there were some about the interactions and story telling that I found important.

The rowing mechanism needs to be simple and balanced

The original action requires the player to press and release the trigger, which is not really intuitive to the player.


The new action is much more intuitive as there are no button needed.

It's hard for the player to interact with the chime bells

Originally we had the players free floating and approach the chime bells on their own.

But it was really hard to reach a position where it's easy to interact with it.

After receiving the feedback I suggested that we give the chime bells a trigger area and lock the players in place when they come close.

It was unclear what the goal of the game is 

In order to have the player understand his role and goals better. I designed a new tutorial stage where the player is introduced to the world.

The key of the introduction is, when the voice over introduce something, that exact thing shows up.

Starting screen

portfolio imgs-05.png

Voiceover: I am the ferryman of souls

The paddle shows up along with an animation that teaches the player how to row.

Voiceover: My mission is to collect the lost souls

The lantern that collects the souls shows up. The player also sees the lotus flower with the glowing souls flying around it.

Voiceover: I can guide them by ringing the right chime bells

The chime bell set shows up, and player will have a general idea how to interact with them.

Voiceover: Through the gate of reincarnation, they can proceed to their next life

The gate shows up and the player will know that it is the destination.

portfolio imgs-06.png
portfolio imgs-07.png
portfolio imgs-08.png
portfolio imgs-09.png


Also as the artist of the team, I was able to finish multiple models including the boat, the lantern and a lot of rocks and lotus leaves. I also created all the materials in Unity3D, placed everything include the lights in the scene, and created shader for the skybox

WeChat Image_20211215221324.png
Screenshot 2021-11-28 152158.png
Screenshot 2021-12-16 190617.png
Screenshot 2021-12-16 190549.png
Screenshot 2021-11-28 150818.png
Screenshot 2021-12-16 185856.png
Screenshot 2021-12-16 190515.png

Final Video

Final Video
bottom of page