Spring/Summer Project 2023 - Week 2
- Kelson Wysocki
- May 16, 2023
- 3 min read
Hello everyone, I'm back again this week to talk more about my current project. Thank you to everyone that read last week's post. I struggled to make progress on the project this last week which made it difficult to figure out what to talk about here.
What changed?
The main focus of this last week was spent on combat. An attack for enemies was added, how actors are damaged was changed, and giving hit reactions for the player and enemies using animations.
Enemies That Attack
When looking at where the project was at the end of last week, creating an attack for the enemy was the next main step for adding to the project. The process for creating this attack was similar to how it was done on the player.

First, a collision box would be added to the enemy blueprint, initially the size of the box doesn't matter much. Once this collision box was in place an animation was chosen and the animation notify nodes were added when the damage should trigger and for the end of the animation.
Changing How Actors Are Damaged
Originally the functions for damaging an actor were inside a parent class that both the player and enemy inherited from. While this implementation worked I felt it made more sense to instead use an interface for applying damage to different actors. The main advantage of using an interface instead of a parent class is now I am able to make any actor damageable in the project without that actor gaining the other parts of the parent class used by characters. Additionally, it aligns with how the damage was done in previous projects I've worked on in Unreal Engine (UE) and it also reduces the number of responsibilities of the parent class.
Hit Reactions
Something that really felt missing from last week was a reaction from the enemy when they got hit. There was one main question I needed to answer when making this, should getting hit stun the enemy or player?
For the player, I decided that getting hit shouldn't interrupt anything the player was doing. This was mainly done because I didn't want the enemies, at least for now, to be able to stun the player in any way. The number of these basic enemies that are intended to be present at once along with the lack of any dodge mechanic also went into this decision.

Enemies on the other hand would make sense to add a stun when they get hit. This was done for two reasons, it gives the player a chance to crowd-control groups of enemies and it also worked better for the set of animations that I was working with. When first testing this it, having an enemy that got stunned every time they were hit, especially for how long the animation was, meant that the player could get in a situation where they were never at risk of taking damage. To mitigate this I made it so enemies only reacted to getting hit when they were above 50% health. This helped enemies feel a bit more threatening, especially in large groups where it wasn't as easy for the player to focus on specific enemies.
Next Steps
Some of the things I want to add in the future are abilities for the player, a ranged enemy, and an upgrade system for the player. Improving the enemy behaviors and making a more interesting wave and burst system are also on the list of things to work on.
Thank you for reading, I really appreciate it. I also realized comments were set to member-only by default and it should be open to anyone now so feel free to leave any thoughts or questions below.
Comments