Erin and the Other World

One of four programmers in a team of twelve. 4 Programmers, 2 Designers, 3 Artists, 2 Sound designers, 1 producer.

I have extensively worked on building the UI system for the game. Ranging from the menu system to player progression throughout the game. I am the primary programmer involved in implementing various UI elements created by the artists and designers. I have also worked on the core mechanics of the game and system-user feedback. .

    UI/UX Programming

  • Designed and implemented the menu system for the game. It includes dynamic resolution, media controls and a tutorial screen.
    1. When I first joined the team, the game was heavily lacking a menu system. I sat with the designers to figure out what were the most important features we wanted to implement. We decided that it should house a tutorial, accesibility features and play-pause options.
    2. Building the menu was the easy part, implementing the various features was not so much. I had to make sure that the resolution scaling would not affect anything else in the game canvas. This was accomplished by using the unity in-built funtion SetResolution(). I created an array of various resolutions that the player could cycle through and allow them to apply the one that suits their needs.
  • Created a dynamic UI bar which displays player health, mana and level progression. It also keeps track of bonus energy, number of possible constellations and currency.
    1. The designer, producer and I spent hours mapping out what the UI bar should look like. It should be informative, intuitive and visuallly appealing, but not distracting. We wanted to craft the ultimate player experience.
    2. It was supposed to be a dynamic UI bar which displays player health, mana and level progression. This was accomplished by getting the values from the GameManager script and updating the UI bar as the game progresses.
    3. Bonus energy, number of possible constellations and currency were all imported from the StarManager script and UI would update to reflect those values.
  • Tweening and Animation Programming

  • Tweened many sprite elements in the game to respond to player interactions and moves.
    1. I tweened UI elements to react to player moves in order to provide feedback.
    2. I used a scaling tween function for the bonus tracker, movement tween when the player takes damage and a color tween for a few UI sprite assets.
  • Implemented player animations, created by the art team, for various events. Also implanted a sprite-flash (like Pokemon) when taking damage.
    1. I implemented player/enemy attack and idle animations triggered during various encounters.
    2. The designers and I felt that there is not much feedback when the player takes damage. So, we decided to create a sprite-flash. This was accomplished by swapping out the player-sprite material for a new “flash” material for half a second.
  • Communication and documentation

  • Being one of 4 programmers, in a group of 12, I had to make sure that my non-tech colleagues were able to understand the gameplay systems I had built.
    1. Effective communication and documentation were pivotal for this. Collaborating with artists, designers, and producers, I established open channels of communication through regular meetings, ensuring a shared understanding of the system's core elements.
    2. I meticulously documented the system's architecture and implementation details, creating a vital reference point. This approach facilitated seamless collaboration and rapid adaptation to evolving project requirements. When adjustments were needed, artists, designers, and producers could rely on the documentation, ensuring efficient system modifications