Defend your friend (DYF) is a 2D side (& up and down) - scrolling co-operative puzzle game where the players have to protect each other using their individual abilities. One player has a shield to block projectiles and reflect beams, while the other has a beam they can use to push away objects and activate mechanisms. Both players need to actively watch each other’s backs to make it through the multiple puzzles and traps, encountered inside the ancient temple they found themselves trapped in.
For this project, I was the tech lead, making sure that we had a planning to start with and the programmers always had a task to complete. While managing the team took quite some time away, I also worked on smaller tasks myself, like creating the camera, the crystals and the doors. I did a lot of work making sure the characters behaved exactly as the designers wanted them, and worked closely with them during most of the gameplay programming.
The camera system follows the center of the two players smoothly, and also has a system in place for the designers to easily add focus points. These focus points are then treated as another point for the camera to calculate the center from. This makes it easy for the designers to manipulate what the player can see, making sure the puzzles are properly visible.
Since this is a co-op game, making sure people can play it together is quite important, especially on PC people will not often have 2 controllers to play with. To make sure that these people can still play the game with their friends, we decided to implement online multiplayer. I created the initial setup, so we could have 2 clients connected playing the game together. After that I worked on integrating Unreal Engine's online subsystem so we could start using Steam and other platform systems to invite friends and accept invites. Making sure that people aren't just connected, but the host can also initiate the travel to the playing level.
I made sure the game would run on the platforms we wanted it to run (Playstation 4 and Steam). For Steam this meant integrating Steamworks and making sure people could invite their friends, and join their friends' games. For Playstation this meant using their publishing tools to test the game on the PS4. Implementing Achievements and Trophies was also part of this.