Sunken Heart is a 3rd-person survival horror game that takes inspiration from Alan Wake & and Resident Evil 4. The game looks to create a horror atmosphere while being heavily influenced by narrative and combat. I was the combat designer for this project.
Game Playthrough
Platform | PC
Playtime | 20 Minutes
Engine | Unreal Engine 5.3
Download on itch.io | Link
Duration | Sep 2023 - Oct 2023
Team Size | 5
Roles | Combat Designer
Responsibilities
-
Led the tech team, managing tasks and guiding the overall gameplay design of the game.
-
Designed and implemented gunplay and combat mechanics.
-
Made tools for the level design team to setup and easily customize combat encounters.
-
Designed and implemented the basic enemies and boss.
-
Worked on tuning combat to be anxiety inducing and fun balancing action and horror.
-
Worked on bug-fixing and playtesting the game's mechanics
-
Merged work made by different people in the team
Designing and Implementing the Flashlight
I had the responsibility of designing and implementing the combat mechanics in the game. So, let's talk about one of the core aspects of the combat system. The flashlight, is a mechanic based on the Alan Wake 2 Flashlight.
Let's talk about horror: One of the main things when making combat for horror games is to make the player feel some sort of anxiety. One of the ways of doing that is passing the feeling of powerlessness through restricting the ways that the player can interact with the enemy. The enemies in Sunken Heart have a mechanic called Cloaking, this disables most interactions from the player to the enemy making them more imposing and scary. However, some sort of Counterplay must exist, and that is the Flashlight. This mechanic stuns and removes cloaking from all the enemies hit by it, this way enabling the player to enemy interactions. Now, the player has a window of time to finish the enemy off before the enemy can re-cloak.
Enemy Hit Detection
The enemies have different collision boxes attached to each limb. These collisions handle the damaged animations, damage multiplier, hitstun, and where the visual effects will play.
You might ask why use collisions over the physics asset? By using collisions, we're allowed to have high precision hit detection at any size and shape without affecting anything else. The way the collision is handled, is that the capsule handles the floor and actor collision, while each hurtbox only handles collisions with bullets. And since those won't affect anything else in the game, we were allowed to make them bigger then the actual limbs. This way if it looks like the bullet hit the enemy, it will hit the enemy even if it only got close to it, so the players won't feel cheated when aiming close to an enemy on a fast paced action scenario. And due to this being a single player game, we wanted to reduce frustration on the aiming portion of the game, so we could increase the anxiety through other means, like enemy behavior.
Damage Application
Instead of doing the usual damage application where one actor damages the other. In sunken heart, one actor sends a damage message through an interface to another. Then the damaged actor inflicts self damage based on the information passed from the damaging actor.
This allows for more parameters to be passed on damage events. It can pass the location, name, damage, and type of hit, for example. This was used to add different properties for attacks, and also facilitated to implement the different and precise hit reactions for each enemy.
The Witch
The Witch is the boss of the game. This enemy has more complex behaviors and a wide range of attacks that change depending on WHICH phase it is at.
Complete Fight Against The Witch
Fight Breakdown
Phase 1:
In this phase, The Witch is more melee focused. Approaching the player, weaving in with dashed and mixing up attacks with rolls. This phase tends to be easier due to the more predictable behavior, and lack of ranged combat.
Witch Attack
Witch Dash
Phase 2:
In this phase, The Witch is more ranged focused. It gains a projectile spell. The projectile allows The Witch to attack from afar, and on each successful hit it has a chance to teleport towards the player and jump scare him, causing the character to flinch. The Witch also gains the ability to summon enemies in this phase, if not interrupted, The Witch will summon one regular melee enemy to assist her in the fight. If The Witch dies, or if the enemy is not killed within 35 seconds will automatically die.
Witch Projectile
Witch Summon
Phase 3:
In this phase, The Witch becomes more balanced, having enhanced ranged and melee capabilities. The chances of triggering the jump scare attack are increased. And the summon enemy starts summoning 2 enemies instead of 1. The fight begins with The Witch breaking the ceiling, this allows her to use a new ability. This ability marks an area in the ground, a meteor then is spawned and approaches that area. When in contact with the floor or player, the meteor explodes dealing a lot of AOE damage. The Witch also get's a second ability, after a casting period, The Witch will spawn 5 projectiles, that follow the player, the player will be unable to dodge all of them, so it is recommended that they interrupt the casting.
Witch Double Summon
Witch Meteor
Witch Barrage
Witch Ceiling Destruction
The Combat Component
The combat component is an actor component that handles most of the combat functionality in the game. This modular component can be added to any actor, and that should automatically enable said actor to be a playable character. The component holds the combat functionality and animations. Those can be changed in the editor to quickly change the attacks, weapons and movement options without needing extra code.