top of page
  • Holly

Launch Title (Week 6) - Enemy Spawning System

After having a few people playtest our game this week, I tried to gather as much feedback for the combat as possible. Something I had specifically noticed during most of the playtests was that players could very easily avoid most enemies and continue through the level without having to deal with them. Many players also stated that they felt that enemies were just scattered about without much structure.


I realized this was a pretty big oversight on my part, since I hadn’t thought about how exactly enemy encounters would be structured yet. My solution was to create small “arena” zones throughout the level that would block the player from progressing until enemies have been dealt with.



To do this in Unreal, I made a simple Actor with a trigger box. Each one contains an array of enemy “waves” that can be defined. For each wave, a list of enemy spawn points can be placed. Additionally, each actor can reference multiple Arena Wall actors that will be activated once the enemy waves begin, and will prevent the player from leaving.



The other main feature I worked on this week was a prototype for a block ability. After pressing the block button, the player character enters a blocking state for around 2 seconds. Any enemy attacks that hit the player during this will still apply knockback as usual, but all damage will be mitigated. After the block ends, the ability has a short cooldown before it can be used again.


To help indicate that these attacks were successfully blocked, I added a simple particle effect that spawns on the attack hit.


Something I found after testing the ability was that while the timing and duration of the block made it effective against a single opponent, it had an issue when dealing with multiple enemies at once. Often an enemy’s attack would be successfully blocked, only for another enemy to launch an attack just as the block timer expires. Since the player can’t dodge or do much to react in this situation, they would be forced to take damage despite timing a block successfully.


To fix this, I made it so that the block’s timer resets after blocking an attack, so it can deal with many successive hits in a row.



1 view0 comments

Recent Posts

See All
bottom of page