Cosmic Repair Duo
Project length: 7 weeks
My position: UI Programmer, Gameplay Programmer
Engine: Unreal Engine 5
Genre: Local Co-op, Puzzle Game
Platform: PC
Cosmic Repair Duo is a cozy local co-op, puzzle game made in Unreal Engine 5 and C++ for GP3 at Futuregames.
Team size: 13
About
Contributions
In this project I was responsible for the menu UI, elevators and the objective managers. We used Perforce as source control, Miro for prototyping and Jira for project management.
​
​
Settings
Audio Settings

The audio settings uses 3 sliders each connected to an audio class that is connected to the audio mixer which in turn controls the volume for all sound that is connected to any of the audio classes.
​
The values of all the sliders are saved in the game instance, that way sliders persist when changing scenes.
Video

The video settings uses the UE5 Game User Settings to get supported resolution settings for you screen and adds them to a list and sets the text to the current selected resolution.
​
When you press the buttons you will go up or down the list of resolutions and the text will update to show what resolution is selected and clicking apply sets the resolution of your display.
Elevators
When the player interacts with the elevator a set number of times the elevator moves up a TimeLine as an alpha to lerp the elevators position between its origin point and the point were it is suppose to go to.
When the elevator reaches the top it it will go back down after a set amount of time.
​
​
Objectives Manager
The objectives manager is used to let the game know when the player has done all the objectives in the game.
​
The objectives manager uses a list of puzzle managers that will call a function in the objectives manager, telling the manager that a puzzle has been completed.
​
When all the puzzles are completed, the objectives manager tracking the puzzles will trigger a win condition.
Take Aways and Reflections
When making the objective manager I collaborated with the systems designer on how they wanted the objective manager to connect with all the puzzles in the game.​
​
When making the elevator for the game I had to communicate with the programmer that was making the player controller, so the player can interact with the elevator.​​ When making the settings I just needed to know what setting to add to the game.
​
One of the takeaways from this game project is that other people can help you with your task. I learned that because I created the alpha version for the UI for one of the minigames and then another programmer continued with it to make the system for the minigame more advanced.
​
I learned how Perforce works with Unreal Engine and this was also the first time I made a game with others in Unreal Engine.
​
A problem we had during the development of the game was deciding on if the game should be single player or split screen multiplayer. This argument in the team went on for quite a long time because one half of the team wanted single player and the other half wanted to do split screen. This was later solved by deciding to focus on split screen with single player in the backlog for when we have time to implement it.​​​
​
What I learned during this project is the importance of letting everyone talk during a discussion, that way they don't feel left out. Sometimes you also have to modify the original idea so everyone in the team can come to a agreement.
​​
​
​