My role in making Exsanguis
Overview:
Exsanguis was a game developed as part of a game project during my education at future games. it was developed in 4 weeks with 2 weeks of pre-production and prototyping.
My Responsibilities:
-
The player character
-
The players projectiles
-
upgrades for the player and their projectiles
Challenges Faced:​
-
lack of time
Engine: unreal 5
Programming language: c++
Itch.io link: https://the-major-squadron.itch.io/exsanguis?password=GP4
The Player script
Contents:
This script contains most of the functionality for the player, this includes
-
movement
-
melee attacks
-
dashing
-
firing projectiles
-
upgrading
​​
Solutions:
​the melee attacks start when the melee button is pushed down this starts a timer, when the attack button is released the timer is checked to see if a normal or heavy attack is performed. A Box in front of the player checks for overlapping enemies and deals damage to them.
​
Dashing starts a timer that interpolates the players position. The players capsule collider is set to not collide with enemies while a trigger sphere surrounding the player is activated. This sphere deals damage to enemies entering it.
​
Projectiles are spawned at the players center. A ray is shot from the camera centre to see where the projectile would have landed if it came from there.​ The projectile is rotated when spawned so it hits where the ray predicted it would have landed.
​
​
​​

The Baseline projectile script
​Contents:
This script contains most of the baseline functionality for the projectile. This includes
-
Spawning and Despawning
-
Movement
-
Upgrading
-
Hitting Enemies
​​
Solutions:
The projectiles spawning and despawning is handled by enabling and disabling ticking, collisions, and rendering.
The spawning additionally handles upgrading the projectiles, an array of stat increases is looped through and added to the active stats.
​
The movement is quite self explanatory, collision is handled by sweep.
​
When an overlap begins it will check for enemies within a certain range. If any are present and the hit enemies are fewer than the projectile forking variable they will be added to a queue, then the process repeats until no enemies remain in the queue.
​​

The Electric projectile script
The electric projectile overides the base hit function in order to allow for some additional behaviors, for example spreading through puddles or filtering for enemy types.

The fire projectile script
The fire projectile contains additional logic allowing for explosions and the ability to set fire to enemies.

The Blood projectile script
The blood projectile positions itself in front of the player and acts like an AOE cone, it despawns after a few seconds
