Lich Ability: Gravitational Surge/Vortex


Gravitational Surge/Vortex Ability

Author: Zak Levine

Date: April 7, 2023

A vortex or mini-blockhole is an ability in many games that sucks players toward a center point. The main game I based the ability on was Overwatch. The ability paired perfectly with the lich enemies' current skills was an ability that would allow them to keep the player in place for a short period.

There were many different settings and features that I needed to think about before implementing. For instance, the ability does not activate until it hits anything that is not an enemy or the player. I also had to implement it in an easily switchable way between targeting an enemy or the player. However, the main issues that arose were the inability to add force to character movement actors and the ability to add multiple enemies to the vortex.

A big issue I encountered was that adding force to character movement was impossible since it did not have simulated physics. After some research, I discovered that Unreal uses the Launch Character function for character movement instead. However, the characters were still not moved correctly after implementing the operation. After much debugging, I realized that the player's input or the enemy's AI might be overriding the Launch Character, so I added a Stop Current Movement before the launch character in the loop. The fix worked and dragged the character toward the center of the vortex.

Another major problem I learned after I got the Characters moving was that the vortex only moved one character. I needed to set up a system that ensured all characters in the range of the sphere would be affected. To accomplish this, I first changed the beginning overlap to add to an array; I also called a get components overlapping to get any pawns in the circle when it first spawned. I then changed the Launch Character function to affect everything in the array on a 0.2 seconds delay. I also implemented an End Overlap that removes from the array if the pawn is no longer in the sphere. However, I had to add another check to ensure the pawn was not in the array because when an enemy or player attacks, there is a bug that ends all overlaps. Everything happens after the ability activates or the mid-point touches the ground or objects, and the force loop ends after the ability destroys itself after some time.

Overall the ability works great both functionality-wise and in terms of gameplay. It pairs well with the lich's tornado ability and allows the player to do a massive amount of damage to a cluster of enemies.

Leave a comment

Log in with itch.io to leave a comment.