WHAT MAKES A HERO
What Makes a Hero is an third-person action adventure rpg combat system made utilize the PlayStation DualSense Controller.
​​
My main focus for this project was create a responsive hero system design and integrate technology used in the DualSense controller for additional feedback.
​
Another goal of the project was to focus on camera design, and what different behaviors a camera movement might follow within the genre.
​
Role
Duration
Solo Project
06/2023 (1 Week)
Tools
Unity, C#
Controller Mappings
Comfort in Controls
I created a controller layout, referencing other third-person action adventures in research for what buttons and configurations would feel most intuitive to players in gameplay.
Player Abilities
Combat Design
I created 3 different abilities the player with varying purposes that would aid a player in a combat encounter with the three abilities representing the ability to: block, attack, and evade.
Shield
For the Shield I wanted to focus on making the player feel fortified and strong when they enable their shield.
​
To accomplish this I applied different feedback responses:
-
Animation Responsiveness (Fast shield deploy, no delay in combat)
-
VFX (Multiple States for Shield : Full --> Broken)
-
SFX (Deploy, Damage, Break)
-
UI (Damage Cracks, Damaged Flash)
Shield Process Breakdown
Slam
For the Slam ability, I wanted to focus on the feeling of weight in the attack and how it affected its surroundings.
To accomplish this I applied different feedback responses:
-
VFX (Ground Particles)
-
Animation Responsiveness (Slightly Slower than snappy normal hits)
-
SFX (Ground Impact
-
Camera Response (Camera Shake)
Slam Attack Ability
Dash
For the Dash ability, I wanted to focus on the feeling of propelling through the air when dashing as an evasion and traversal mechanic.
​
To accomplish this I applied different feedback responses:
-
Animation Responsiveness (Build up before dash)
-
SFX
-
Camera Response (Slight Camera Shake)
Dash Ability
Base Movement + Combat
I created a character controller with movement functionality and a combo system. For the scope of the project, I opted to use dummy targets to demonstrate what enemy feedback would look like, utilizing hit stop, hit flash, camera shaking, and hit particles.
Light Attack Combos
I wanted the light attack to feel responsive and instantaneous, and the combos in general to feel snappy and quick to chain together.
​
-
Snappiness
-
Combos
Light Attack Combo Sample
Heavy Attack
For the Heavy Attack, I wanted it to feel more weighted than the light attacks, but still lighter than the slam ability to differentiate between the different weight and strengths of attacks for the player.
​
-
Weight
-
Faster than Abilities
Heavy Attack Combo Example
Movement
A lot of the movement feedback came from the camera design and how different behaviors would inform movement feel and fluidity.
Movement Example
Dualsense Controller Feedback
Feedback from a controller is an important tool to further immerse a player into the gameplay. For my project I integrated the Playstation's DualSense Controller into Unity, which is not traditionally supported by the engine. I utilized the controller's lightbars and haptic feedback to create different types of physical feedback outside of the player's screen and in their own hands.
Light Change
When the player's health is low, it will change their DualSense controller's light from gold to red, in order to visually indicate the player's weakened state and signal to heal.
Low Health Example
Haptic Feedback
When the player hits an enemy or an obstacle their controller will rumble in accordance, varying in strength and duration based on the type of impact.
Enemy Hit Example
Camera Movement for Immersion
Camera Design
I designed the camera system after God of War and Jedi : Survivor as examples for how third-person action-adventure games handle their camera movement and feedback.
Camera Follow & Tracking
Wanting more ambient camera movement, the camera has a slight lag behind the player when they are moving forward, and generally rotates with the player's movement, to help immerse the player by having the camera also facing forward in a player's direction as they navigate a space.
Camera Follow Movement
FOV Changes
In order to clearly indicate a shift in speed for the player, I would shift between FOVs, getting more fish-eye the faster the player's intended movement was, and smoothing back out as a player decelerates.
​
As the FOV would get more drawn out, similar to other 3rd-person games, more screen space would also be given to the environment.
FOV Shifts
Camera Shaking
For player movements where I wanted to create a sense of impact, I would add in slight camera shakes to add onto the motion, with the shakes varying dependent on how "weighty" I wanted an action to feel. The shake upon dashing is much less noticeable than the shakes when bringing out the shield.
Camera Shaking Example