Overview
Most games need some sort of feedback with response to player speed to create an intense feeling of speed and momentum. There are a ton of ways to go about this with many games successfully achieving their feeling of speed in various ways.
This post aims to outline some basic and advanced methods for feedback with to player speed. It's up to you to pick and choose which methods to use that best fit your game.
Methods
Fundamentally all feedback is based on current player speed. From this methods are generally outlined as the way in which player speed is used to get some other value that is then used to drive the visual effect. Most of these methods use curves to floats or vectors. There are many methods for the effect of speed feedback, the most common being:
- Camera shake intensity
- Camera field of view (FOV)
- UI effect
- Particle effects
- Sound effects
- Music
- Level design
- Movement control
Camera Shake Intensity
This one is fairly straightforward where the faster the player moves, the more you shake the camera. One of the biggest factors to keep in mind when considering screen shake is player disorientation.
In my shooter game I opted to keep screen shake minimal so player's won't try to fight it soo much when trying to aim.
Camera FOV
The degree at which the FOV change matters depends on the intensity of the effect you are trying to bring. Be careful with going too far and causing motion sickness and disorientation.
Increasing the player's camera FOV when they move faster is one of the simplest and most effective ways at creating the feel of high speeds. Not only does the visual change signal some relationship with speed, having a higher field of view does create an illusion of higher perceived speeds. This means increasing the FOV can make players feel even faster than what they would expect in the most extreme cases.
Check out this great example of the illusion of higher percieved speeds with camera FOV.
UI Effect
There's quite a bit of changes that can be made in UI in response to player speed. It can be as simple as an overlay when the player reaches a certain speed or maybe just a speedometer is good enough.

Surfing in Counterstrike has a speedometer as one of the main visual feedback. With precise movement and aim needed. It's good enough since minimal visual disruption is essential.
One of the more common implementations is using "speed lines" that scale with player speed. This is a solid way to implement speed in your game. One of this biggest drawback is the amount of UI space it takes. However, even with the downside, I do see this method used the most.
There's lots of tutorials on youtube on how to do this through a post process material in Unreal Engine. The concept is quite straightforward and easy to make into your own.

Instead of lines for my game, I created a blur field from the edges of the screen that leaves out some space in the center.
Not only did I reference player speed, but the player's direction is also important for determining the magnitude of this effect.
void USpeedFeedbackComponent::UpdatePostProcessMaterial(float InDeltaTime) { if(VelocityPPMaterial) { FVector Rotation = GetController<AController>()->GetControlRotation().Vector(); FVector Velocity = GetVelocity(); Velocity.Normalize(); const float Dot = Rotation.Dot(Velocity); VelocityPPMaterial->SetScalarParameterValue(FName("PannerSpeed"), (Dot > 0.f) ? -PannerSpeed : PannerSpeed ); VelocityPPMaterial->SetScalarParameterValue(FName("Opacity"), DotToMaterialOpacity->GetFloatValue(Dot)); VelocityPPMaterial->SetScalarParameterValue(FName("CenterMaskPercent"), SpeedToCenterMaskPercent->GetFloatValue(abs(Dot) * GetVelocity().Length())); } }
Particle Effects
Core idea, implementation, and uses of this method coincide with the speed lines features closely. Ultimately this feature spawns some particles towards the player that effectively creates speed lines, but in 3D setting.

Most particle setups place the system a set distance away from the player and emit towards the player.
Below is my setup for orienting the particle effect.
void USpeedFeedbackComponent::UpdateParticleVFX(float InDeltaTime) { if(SpawnedVelocityVFX) { FVector Velocity = GetVelocity(); SpawnedVelocityVFX->SetFloatParameter(FName("Speed"), Velocity.Length()); Velocity.Normalize(); const FVector NewLocaitonWorld = PlayerCameraComponent->GetComponentLocation() + Velocity * VelocityVFXDistance; const FRotator NewRotationWorld = UKismetMathLibrary::FindLookAtRotation(NewLocaitonWorld, PlayerCameraComponent->GetComponentLocation()); SpawnedVelocityVFX->SetWorldLocation(NewLocaitonWorld); SpawnedVelocityVFX->SetWorldRotation(NewRotationWorld); } }
Sound Effects
Just like many game features, having good audio can help with player immersion and the magnitude of speed. When moving fast, we expect to hear the wind passing our ears and the distortion of sounds as we whizz by the actors that make them.
Implementations of can be straightforward with playing a "whoosh" sound at louder volumes when going faster, or complex with layering of sounds and uses of audio effects.
A note to keep in mind is that Unreal has a Doppler effect built into their sound cues, you just need to use their Doppler node.
Music
If player speed is an important aspect of your game, tying it to music can help reward the player and further add to immersion. Implementations of this method is up to the project demands. Generally the idea is to have your music manager component increase it's value for music intensity whenever the player reaches certain speeds.
Level Design
The environment is essential for players to feel speed and arguably one of the most important factors for creating satisfying gameplay with speed.
At it's core, the environment helps give ques to players at where they are and where they are going. Going fast down a road is more noticeable when there are buildings or features around you compared to an open and flat road.
Level design can also supplement speed where it requires certain speeds to reach areas, creating rewarding experience for reaching set speeds.
Movement Control
The best example of this is vehicle controls and how at higher speeds they become harder to turn and handle. There are many other applications but the specific handling of this depends heavily on the type of feeling you want.
In most cases, these changes of movement are negative and hinder movement and control. I would be cautious of this because players should want to go fast but not be punished too hard while they are too fast.
Conclusion
Lots of text in this post so if you made it this far then thank you so much for reading!
I'm sure there are many other features and methods I missed but I just wanted to cover some of the more obvious ones I considered and dealt with when doing my own development.
Goes over the various methods of adding feedback with player speed in video games.