Gladiator

Gladitor is a medieval hack and slash with a twist. The knight of the collusium must show the strength of his trainer, show the people he is the peoples knight. Players will fight mutated aliens that have decended down to earth. Only with a sword and shield players will fight until their last breath. Gladiator is a 3D hack and slash that pushes players to live or die in the areana. Onwards shows the development of this project. Gladiator was made in the unreal engine using C++ and event graph. Using event graph for animations and functions. 

Classes:

C++

Start frame & Runtime frames
Player Binding Input
Move & Jump functions
H file
previous arrow
next arrow
Start frame & Runtime frames
Player Binding Input
Move & Jump functions
H file
previous arrow
next arrow

The C++ Script allowed the player to walk forwards, backwards, left and right. It also allowed the player to jump up in the air and allow to stop jumping. That is if the key is not held down. It allows for the class to hold input binds for the relevent keys to be pressed which corespons with functions too. The class also sets up comonents, e.g. camera component, camera position, object rotation bool and adding a capsule component. The class is also intergrated with a blueprint event graph

Player Blueprint

Player Blueprint viewport
All Player Blueprint variables
Player Blueprint Variables
Player Beginplay & Tick
Beginplay value set-up
Damage & Health check
Player Dead
Damage Player
Player Pushback
Sword: Deactivate if statement
Sword collider activation
Turn shield collider on/off
Player running function
Player health function
Sword follows animation
Animation Motion Event
Motion event (motion transition)
Animations variables
Animation event graph player dead
Animation event graph, while player's alive
Animation transition when player is dead
Animation event graph idle to walking
Player starts walking
Running Function
Player attacks
Attacking movement monitor
Blocking initiated
Blocking change values
Strafing function
Chase 01
Chase 02
Chase 03
Health and Damage
Hit Shield
Update and Start
Follow Bone
Health 01
Health 02
Health 03
Chose Pickup
Collider Diffuse
SetUp Values 01
SetUp Values 02
Variables
Variables Exposed
Structure
Viewport
previous arrow
next arrow
 
Shadow

The player blueprint is used for users to control and fight in the arena. The player can attack with their sword and defend themselves with a shield against enemy attacks. The enemy can push back the player when the sheid is held up. The player can die while also regenerate health from a health pickup. The blueprint uses the C++ component functionality to move and add components to its structure however, the blueprint uses event graph to manipulate the logic that was created. I also used an animation event graph to balance all animations the player can play. This saved me from playing animations inside the player blueprint. 

AI Blueprint

AI Viewport
AI character Variables
AI public variables
Update and Start
Set health and attack values
Spawn & update healthbar widget
Being attacked check
Apply Damage
Health bar update
Is AI dead
Shield Hit
Chase player
AI attack
Kill AI and add UI points
Collider follow
Pick-up decide
Attacking?
previous arrow
next arrow
 
Shadow

The AI blueprint is the enemy of the arena, it chases the player when it is spawned in the game world. Once spawned the enemy will chase the player around, with one goal in trying to damage or kill the player character. The enemy can push the player back when hitting the player sheid too. The AI design was made to show physical strength thats why i allowed the enemy to knock the player back when raising the shield. When enemies die the player obtains points so they have a replayablity drive to want to beat that score.

Spawner & Pickups

Spawner variables
Spawner exposed variable
Spawner custom events
Difficulty AI
Spawner value set-up
Spawn actor decision
Spawning the actor
Pick-up variables
Begin-play and Tick events
Update damage pick-up
Pick-up interaction
Player extra damage function
Disable pick-up
previous arrow
next arrow
 
Shadow

The spawner in the arena is used the spawn the enemy AI character, the spawner is invisable so they dont clutter the scene. The spawner also monitors how many enemies are in the scene so it knows when to spawn another AI character.Whereas the pickups are spawned when an AI character dies. it was a way to add risk and reward during combat. The reward would be a power up in which lasts for a limited amount of time. The player can obtain damage increase or replenish health for the next wave of enemies. 

Gamemode & Game-Manager

Game-mode project settings
The UI Set-up
Pause time and player health bar
The Game-mode tick event
Game-manager variables
Game-manager monitoring
PC alive monitor function
Player dead
previous arrow
next arrow
 
Shadow

The gamemode controlled the game overall and what spawned before the play button is hit. Knowing that the player needed to be spawned and the game mode was the main blueprint. While the game manager allows enemies to be cleaned from the scene and spawns UI menus. allowing for the start and quit button to work, also letting the health menu for the player to be shown.

When approching this project i was taking on a new and interesting mission. I was introducing myself to a new game engine which is a powerful one and there was a lot to learn. i wanted to make this game because i wanted to allow replayability to a simple game, while exploring different parts and functionalitys of unreal. 

If I was to go back and add more to the game I would want to add different AI characters. Adding more possiability to how enemies interacted and conflicted with the player; Allowing more room to make players feel challenged. I would have liked to add a difficulty setting so more enemies can be spawned which would also encourage my idea of combination attacks. Allowing room for more animations and build up attacks to deal more damage and add a style of fighting too.

The game is located here on Github