Boss Fight Recreation

Second Year University Coursework

This demo is a solo project that I worked on, with the aim of recreating the core mechanics of a boss fight of my choice. This was my second time using Unreal Engine for a project, and I used a combination of Blueprint and C++.

[ Brief: Implement working and maintainable systems of play and incorporate them into digital games with appropriate consideration for engineering and design principles.]

Game Engine:

Unreal 5.4.4

Role Played in Project:

Solo Developer

Time Taken to Complete:

September 2024 - December 2024

Overview:

The boss fight I chose to recreate was the Deathstroke fight from Batman: Arkham Knight. This fight involves the player navigating a section of the city in a vehicle, while destroying enemy tanks that surround the final boss, which is a larger, more powerful tank.


I chose this because of its relatively simplistic design, but also because it served as an introduction to basic AI enemy movement —something which I could then learn from and build upon in future projects. and it provided unique challenges.


The final result successfully recreated the core gameplay loop of the Deathstroke fight, featuring a similar movement, aim system, projectile system and enemy AI models.

Features:

  • Dynamic player movement which simulates vehicle acceleration

  • Enemy AI movement

  • Enemy AI projectile system

  • User projectile system

  • Basic city design and lighting

  • Health systems for both player and enemies

  • C++ integration for the player and enemy scripts

  • Optimisation



Reflection

This module provided a unique challenge in the form of analysing an existing game and implementing mechanics that would allow it to function as close to the inspiration as possible within the timeframe. Many unassuming details needed to be taken into account, such as the enemy AIs' patrol paths and the player vehicle acceleration, in order to make the game function as intended. It was these details that, at times, proved challenging to recreate on a smaller scale, but their inclusion made a noticeable difference to the final product.


This project was also my first time creating AI enemies in Unreal Engine, and I learnt a lot from it and was pleased with the final results during testing. Furthermore, it was integral to the project to consider optimisation. I mostly demonstrated this through the lighting effects, as the city contained lots of artificial light in the form of lampposts, which initially affected the gameplay performance. I was able to adjust this, along with other aspects of the game, in order to optimise the framerate, GPU and CPU usage.