Key Features
-
Automated Camera Controller
-
3v3 Class-Based First-Person Shooter
-
AI Behaviour with abilities
-
UI widgets to evaluate performance
The foundation for the game is built using Unreal Engine's Lyra Project. I have altered the base game to include Tank, Damage, and Support classes each with their own abilities.
Priority Dictionary
-
A dictionary is used to store the priority of every player within the game.
-
The priority of each player is adjusted automatically based on the actions they take (e.g. shooting, dealing damage).
-
The priority of each action expires after a set delay and is removed from the player's priority value
-
The spectating camera looks through the players and spectates the highest priority target.







Heat Map
-
Built in addition to the priority dictionary.
-
The average world position of every player in the game is calculated.
-
The priority value of each player is adjusted based on their distance to the average.
-
The change in priority is linked to a falloff equation; minimum priority above 3000 units, maximum priority under 500 units.
Combat Prediction
-
Built in addition to the priority dictionary and heat map.
-
Designed to predict engagements between players.
-
The closing speed of every player is calculated using each player's current position and their position one second prior.
-
If two players are close enough and have a high closing speed they are prioritised for spectating.



