menu

Imvi: Echoes of Harmony

Introduction

Soar among the stars in Imvi: Echoes of Harmony, a third-person open-world experience that invites you to slow down. Harness the attractive & repulsive forces of Black & White Singularities to traverse and explore an ancient, wonder-filled world as you collect and revel in the memories of those who came before.

Duration: Jul 2024 - Dec 2024

Technologies: Unreal Engine 5 | UE C++ | UE Blueprints

Team Size: 23 Developers

Role: Lead Programmer

Key Features

  • Relaxing, open-world game in a space setting with floating islands each with a differnt 3D orientation.
  • Use black and white singularity powers used for traversal and interactions with the world.
  • Collect memory fragments, lore tablets and light all shrines.
  • Use the white singularity to bend trees, push asteroids, break walls and trigger star sigils and rift teleporters.

Responsibilities

  • Contributed to milestone delivery documents, stakeholder presentations, technical design documents and sprint planning.
  • Enabled smooth communication between programmers and other developers including level designers, artists and producers.
  • Set up daily builds using a python script on a build server with Slack API integration and enforced best perforce and Unreal practices.
  • Contributed to the game's design decisions and collaborated with programmers on challenging math and code problems through whiteboard discussions and pseudo-code.
  • Developed debug features for development and in-game media capture tools for the creation of marketing materials.
  • Contributed to Unreal blueprints for menu UI using the Advanced Menu System.

Managing Scope

Our game had a tendency to keep getting bigger in scope, especially from a programming and mechanics standpoint, and for a large part of the project I failed to play my part in saying, "This isn't in scope!" I valued everyone's ideas and knew how they would like to see them in the game, and in an attempt to not let anyone down, avoided mentioning this, putting in a lot of overtime work myself to try and bring these ideas to life. However, it was only towards the end of the project that I realized that saying no to some ideas that weren't in scope wasn't a bad thing- it was actually better to be upfront about it rather than trying to keep implementing more features only to find out later that it would have to be cut. Another lesson from this was the need for me to better handle my emotional attachment to the game and tell myself the same thing that I told all programmers- not to put in too much overtime.

Addressing the Lack of Developer Buy-in

One major challenge during the development of this game was a lack of buy-in from developers, and as the lead programmer, I wanted to address this with all programmers. We did a meeting with all programmers to discuss everyone's concerns, and since the game's theme had already been decided by then, we decided to take a day where all programmers could work on anything cool that they wanted to add to the game, with everyone showing off their ideas to the rest of us and other leads at the end. This resulted in some amazing ideas and while we weren't able to incorporate all of them, a lot of these ideas went into the final game. The most important impact of this meeting was a morale boost for all programmers and a huge learning for me about how small actions and freedom in contribution to the game could have such a big effect.