top of page

Harmony

"Harmony" is an immersive experience related to self-emotion findings. Players are introduced to a peaceful paradise called the Island of Harmony. On the island, there are four elements of emotion (Joy, Sorrow, Anger, and Serenity) that thrive until the crystal holding them shatters, causing chaos, which represents the chaos of our state of mind when emotions are not stable. The mission for players is to find the shattered crystals and bring them back together to bring peace back to the island. During the journey on the island, players will explore four emotions in four areas and complete tasks in each area to unite the crystals and bring harmony and peace back.

The objectives of the project are to encourage people to explore different emotions within themselves and to achieve the technical goal of implementing various interactions into one game to give players a richer experience.

Group Member

Girish Mallikarjuna

Role: Programmer

Xinchan Jin

Role: Programmer / VFX

Chi Liu

Role: Environment Design / UI&UX

Visual Concept

User flow

user flow.png

Timeline

Multicolor Professional Business Timeline Infographic.png

Contribution

| Week 01 & 02

Chi

Creating mood board and Environment setup

mood board.png
environment setting.png

Me

After deciding the game flow, Girish and I began to study the game's mechanisms and conducted early experiments to test the feasibility of the game.

 

In the Splash Water game, we initially used the space bar instead of hand clapping actions to fill the loading bar.

splashwater.gif

For gaze interaction, since the Quest 3 does not have eye tracking, we placed a ray casting on the head and set it to invisible to collide with objects.

gaze.gif

To remain still, we detect that the user's head and hand positions cannot move beyond a certain range for a period of time in order to complete the task

standstill.gif

For the memory game, we set up a simple prototype to validate the feasibility of the game

memory.gif
| Week 03 & 04

Chi

Update the scene setting with a fancy skybox. Add more features in the scene. For example, the shader of water.

photo_2024-04-05 15.48.52.jpeg

Girish

Enhancing other parts like splash water and the memory game.

photo_2024-04-05 15.48.57.jpeg

Me

I added LED lights along the roadside to clearly indicate which paths are accessible to users. I did research on sfx and added the background music for every single task. Additionally, I improved the visual effects of the gaze interaction part and the Stay Still part.

Gaze scene.png

For enhancing gaze interaction, I've introduced numerous visual effects (VFX) throughout the scene to evoke a sense of simmering anger. Additionally, I've replaced the default cube with a crystal to add a touch of mystique and intrigue. To further amplify the impact, I meticulously crafted the explosion effect by importing the crystal model into Blender and meticulously simulating its shattering effect.

gaze_edited.jpg

Furthermore, I incorporated eyeballs onto the crystal to subtly hint at the game's focus on gaze interaction. Moreover, I implemented code to ensure that the eyeballs dynamically track the user's movements, adding an immersive layer of interactivity to the experience. Additionally, the speed at which the eyeballs track the crystal increases proportionally with the duration of the stare, creating a dynamic and responsive interaction that adapts to the user's engagement over time.

 

Sample code of gaze game mechanism and shaking effects:

Group 1.png

sample code of eyeballs following the user:

void Update-1 1.png

For the "Stay Still" segment, Chi and I opted to replace the default cube with a large Buddha sculpture, thereby enhancing the tranquil atmosphere of the scene. This alteration aims to promote a sense of serenity and stillness, inviting users to immerse themselves in a peaceful environment during this particular phase of the experience.

buddha 1-min.png
| Week 05

All Together

Integrate the environment elements with interactions

buddha 1-min.png
| Week 06 & 07

Girish

Add the VFX for the central podium and visual cues.

Me

After conducting game testing and gathering user feedback, Chi and I made some modifications to the UI elements. Firstly, we updated the loading bars for both the "Stay Still" and "Splash Water" segments.

For the "Stay Still" segment, we replaced the loading bar with a large yellow halo positioned behind the Buddha statue. This halo serves not only as a visual indicator of the user's progress but also seamlessly integrates into the environment, enhancing immersion.

calmgame-ezgif.com-optimize.gif

sample code of halo

void UpdateLoader-1 1.png

In the "Splash Water" segment, which exudes a happy atmosphere, we introduced a cheerful Laughing Buddha figure. As users enthusiastically splash the water surface, the Laughing Buddha gradually emerges from beneath the water.

splash.gif

Additionally, we implemented hand gesture UI instructions in this area to guide users on how to interact with the water surface.

Splash ui.gif

Furthermore, when users approach the central podium, the controller's trigger button starts flashing red, serving as a visual cue to instruct users on how to initiate the climbing task.

Climb.gif
| Week 08 & 09

Girish

Debugging and testing.

Me

Chi and I introduced an introductory scene to enhance the completeness of the storytelling. I crafted animations depicting the shattering and expulsion of the crystal, complemented by a voice-over narration.

Sample code of crystal breaking:

Group 2.png

Additionally, we implemented hand gesture UI instructions in this area to guide users on how to interact with the water surface.

crystal shaking-min.png
crystal breaking-min.png

Additional feature

Due to computational constraints, we were unable to run many VFX and particle effects simultaneously on the computer. Therefore, we couldn't incorporate numerous particle effects into the scene.

As an additional feature, I attempted to add aurora-like light curtains in each area to enhance the atmospheric ambiance and provide users with a clearer sense of the mood in their current location. These aurora light curtains were created using Shader Graph, with different colored lights used in each area.

Reflection

How and Why the Response Meets the Brief:

Firstly, our game boasts a wholly original narrative, meticulously crafted to leverage the unique capabilities of virtual reality (VR). By harnessing the immersive potential of VR technology, we transport players into a captivating world where they embark on five distinct missions. Each mission is intricately designed to engage players on multiple levels, blending compelling storytelling with interactive gameplay elements.

 

Additionally, we have prioritized the auditory and visual aspects of the player experience. Immersive music sets the tone for each mission, enhancing the atmosphere and drawing players deeper into the narrative. To ensure seamless gameplay, we provide clear and concise instructions through a variety of channels. Whether through audio prompts, UI indicators, or in-scene elements, players are guided through each mission with clarity and precision.

 

Last but not least, our game design reflects a commitment to providing players with a fully immersive and satisfying experience. Beyond the thrill of completing missions, players are encouraged to reflect on their journey within the VR world. The combination of original storytelling, immersive music, and intuitive gameplay mechanics invites players to not only engage with the game but also to contemplate the broader themes and narratives woven throughout the experience.

 

Difficulties encountered and areas of smooth progress:

During the development process, we encountered numerous challenges, but we also gained valuable experience and insights.

 

Firstly, our initial hurdle revolved around the logic of visual cues within the game. We initially established a predetermined sequence for gameplay, wherein visual cues would guide users through each stage accordingly. However, we recognized the possibility of players deviating from this sequence and playing according to their own preferences. Thus, we endeavored to develop a logic that would allow visual cues to adapt to the player's chosen sequence. Yet, this task proved exceedingly complex. We had to strike a delicate balance between maintaining the original game sequence and accommodating potential deviations. Despite numerous adjustments, minor bugs still persisted.

 

Secondly, we encountered performance issues due to an abundance of visual effects (VFX) within the game, resulting in significant lag and diminishing the overall gameplay experience. Although the visual effects greatly enhanced the visual appeal of the game, our computers struggled to handle the simultaneous rendering of multiple VFX. To address this issue, we decided to implement a trigger mechanism. Only when triggered by the player would specific VFX be activated, significantly reducing the computational demands on the system and improving overall performance.

 

Lastly, we encountered challenges during the project's build phase, particularly involving Gradle build errors. Despite attempting various solutions, such as adjusting API settings and exploring alternative build methods, the errors persisted. It was only through the assistance of our classmate, Nicole, that we successfully resolved the issue and completed the build process.

 

Despite these challenges, we derived numerous insights and successes from the project. Our team, though small, demonstrated clear division of tasks and a willingness to assist one another when faced with difficulties. Notably, we successfully implemented four VR features across our four mini-games, with particular ingenuity shown in the gaze interaction aspect. Despite lacking eye-tracking capabilities in our Quest 3 headset, we devised a solution by incorporating raycasting above the user's head, yielding excellent results. Additionally, we dedicated significant effort to refining the UI elements, achieving remarkable outcomes without compromising the gameplay experience. By replacing loading bars with corresponding visual elements, such as the Happy Buddha for the "Splash Water" task and the Buddha halo for the "Stay Still" task, we enhanced immersion while ensuring clear gameplay instructions. Moreover, we introduced animated UI elements in the "Splash Water" and climbing segments, providing users with intuitive guidance on gameplay instructions.

 

In retrospect, these successes were built upon the foundation of our challenges. By confronting difficulties head-on, we were spurred to explore innovative solutions, ultimately fostering a stronger spirit of teamwork and enabling us to create a more polished VR project.

© 2023 by Xinchan's Portfolio. Powered and secured by Wix

bottom of page