top of page

Otherside Studios

Group of 14

2022-2023

Unity Engine

Camera Systems and UI Programmer

Self-Image

Self-Image is a 32 week long school project. It is an 3D puzzle platformer where you play as a young girl struggling with body dysmorphia. Anna and her Otherside version of herself, Fleck, work together to try and fix her mirror that was shattered. For this project I was the Camera Systems and UI Programmer.

Below is the camera system I have worked on. Our game uses a system that additively loads two scenes on top of each other because our characters are switching worlds and solving puzzles by affecting each other's world. My camera system went through many iterations, but in the end we are using a simple Cinemachine VCam with dolly tracks to get what we wanted. We have different VCams set up in each scene and we set the priority for each Vcam based on the trigger zone the player is standing in (as shown in the code below). We wanted to have the camera feel like Little Nightmares with a little more movement. In the end this is what the design team wanted and went with. I will also show you what one of the levels looks like with the trigger zones outlined.

Self-Image - 05-A_Kitchen_Physical - Windows, Mac, Linux - Unity 2021.3.9f1 Personal_ _DX1

The next thing I was in charge of was the AFK functionality of our characters. The biggest hurdle was making sure it would work in both worlds. When the player goes AFK a popup (different for each world) will appear with the controls of the game reminding the player what to do in case they are lost. It will then disappear as soon as the player moves.

Another area I was in charge of was the Fading Object System, as we called it. What this did was remove an item from the view of the camera if it got between the player and the camera. This was a major lesson for me in working with other groups. I had to spend a lot of time working with the design team explaining how the system works and how to implement it. This was probably my favorite area I worked on and a great experience. Below, I will show the code and quick video of it in action.

FadingObject.cs - Self-Image - Visual Studio Code 5_11_2023 7_58_49 PM.png

The last major thing I was in charge of was the menu system. While it was a pretty simple menu, it was different for two reasons. We wanted our home screen to be mostly visible while going through other tabs, so we decided on a popup system. The other addition we wanted was a tutorial menu within our main menu and our pause menu that would override what I said above. Overall, this was fairly simple. So instead of showing the basic images, below you can see the video of the main menu in action. I hope you like it!

Those were all the major areas I worked on for this project, however, I was also asked to help the design team and was placed in a semi leadership role. I also collaborated with the programming team, forming a great team dynamic.

bottom of page