1 free read left. Create a free account for unlimited reading + AI research.
Create free accountToday I want to talk about game feel. Game feel is basically does your game feel good to the player. So a good example of game feel is if you got a first person shooter game uh you want the gun to feel like it's being shot. So here's a really good example of bad game feel. Ready? Bang. Bang. The sound's terrible. There's no kickback. There's no smoke. Here's a good example of good game field. So close. I think I got it.
Okay, so game feel is when you take game mechanics that are seemingly super simple and super boring and make them feel crunchy and snappy and have sound and maybe add screen shake. Basically, the core principle is if the player inputs on the keyboard, you want an instant and immediate output, a effect, something that happens when the player inputs. It could be as simple as when they swap a weapon, you want to make sure that they have full dominion and control over swapping that weapon. You're giving them agency. All right, so the first thing that I wanted to add when it came to game feel for my first person shooter, and this is true for a 2D game as well, I wanted to add footsteps to my capsule collider. You definitely don't want the player to know the truth. The truth is is they are not a player. They are not a person. They are a capsule that is sliding around in the scene. The way that I accomplish this is I add a simple headbob animation, my capsule main camera, and then I also add animation events to the bottom of that
animation state. So, as the head bobs and hits the bottom of the ground, we fire an animation event. And that animation event calls a function called play step sound or play footstep sound. Now, that footstep sound is going to be determined by a raycast that hits the terrain and determines what texture we're currently standing on. This is also true for various colliders that aren't terrain. All we got to do is add a tag to those colliders. Let's say a bridge or a box or a rock. And crunchy rock sounds or bridge sounds or brick sounds are going to play based on those surfaces. So, here's the final result. [Applause] You may notice the sounds feel a bit retro, and I keep using the word crunchy. If you want your game's footsteps to feel crunchy, retro, and ASMR, consider this trick. Just compress them down in the Unity inspector for
your sounds, and you're going to get that retro King's Quest Half-Life feel. Next, I wanted to focus on my guns feeling fast-paced and snappy. Now, keep in mind that the models that you're seeing currently, these were created by my buddy Felipe. He's a friend of mine in Canada, and he's a very talented guy. He usually makes super realistic guns. You can find those guns in the Unity asset store. But I told Felipe I wanted retro guns, very low poly guns, something you might see in a 1999 game like HalfLife. Felipe worked part-time on these guns and slowly sent them over to me on Discord. And I took the Tuni Colors Pro shader, which is an asset on the Unity Asset Store, and I applied these shaders to the guns to make them look crispy and retro. So, you may notice that when you have a super fast and snappy gun system of grabbing guns, swapping guns out, and shooting guns, when it's fast without sound, it looks a little strange.
But the moment you add sound, something happens in the human brain where everything feels a lot more realistic. It's working, the brain is able to put two and two together. You're just really fast at shooting guns. So with sounds added and swapping sounds added, now everything feels realistic and it feels again like a classic firsterson shooter game like Doom or HalfLife. Now all of these animations are used across every single weapon. So the shoe animation, the stand animation, the walk animation, the swap weapon animation. So the way that we can keep things simple is use the animator controller, use the state machine, but use something called an override, which is going to tell this state machine to play different animations, but have the same kind of transitions and the same kind of parameters. So every single weapon uses an override. And that that allows us to have various animations per weapon. The reason I did this is because well the Luger is going to have a more simple
shoot animation. The kickback isn't going to be as much. Maybe the particle emitter is going to be different than say a Panzer rocket launcher which is going to have a much higher kickback and a bigger explosion coming out of the tip of the gun. Now these particle emitters were controlled by again animation events which simply identify the particle emitter attached to the tip of the gun and then uses the emit function for the particle emitter. So now we can actually control different particle emitters for each gun. But again, these all point to the same state machine. So you have a parent state machine, but the override controller is identifying different animations per weapon. Now the cherry on top or any game that takes advantage of game feel is screen shaker. And screen shake seems like a scary thing to try and program, but with Cinemachine, which Cinemachine is the camera system that basically comes default with Unity and it's totally free. With Cinemachine, you could use something called pllin noise and this allows you to add various types of
screen shake. You can actually have even a handheld feel. So, I'd attach this pllin noise to my Cinem Machine camera. And by default, you get this cool sort of just moving slowly handheld camera. But when I fire a gun, I can actually increase the amplitude and the frequency of this pearl and noise to boost up the pearl and noise screen shake for an instant second and then pop it right back to its original value. I can do this again with animation events which fire a function per gun. So I can have a screen shake for a shotgun which is higher values, screen shake for maybe a pistol which is much lower values and then maybe screen shake for a rocket launcher which is way higher values. And also, the length of time before it resets to its default value is much higher. Now, a rifle blast feels like you're actually shooting the rifle. Better yet, I swear I can feel the heat from the rocket launcher blasting through my computer screen with this massive screen shape for the Panzer. Now, obviously, these guns need to do something. They need to shoot something. So, I quickly designed some really bizarre looking enemies that I think got
my videos demonetized. But, these enemies aren't fully animated yet. They don't work properly. And so that's really for my next vlog. But I did want to show you what it looks like when you shoot these really crappy looking enemies. We just have a particle emitter when the raycast from the gun's tip hits the model. And then we just shoot out some guts. And I just downloaded these guts. It's a particle emitter from the Unity asset store and tweaked them and made them look a little bit more retro. So instead of a ragd doll effect for this spider and programming all of that, this spider just simply pops with a beautiful pop sound and some guts and you've got a death sequence that really only took like 3 minutes to create. Okay, so what's my point in sharing all of this game feel stuff with you? Just because your current functionality for your game kind of is boring, not very exciting. It shouldn't discourage you guys. That's not the final product. The final product should take advantage of game feel. Crunchy, crisp, full sound, screen shake, particle emitters, and snappy movement that responds immediately to player input. That is the primary way that you make an awesome game. That and
music. And maybe I'll talk about music for a future episode. I really believe in great music making a great game. But anyway, that's called game feel. And if you don't understand the basics of game feel, I'm sorry to say you're probably not going to make a great game. Popular games like Hollow Knight, Minecraft, and Celeste, they really primarily focus on great game feel. And if you play those games over now and really focus on the game feel, the footstep sound effects, the particle emitters, the screen shake, the snappy player movement. If you focus on that, you can actually see that those games rely heavily on game feel. Without game feel, those games probably would not be successful. [Music] Heat. Heat.
[Music]
The primary objective of this development overview is to define and demonstrate the concept of game feel in first-person shooters. The central thesis posits that game feel—the combination of responsive mechanics, audio-visual feedback, and snappy movement—is the fundamental differentiator between a mediocre project and a successful, immersive experience. By prioritizing immediate output for every player input, developers can transform simple, functional mechanics into a polished, satisfying gameplay loop.
Key technical strategies for achieving this include the implementation of animation events to trigger context-aware audio, such as footstep sounds determined by raycasts against specific terrain textures. To achieve a retro, crunchy aesthetic, audio assets are compressed within the Unity engine. Weapon systems utilize a centralized state machine paired with animator override controllers, allowing for weapon-specific animations, particle effects, and kickback intensities while maintaining a streamlined codebase. Furthermore, the integration of Cinemachine’s Perlin noise allows for dynamic screen shake, which is scaled in amplitude and frequency based on the specific weapon fired, providing tactile feedback that mimics the perceived power of different firearms.
The methodology emphasizes iterative refinement using standard game engine tools rather than complex custom programming. By utilizing existing assets like shaders for visual consistency and particle emitters for death sequences, developers can create high-impact feedback loops with minimal overhead. The analysis concludes that successful titles such as Hollow Knight, Minecraft, and Celeste owe much of their acclaim to these granular details. Ultimately, the focus on sensory feedback—sound, screen shake, and particle effects—is presented as an essential pillar of game design that bridges the gap between raw functionality and player engagement.
Game Dev Unchained · 2025
Comments