top of page

Overseer

Developed in Unreal

"Overseer" is an automatic observer for First-Person Shooter esports completed as part of my university honours project. An algorithm determines the best camera to observe to capture the best moments. The observer is built on top of Unreal Engine's Lyra Project.

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.

bottom of page