Home / Level Design / Hit Feel Designer

Hit Feel Designer

Hit a test dummy and tune what makes a hit feel good: hit stop, screen shake, zoom punch, white flash, knockback, squash, sparks, damage numbers, slow motion, impact frames and a hit sound. Set a light, a heavy and a critical hit separately, or switch to shooter mode and tune a pistol, machine gun, shotgun and sniper with recoil, muzzle flash, shell casings, tracers and hit markers. Turn all juice off to compare and start from presets like arcade, brawler, anime or retro FPS. Download the settings and the sounds. Pro adds a ready script for Godot 4 and Unity that plays the same effects with one call.

Juice amount

One slider for everything below. Go up for more punch, down for calmer hits.

Export

Pro · a ready hit feel script for Godot 4 or Unity with your three hits built in. One call plays the hit stop, shake, flash, knockback, sparks, numbers, sound and rumble, with a screen shake and flashing switch for accessibility. See plans

Hit the dummy. Turn juice off to feel the difference.

What makes a hit feel good

A hit that feels heavy is not one effect. It is six or seven small responses that fire together in about a tenth of a second: the game freezes for a moment, the camera jolts, the enemy flashes white and gets pushed back, sparks fly, a number pops up and a sound cracks. Each one is cheap. Together they tell the player the blow landed. Take them away and the same attack feels like hitting air. Press Juice: ON to switch every effect off and hit the dummy again. That difference is what this tool tunes.

The effects

Hit stop. The whole game freezes for a few frames on impact. It is the strongest tool you have. 30 to 60 ms for a light hit and 80 to 150 ms for a heavy one is a common range. Screen shake. Each hit adds trauma between 0 and 1 and the shake grows with trauma squared, so small hits nudge and big hits rattle. Direction makes the camera kick along the hit instead of shaking at random. Zoom punch. A quick zoom in that snaps back. Flash. The target turns pure white for a moment. Knockback and squash. The target gets pushed and squashed, then springs back. Sparks and shockwave. Particles fly out in the hit direction. Damage numbers. A number pops up, bigger and in another colour for a critical hit. Slow motion. Time slows for a moment after a big hit. Impact frame. One or two frames drawn as black and white silhouettes, the look of anime and fighting games. Sound and rumble. A punchy hit sound made from a low thump and a sharp crack, and a controller rumble.

Three hits, not one

If every hit uses full shake and a long freeze, nothing feels special and players get tired. Tune a light, a heavy and a critical hit on their own so the feedback grows with the hit. Keep the strongest effects, like long hit stop, slow motion and impact frames, for the hits that matter.

Shooter mode

Switch Game type to Shooter to tune guns instead of swords. Hold a weapon button to fire. Guns feel good from a different mix: a camera kick against the aim, the gun sliding back, a muzzle flash, shell casings, a tracer, a hit marker and a short tick when a bullet lands. Each of the four weapons has its own fire rate, pellets, spread and bullet speed. A machine gun fires many times a second, so it needs a tiny shake per shot and almost no hit stop, while a sniper shot can freeze the game and kick hard. Shotgun pellets that land together count as one hit, and their damage is added into one number. Presets cover an arcade shooter, a tactical game, a bullet hell and a retro FPS.

Using the engine kit (Pro)

EngineHow
Godot 4.2+Copy the hit_feel folder into your project and add gsk_hit_feel.gd as an autoload named HitFeel. On a hit call HitFeel.hit($Sprite2D, direction, "heavy", 42). When a gun fires call HitFeel.shoot(muzzle_position, aim, "shotgun") and when its bullet lands call HitFeel.hit(enemy, direction, "shotgun", 8). The current Camera2D shakes by itself. The sounds in the same folder load by themselves.
UnityPut GskHitFeel.cs on any object in the scene, set the camera and drag in the sounds. Give your sprites the GameShipKit/SpriteFlash material so they can flash white. On a hit call GskHitFeel.Instance.Hit(enemy.transform, direction, "heavy", 42). For guns call Shoot(muzzle.position, aim, "shotgun") when firing and Hit(...) when the bullet lands.

Hit stop and slow motion use the engine's time scale and run on a real time clock, so they end on time even while the game is frozen. The shake moves the camera only, never your game objects. Both scripts have an intensity value and a reduce flashing switch that you can tie to your settings menu.

Is anything uploaded?

No. The dummy, the effects, the sounds and the exported files are all made in your browser.