Brief Overview: In When Pigs Fly you play as a farmer, returning home from a long day of work only to find your beloved pigs kidnapped by the infamous wolf gang. When Pigs Fly is a 3D ability based platforming game with first person shooter elements.
Technologies Used: Unreal Engine 5, Jira, Blueprint, Microsoft Teams.
Duration: 6 weeks of development.
Role: Technical team lead.
As the tech team lead, I kept our development efficient, on track and fun.
Utilizing Jira and Miro, I kept us up to date with new tasks and features to be implemented from Design, as well as cut content which was no longer feasible.
Ran weekly meetings with the Tech team to ensure everyone was on track with their targets, as well as provided assistance to junior developers when needed. Allowing everyone to always have work to do and development to be on schedule.
Communicated with designers to ask clarifying questions about features and the vision for the project.
Further, it was my job to keep the Git-Hub managed and conflict free.
To achieve this, I taught juniors/those with less experience good Git-Hub practices and added strict protections of the main branch. This worked wonderfully with a minimal number of merge conflicts/problems with git-hub throughout our project.
Profile Creation System
I created a system in blueprint which allowed players to create their own unique profile, with a profile picture and name.
The system was for our (small scale) game, so I utilized unreal engine's save game objects. For our local arcade style game this implementation was fine, however, to scale this system, I would like to use my recent experience with MySQL and C++ to further optimize and allow the game to keep track of the leaderboard on different PCs.
The system has checks to prevent multiple players using the same player name, and allows players to change their PFP at any time.
I created an easy set of functions using a blueprint function library for other members of the team to interact with the system efficiently, such as for the leaderboard.
Vaulting Mechanic
I implemented a system for vaulting style movement which allowed designers to set objects as 'vault-able'. It works like this:
The player presses space whilst running, firing a line-trace forward to check for any objects with the 'vault-able' tag.
If the player is moving in the direction of the vault-able object (not moving backwards/trying to escape something), the player will perform a vault action instead of a jump.
The system uses vector math and navigable checks to find the best place to put the player after the vault is completed.
The player's location is interpolated to the vault end location, along with an animation on the camera and some screen effects for player feel.