top of page
line.jpg

Role

Solo Project

Duration

06/2023 (1 Week)

Tools

Unity, C#​

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.

6541819_edited.png
unity-69-logo-png-transparent_edited.png
Combat Design

Combat Design

Player Abilities

line.jpg
Dualsense

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

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

Slam

pssquare.png

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

Dash

pscirc.png

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 Design

Camera Design

Camera Movement

line.jpg

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

Thanks for checking out my portfolio!

bottom of page