💥7 Game Feel Tricks to Improve Your Game
If you’re looking to create an immersive, satisfying experience, game feel is the first place to start.
With Game Feel, you need to reinforce your game’s core identity. Adding tricks like screenshake will immediately make a game more fun. But if we’re trying to craft a great experience, you need to use these techniques to emphasise the most important mechanics in your game.
Let’s dive into seven techniques you should add to your design repertoire.
#1 Hit Flash
This is one of the best ways to give the player feedback during combat. In a fast-paced game, it is critical the player knows when they deal damage. This is key to the emotional arc of a fight and will affect their short term decision making. That is why many action games have adopted the hit flash.

This technique is easy to setup. Simply put, we change the character’s colour for a fraction of a second. In Unity, I’m a fan of using coroutines for this, which allow us to call a function (‘IEnumerator‘) which can be paused and resumed.

#2 Time Freeze
This one’s super subtle. Similar to a Hit Flash, this involves pausing the game for a split second when a player is hit. The idea here is that we allow the player a moment to process what’s happened. Whether or not, this helps decision-making much is up for debate… but it does help us emphasise damage even more. Games such as Street Fighter, are huge fans of this and even use it as a balancing mechanism, making some attacks feel safer to perform.

I find coroutines to be a great way to implement this as well. This time we want to use the ‘WaitForSecondsRealtime()’ function, which allows our wait timer to continue even after we set the game's speed to zero.
#3 Camera Movement
Most games, especially from beginners, have pretty static cameras. This is a shame, since cameras have a huge influence on the play experience, so here’s a few ideas that you might just be able to fit into your project.
First of all, smoothing your camera feels fantastic. I use to do this using the ‘Lerp’ function (called Linear Interpolation), but nowadays Unity’s cinemachine is great for this.
Second, we want our camera to feel dynamic and part of the world. So, rather than having it lock on to the player, try taking a page from Luftrausers. The camera from this game moves to frame the action around the player.
The quickest way to do this is to shift the camera forward ahead of the player. This has a number of benefits the main one being vision. Keeping the camera focused on where the player is going is incredibly helpful in a reflex-based game.
Luftrauser’s camera is great in another way, it frames the enemies. This is achieved by, setting the camera’s position to a central point between the most important objects on screen. For example, in Luftrausers the game moves to frame both the enemy fighters as well as the player, at other times it shifts down to keep ships below locked in view, helping you hit your target.
When done well, developers can make their camera feel alive. In Luftrauser’s, you can instinctively feel were enemy’s are off screen, just from the subtle shift of the camera around you. This is great design.
#4 Controller Rumble
Next up, Controller Rumble. This is an awesome way to immerse players in your game. It’s crucial to not over use this one, and to save it for key moments. For example, in a first person shooter, use controller rumble when the player takes damage rather than when they themselves fire. Alternatively in a platformer this is a great way to mimic the impact of landing, or grabbing hold of a wall.
Once again, this is a really quick one to implement in Unity. I’ve linked a great tutorial below!
#5 Particle & Visual Effects
Both of these are great for making the world feel alive. Dust particles in a platformer, or blood splatter in first person shooters adds to the immersion and satisfaction of the experience. What’s amazing is the artistic control here. This offers us the ability to add greater depth and detail to our worlds. I find that it’s great to view these as a complement to traditional art and as a way to enhance your game’s overarching aesthetic. Don’t be scared to get creative here, in the past I’ve find smart use of visual effects to be a life saver especially when covering up my crappy artwork.
Vlambeer, the creator’s of Luftrausers and Nuclear Throne, often use just two coloured circles for explosion effects. This is so simple, but looks and feels great!
And in my game synthetic I used just three — pretty simple — vector sprites to create these awesome blood effects.
You don’t have to be a great artist to make a great looking game. Just keep things simple and get creative! You might notice above that the blood effects are permanent changes to the world. This leads on to the next stage of visual effects…
#6 Level Permanence
Satisfaction can be linked closely to impact. We humans love to feel like we have power over our environment. Allowing players to make lasting changes to the world, makes every action feel that little bit better.
Hotline Miami is a prime example of this. The long-lasting blood stains and corpses convey how much carnage you’ve caused in the level. This reinforces the core gameplay loop of a top-down shooter and is a satisfying reward after you complete a level. By sticking around until the level restarts, the visual effects convery how much the player is improving, acting as positive reinforcement to beat the stage
Games such as Super Meat Boy use this more subtly. This platformer uses blood stains to show how far you’ve got in a level. It’s really simple and can help alleviate some of the frustration of long, difficult levels.
One of the largest frustration points in video games is the feeling of being stuck. Everyone wants to feel like they’re on the right track, so giving some extra reinforcement that the player is doing the right thing doesn’t hurt.
#7 Screenshake
Screenshake is one of the best ways to to “juice up” your game. Like controller rumble, it is satisfying and immerses us in the action, but this one works for PC players to! As we talked about before, making your camera feel dynamic and alive will add so much to an action game. Below is a full post I’ve written about Screen Shake and how to implement it. It also includes a drag & drop script you can add to any of your projects.
By employing these techniques, you can make your game feel a whole lot better. More importantly, each of these is a way to communicate information to the player. Whether that be, permanent blood stains highlighting progress or a shifting camera that helps you see the dangers around you. Let me know any techniques I missed out below!
🎉Have a great week,
Adam
Bonus Resources
Controller Rumble Tutorial for Unity by Sasquatch B Studios
'The Art of Screenshake' by Vlambeer
Tnt icons created by Smashicons on Flaticon at https://www.flaticon.com/free-icons/tnt"
I really love your stuff and I’ve been following your content for sometime now. In the future, is there ever going to be a possibility where you do a course on your YouTube channel for a platformer melee combat system like what we see in shank or brawlhalla? I think coupling that with your awesome character controller would be very dope.