top of page
Imvi poster.png

Time: Aug 2024 - Dec 2024

Role: Programmer in a team of 20+ developers

  • Generalist

  • Player Control

  • AI

  • Optimization

Skills: Unreal Engine 5.4, Unreal C++, Unreal blueprint, Jira, Miro, Agile Development, Unreal Insights.

Game Pitch:

Imvi: Echoes of Harmony is a third-person experience where you use the attractive and repulsive forces of black and white singularities to explore an ancient alien civilization to recover your lost memories. 

Unreal C++

​Open World

Exploration

Responsibility

Player Control Schemes

My first work is about player controls. Since it is my first time using Unreal C++, I have to research player controller class and add custom functions to inherited player controller class in game.

Screenshot 2025-03-03 213228.png

Part of the Player Controller Class

I was told to implement 9 kinds of control scheme to let the designer to test since fluent control is on of the most important part in our game. I did all of the schemes.

Different Control Schemes

Since I am taking charge of the player controller class, I helped our animation programmer to make the connection between animation and player control work well.

Black Singularity Control and Animation

Black\White Singularity Mechanics

The first part is about throwing mechanic. It is strongly related to player control scheme. I made a state machine to represent the state of the singularity and the state will change depending on the player input.

Throwing black singularity and attracting force

The second part is about black singularity attraction and player movement.

Calculation Code of the Force Added to the Player

The third part is making the singularity machanic designer friendly, aka. making a data table for modifying parameters.

Screenshot 2025-03-03 115630.png

Data Table for Black Singularity

Jellyfish AI

Jellyfish has different behaviors and I used Unreal behavior tree to implement the Jellyfish AI.

Guiding NPC: green guiding NPC will guide the player to the nearest collectible, and if it is near that collectible, it will wondering around the collectible.

Screenshot 2025-03-03 113900.png

Behavior Tree of Guiding Jellyfish

Wondering NPC: red wondering NPC will wondering around the world and if the player goes near the NPC, it will be scared away.

Screenshot 2025-03-03 113918.png

Behavior Tree of Wondering Jellyfish

Optimization

I also worked on optimization in this game. When I start my optimization, the FPS is lower than 20, and I try my best to make it stable in 60 - 80.

I used Unreal Insights to trace the potential performance issues in the game and used the following ways to optimize them:

  • Distance Rejection: objects which is far from the camera may stop doing complicated calculation

  • Particle Systems: Disable shadows, change them to GPU particles

  • Lighting: Reduce the amount of the lights, reduce the shadow casting lights

  • AI: Use behavior trees, reduce the calculations

  • ​Minimize physics collision detection

Screenshot 2025-03-03 114819.png

Finding Issues in Unreal Insights

Steam and Epic API

I add an achievement system in the player controller C++ class to check the status of the achievements. I wrapped the Unreal Steam API and Epic API by self defined functions in the player controller class.

Declaration of Warpped API Functions

Generalist

I worked with almost all the people from our team during the development. I helped the animation team, I did optimization, I worked on level designer related breakable walls and I did the player control which is a designer resiponsible part.

© 2025 by Xuanchen Shen. Powered and secured by Wix

bottom of page