Third Person Combat Prototype
Current Progress:
Project Objectives
Recreate the basic mechanics from a third person combat game (Dark souls, Devil May Cry etc) in Unreal Engine 5.
Design a short level blockout that would fit in the style of Dark Souls.
Create a fun but basic experience in which players can kill basic enemies.
Learn more about Unreal Engine Blueprints and Combat Design
Project Status
Currently in development
Tools
Unreal Engine 5 (Blueprints)
Mixamo
Why?
When beginning this project I simply wanted to create basic third person combat to see what went into creating such a system. This would inform future decisions upon what projects to proceed with in the future. Therefore, this project was a bit of a test run to see if I had the capabilities to make a playable game from this. I already had some experience with designing melee based combat from working on Zakumba: Astraia with AfroDuck as one of the main things that I worked on was improving the feel of combat.
What I Did
First, I created the basic movement system, implemented a model from Mixamo and some animations. Then, utilizing Enhanced Input Actions and Anim Montages I created an attack. This is just a primary light attack.
(To Note: Using anim montages is extremely useful for attacks that have multiple different attacks if you keep mashing the button. For Example: If I wanted my light attack to have another swing if you keep hitting the light attack button (Within a certain amount of time of course), I can. In fact, I can have as many different animations as I want.)
Of course, I needed enemies for my character to hit and just cloned my character (for now) and changed its materials to set it apart from mine. Then, I made it so that when the enemy gets hit, it reacts by getting hit back and particle FX appear at the impact. I tested around with the attacks to see if I should snap the rotation of the character to the enemy when attacking or even snapping the position of the player to the enemy when attacking but this felt too automatic and I wanted a more fluid attacking system similar to dark souls. Therefore, I now have attacks that can be executed but like dark souls, it is difficult without locking onto the enemy so I added a lock on system.
The lock on system was actually an addon that I downloaded from the marketplace but worked perfectly for what I wanted. It used a weighted system so that it prioritises which enemy is in front of me and most likely to be the target of my lock on, it also has a lot of flexibility in changing features such as whether this locks the rotation of the camera when locked on and if so by how much etc etc. Overall, saved me a ton of time and allows me to tweak it to my liking.
Camera
The camera is a huge part of the combat as I wanted the camera to feel as unobtrusive to the combat experience as possible. However, this is something that some of the dark souls titles actually struggle with quite a lot, especially the older ones. I will have to ensure that the camera is as close as possible to dark souls camera and other third person melee combat games. This is difficult with a lock on system and lots of props as I will have to decide whether this can obstruct the camera or fade through, most likely I will have the objects in front of the camera fade with a gradient effect to show that something is blocking the camera but you can still see through.
Features to add:
Dodge Rolling
Enemy Attacks in a more realistic manner rather than just hit every 1 second once at a time.
Combo System
Implementation of what makes Dark Souls combat fun (Weight to attacks, windups, reading attacks etc)
Health System
Heavy Attack
VFX
Attack Hits
Weapon Trails
Audio
UI
Improved Camera
Features Added
Basic Enemy AI
This can find the player if nearby, then will go to attack the player by finding a position around the player to stand and circling around the player to attack. The enemies will attack one at a time to avoid getting hit all at once but this will most likely change as Dark Souls combat tends to be different to this.
Lock On System
Basic Combat
Basic swing attack and basic combo attack, needs to be refined as does not feel weighty enough. May have to create some animations myself if I want to achieve my desired results.