Feedback & HUD pt.1

This article is about the visual and auditory feedback mechanics related to first person shooters

While feedback exists to inform players about the game and world state. I think feedback is an equally important reward structure that can be used to inform and encourage player behavior.

What is Diegetic and Non-Diegetic feedback?

Diegetic

Diegetic in movies and games describe actions and information "available in the world" things that can be experienced by the characters living in it. For example, weapon sounds, blood spatter and camera recoil. These elements and mechanics all represents something that happens due to the physical laws within the game world. Diegetic information is often leveraged by games that aim for a higher level of immersion.

Non-Diegetic

Non-Diegetic feedback is information that isn't anchored to the physical game world, information that is only presented through player or viewer facing elements. A classic example for many games would be the heads up display (HUD)The HUD is a hub for non-diegetic visual elements like, hitmarkers, crosshairs, minimaps et.c. Information that exists outside the "physical laws" of the game world to give players information and directions. 

Using too much non-diegetic elements and the player may feel a disconnected from the game world making gameplay less relatable.

The boundary between diegetic and non-diegetic can sometimes be vague. It's not uncommon to see games present their HUD through screen overlays that make UI elements part of a helmet or visor, or cases where the information is projected into the game world by the player character through the use of other tools and gadgets.

Grey areas

Some games hide information to create a more realistic or immersive experience. For instance, they might remove the crosshair, hide the ammo counter, and leave out identification markers for friendly and enemy players to enhance both challenge and immersion. But how do we handle information present in the physical world that can't be seen or heard? And what about bending the physical laws of the game world?

Non-diegetic elements for physical feelings.

Some mechanics aren't legible without the use of non-diegetic feedback elements.

Internal emotions and feelings like happiness, love, sadness, or hunger often begin as gut feelings before they become physically apparent. While these emotions can manifest as moods through facial expressions, body language, and voice tone, their physical appearance may be too late of an identifier for players to react properly.

Let's take hunger for example. Hunger is a game mechanic often found in survival games. If you fail to maintain your hunger you usually start suffering fatigue, in some cases even physical damage. To mitigate this we need to eat when we start becoming hungry. But how do we know we are hungry? Do we listen for a growling stomach, or do we wait for our character to exclaim "I'm starving" to know it's time to eat. Reasonably or character knew it was hungry long before loudly pointing it out to their surroundings.

I think this could be a case where high immersion feedback systems should make use of non-diegetic elements to maintain good readability without sacrificing immersion.

Bending the laws of physics to stay diegetic

Sometimes the information we want to use exists within the world. But maybe not within the scope of our character.

For instance, when a player shoots at something, we play a sound where the bullets land often based on the material we hit. When hitting an important target we want to give the player affirmation that they've succeeded. We can do this in multiple ways.

A non-diegetic way would be through the use of hit markers and icons that tell us if we damaged a player, whether we hit their armor or not, or even if we landed a killing blow.

We could also do this in a diegetic way, for instance, playing different sound effects based on where we land our hit. Hitting an exposed part of the body could sound a lot more meaty or gory than hitting the ceramic plates and fabric of body armor. 

These sounds exist and can be heard within the game world by anyone within earshot of where the bullet landed. However, a common implementation of this is playing the hit sound loud enough for the damage dealer to be heard no matter the distance. This is a good way to provide feedback without breaking immersion. However, as the sounds travel beyond the regular audible range set within the game you could argue they either stop being diegetic or that we've started bending the physical laws of the game world.

Summary:

While there are many clear cases of diegetic and non-diegetic game elements. I think you should avoid getting too stuck on whether something should or shouldn't be diegetic when developing and iterating design choices. While aiming for an immersive game experience through the use of diegetic game elements. I think it's more important to talk about when to make something more diegetic or less diegetic.

HUD

Non-diegetic feedback is generally an information layer that exists to give the player information about the game world. It can give vital information that is hard to convey through in world elements.

Non-diegetic feedback is also great for teaching and encouraging player actions, through both sound and visual elements. Proper feedback can help alleviate the lack of cross player communication in online games where verbal or written communication is important but inaccessible due to language or hardware barriers.

Crosshair

Is there anything more genre defining than the crosshair?

Crosshairs represent the center of our aimpoint for both weapons and interactions.  

The lack of a crosshair is sometimes used as a balancing feature, often seen on sniper rifles or high power weapons, hiding crosshairs to avoid players using them as all purpose hip fire weapons.

The only HUD element every player sees

From my experience, When it comes to UX/UI. Players tend to miss vital information no matter how big, flashy or loud you make it. Especially so when the game is action oriented with high stimulus.

The one exception to this tends to be the crosshair, So far I've never had a player miss or complain about not finding the crosshair. That's why I think the crosshair is a great place to provide important information.

Classic Crosshair

The Classic Cross

Found in most competitive shooters. Versatile, and easy to read. Vertical and horizontal bars help you align your aim quick and easy.

Easy to Customize

All of these options are easy to implement while also giving the player the option to fine tune their aim and making it their own.

Standardized

Counter-Strike and Valorant are staples of the competitive shooter genre. In both communities, players are very particular about their crosshair. Providing the crosshair and customization these players are used to, will make for easier transition to your game.

Functional Crosshairs

These crosshairs are often used as a dynamic way to give players context about their actions or the world.

Commonly found in non-shooter games as well.

Dot / Circle

The dot is a less intrusive way to define the center screen with minimal obscuring of the surrounding world.

The circled dot can be used to tell players when they are looking at interactive game objects.

The Arrow

The arrow is commonly used while sprinting or other movement related abilities, usually meaning weapon use is disabled.

X Cross

Commonly used when players are aiming at targets or objects that they aren't allowed to shoot or interact with.

Circle Crosshairs

Low Accuracy Weapons

Works well for Shotguns, hipfire SMGs, and other weapons that feature low base accuracy, where the base spread can land anywhere inside the circle.

Accuracy and Power Weapons

As a contradiction to the previous example, Circle crosshairs are not that uncommon in Arena and Movement Shooters, games that have low or nonexistent accuracy penalties.

These are also fairly common in high power weapons, that feature splash damage.

Console Crosshair

The Circle seem to be more prominent in console shooters. It can be a good tell for when Aim-Assist support systems will start being active.

Dynamic Crosshairs

A Dynamic Crosshair changes appearance based on game context.

In shooter games this often means adapting to show weapon spread and recoil. And giving visual confirmation when hitting a target.

They can also change appearance completely based on player actions. Maybe to show that weapons are unable to fire, or highlight that you are currently looking at an interactive object.

Crosshair scaling based on weapon spread. Affected by movement velocity and current recoil.

Dynamic Scaling

This crosshair changes based on movement inaccuracy and recoil induced weapon spread.

This is based on my Dynamic Recoil system. Passing the current recoil spread and movement spread as parameters to the crosshair. This gives live feedback on the current accuracy of the weapon.

This can be done in multiple ways. Instead of using widgets with custom transform logic, I prefer setting up crosshairs through materials. This allows us to use a Material Parameter Collection to drive the values of the crosshair.

Any material can implement these parameters to give feedback on the current accuracy, like graph elements, or even weapon skins.

Crosshair set based on current player action, in this case sprinting.

Context Based Crosshair

In this case, the crosshair is changed when sprinting. This shows which ability we're currently using as well as the fact that we can't use our weapon.

Other examples could be, a stealth meter when sneaking or a button prompt when the player is looking at an interactive object.

Damage & Feedback

Hitmarkers

Hitmarkers are visual cues that indicate you have successfully managed to damage a target. They provide gratification as well as information about a combat encounter. Like critical hits, lethal damage or remaining health and armor.

While a good choice for accessibility, Hit markers can greatly alter gameplay and offer information that would otherwise be inacessible. For example when dealing damage outside our vision range. Like shooting through a wall, throwing a grenades or if someone steps on one of your booby traps. 

I think hitmarkers are great as a way to reduce learning time for more complex combat systems, like weapon recoil, and also give players rapid feedback about the effectiveness of their strategies and weapons of choice.

Mockup of hitmarkers, icons and damage numbers.

Color and Iconography

Different colors help differentiate between regular, critical and lethal hits.

Icons can help to further describe the state of combat giving context on the effects of your attack.

Additionally, these states can be supported by unique audio cues to improve readability without forcing players to solely rely on visual cues.

Damage Numbers

Damage numbers serve as a subset of hitmarkers, providing precise feedback on the amount of damage dealt by an attack or the healing received from an item or ability.


Damage numbers also play a crucial role in conveying power scaling within many games, particularly evident in genres like ARPGs where they often take center stage, in some cases becoming a central end game mechanic.


In game scenarios where damage efficiency is significant but total health is considered hidden information, damage numbers offer valuable insights. Specifically in first-person action games, not only do they provide damage information and successful damage output. Damage numbers also serve as a handshake between player and game that damage has been registered.

Popup Damage Numbers

Popup numbers display single damage instances. 

I think these are more gratifying than cumulative damage that follows the player. Though sometimes, rapid fire or burst weapons might be perceived as more efficient than they actually are, by their ability to generate hit markers.

Cumulative Damage Numbers

Cumulative damage numbers merge information about multiple damage instances over time. Cumulative damage represent the total amount of damage dealt to a target within a set time span (usually a few seconds) providing more readable feedback when using weapons with rapid or scattered damage instances.

Moving the cumulative damage number with the target can make tracking damage easier in fast paced games with multiple enemies on screen at the same time.

Audio Feedback

Non-Spatial Damage Sounds

Isolated (No Gun Sounds)

Implementation

In this example, there are four distinct sound types.

Regular Hit, Critical Hit, Armor Hit, Critical Armor hit. These are then blended with the material definition sounds for the character mesh.

Semi-diegetic sound propagation

Critical damage sounds are propagated beyond the attenuation range for the damage instigator.

Receiving Damage

This mockup indicates damage is received from the front left and from the back

Directional damage indicators

Without any visual help, telling where you've been shot from can be very tricky. Especially if you're playing without stereo audio or low volume.

A common and usually non intrusive way to relay damage is through directional damage indicators. Pointing in the direction of the damage source. A full circle often indicating non-directional damage.


Remember what I said about the crosshair being the only HUD element a player sees? 

If the radial damage indicator is too far away from the crosshair, some players just wont notice it.

If you've ever tried communicating damage through screen border effects, you have probably noticed that they are also completely invisible to the player.

Note: Use screen shake sparingly

Screen shake is great when you want to add oomph to just about anything; however, when dealing with first-person shooters, screen shake is an intrusive damage mechanic. Combining screen shake and damage events greatly favors the damage dealer. In competitive games, screen shake should be reserved for important damage events or as a disruption mechanic. Especially so when accuracy and aim are a core aspect that has it's own path to mastery. 

It's common for a combat scenario to involve two players shooting at each other simultaneously. If we apply screen shake every time a player takes damage the advantage greatly favors the first player to land a hit. With screen shake as a suppression mechanic, taking accurate shots will be punished by "spray and pray" tactics.

In some cases screen shake can be used to introduce more gameplay dynamics, especially in physics based combat systems.

 Helldivers 2 being a great example where screen shake affects a players accuracy. Screen shake affects accuracy, to the point that friendly fire and miss placed areal bombardment create chaotic and memorable gameplay moments.

Kill Confirmation

Purpose

Killing other players is the core mechanic of almost every first person shooter. Kill notifications are more than just information aggregators. Kill notifications are often loaded with many elements that serve to maximize gratification.

The emphasis put on player kills in relation to other game objectives can play a large role in how often and aggressively players engage in combat and should be taken into consideration when gameplay revolves around team play or alternate objectives.

Since this is usually a core element of many games, how gratifying a kill is, can dictate how often and fast players engage in combat. Instant kill notifications with flashy graphics and cool sound effects can increase the rate of combat.

Gratification and emphasizing combat feats

Accolades, medals and combat announcers are common place in modern shooters. All serve the purpose of highlighting combat achievements.

Combat feats can both harm and help gameplay based on pacing.

Kill feed

The killfeed notifies players about who killed who, what weapon was used, and often the circumstances of a kill, like killing a player through a wall or landing a head shot. Color coding makes the killfeed easier to read by providing information about team affiliations.

Common structure

Common Circumstances

Delayed Killfeed

A rapid kill feed can act as kill confirmation. In more realistic games where you want players to rely more on spatial information or communication in combat, you may still want to provide this information as it adds affirmation to combat actions and still deliver the gratification on combat feats like multi-kills. 

Killfeed as communication in competitive games

A killfeed can relay combat events without the need for verbal communication. In competitive games, especially those centered around rapid communication and tracking player kills for map awareness, this can reduce some of the needs for verbal communication. 

We should always assume all players have the ability to instantly communicate their death to allies, since everyone has access to external voice applications like Discord or TeamSpeak. In public matchmaking where only one team has players using voice chat this can be a huge advantage. Providing this information through the HUD can allow players to track the game state with less of a disadvantage. 

In the case of delayed killfeeds, showing allied deaths instantly while delaying kill information will still give the same contextual information as a player able to communicate their own death using voice chat.

Continue Reading

This next article is about combining the recoil model
with the player character and game input to create
responsive and dynamic weapon animations