
Operation Pegasus
Tactical First Person Shooter Prototype
Work
"This is what you have been training for! Don't stop now!"
- Major Wilson, Operation Pegasus
Operation Pegasus is the finished solo prototype created from a game design document. Operation Pegasus is a tactical first-person shooter game.
Play as Colonel Nathan Gunner, a strong-headed ex-army veteran whom Major-General Wilson has recruited to join the special forces team Operation Pegasus, where you will be trained through real-life scenarios to upskill your opponents.
​
​
​This project was carried out as a solo project and allowed me to experiment with roles such as:
​
-
Game Designer
-
C++ Visual Scripting
-
Level Design
-
UX/ UI Design
​
Note: I did not make any of the assets or sounds/music and I do not own any copyrights to these sources. These sources have only been used in the project for educational and personal use.
​

Tutorial - Operation Pegasus
The player learns the controls of;
-
shooting mechanics (aim, reload, recoil control)
-
movement mechanics (Walk, run, jump, slide),
-
destructible environment mechanic (shooting through walls, blowing up walls with C4),
-
Customisation mechanic (picking weapons, adding attachments, understanding weapon and attachments attributes, adding camos)

Level 1 - Operation Pegasus
In this level, the player puts together everything they have learnt from the tutorial in a run and gun exercise where they can test out all the weapons in the game and their attachments to see what best fits their play style.

Level 2 - Operation Pegasus
In the final level, the player is able to put everything they have learnt from the previous two levels into action by using their drone to find hostages and eliminate terrorists that are roaming about the house.
Core Loop

Design Pillars

Game Design Document
The customisation system allows players to tailor the game to their playstyle through weapon and attachment attributes. For example, adding sight to a weapon will increase weapon range but reduce the player's mobility.
​
To make the most out of this system, I introduced data tables into the project. It allowed me to store each weapon and attachments variables/ data in one place, reducing unnecessary data to be run by the system.
Customisation Development


Attachment Stats Pre-Production
Spreadsheet showing how each attachment affects the weapon/ player attributes.
Datatables allowed me to store all my information in one place to make it accessible through the weapons and the character.
Attempt 1
Attempt 2
You have to physically click on the assault rifle button to populate all the weapons within the data table which didn't appeal to me after I did it, as I want the player to have a fast engagement experience that will involve the player doing as less work as possible which will ask more pressure from the system to do it.
As you can see I've made further progress with the customisation by creating more child actors of my base weapon, then adding the appropriate child actor to the correct preview class. As well, if you haven't noticed the location of the weapon attributes has changed location. This was due to the progress bars, not knowing which information it should be driving for the widgets as there was a new attributes widget on each canvas. Therefore to reduce redundancy, I deleted all the weapon attribute widgets and just made one display on the main widget instead of the widget switcher.

View Blueprints: Click Here
Weapon Data Table
With it being a tactical first-person shooter it was critical to making sure that the player had various weapon features like;
-
leaning,
-
aiming,
-
shooting,
-
reloading,
-
bullet spread,
-
weapon recoil.
Weapon Development

Recoil Diagram
When the gun is fired it will increase both the minimum and maximum velocity (MAX_V, MIN_V), and the minimum and maximum height offset (MIN_H, MAX_H) of the weapon in degrees.

Leaning Diagram
If a player is aiming and the left or right joystick is pressed, the player will lean the set direction. However, if the player is not aiming, these controls will be used to carry out other functions such as sprinting and melee.

Weapon Spread Vs Movement State
How different movement states can affect the bullets spread, which is set by the weapon spread values
Old ADS System
Originally every weapon was using the same hip fire and ADS location which resulted in the sights not lining up correctly with the bullet once it was fired.
New ADS System
I went back and changed this by setting each weapon to have its own ADS location and you will notice how the sights now correctly line up with the bullet impact destination. With there being a total of 40 weapons in the game it meant there was 80 additional ADS locations.
Operation Pegasus aimed to create a real-life experience for the player by allowing them to shoot down soft material objects as well as breaching through those stronger materials to create new and creative access points to rooms.
You wouldn't have to rush into a building blind in real life, so why should you be here? Operation Pegasus wanted to make its players use a drone to count out the hostages and access and exits point of the building, allowing them to think before acting.
​
​
How the player and enemies interact in the game has a tangible impact on the player experience. Therefore, Operation Pegasus provides two different enemies types.
-
Terrorist AI - uses an EQS system to allow the AI to move to cover points around the player and create flanking routes.
-
Suicide Bomber AI - roams and pushes the player until its count down is finished and then blows up, damaging the player heavily.
