Game Dev 101
Progress
0/22

Lesson 19 of 22, in world 7: Polish & Shipping

Game Feel & Juice

Time
About 20 min
Builds on
Cameras & ScrollingCollision DetectionEvents & the Observer Pattern

Two games can have identical rules and one feels amazing while the other feels dead. The difference is game feel, a.k.a. juice: lots of small, cheap feedback effects that make every action feel physical and satisfying.

Tweening and easing

A tween (“in-between”) animates a value from A to B over time — a menu sliding in, a coin flying to the score counter, a door opening. The easing function shapes the motion.

LiveEasing: the shape of motion
Easing

Every box travels the same distance in the same 1 second. Only the easing function — how progress t (0→1) maps to position — differs. Linear looks mechanical; ease-out feels responsive; back and bounce feel playful.

JavaScript
// A tween is just: progress t from 0→1 over a duration, shaped by an easing function
tween.t = Math.min(1, tween.t + dt / tween.duration)
obj.x = lerp(tween.from, tween.to, easeOutBack(tween.t))

The juice toolbox

LiveJuice it!

Click the targets. With everything off it works, but it feels like a spreadsheet. Switch effects on one at a time — the rules don't change at all, only the feedback.

  • Screen shake — offset the camera randomly, decaying fast. Use sparingly; scale with impact size.
  • Hit-stop — freeze the game for 40–80 ms on a big hit. Your brain reads it as impact (fighting games live on this).
  • Particles — sparks, dust, debris: dozens of tiny short-lived objects with random velocity.
  • Squash & stretch — the classic animation principle: things deform on impact and spring back.
  • Hit flash — tint white for a couple of frames to confirm “you hit it”.
  • Sound — arguably the biggest single upgrade. Vary pitch slightly so repeats don’t grate.
  • Recoil & knockback — actions push back on the actor and the target.

Key takeaways

  • Tweens animate values over time; easing functions give motion character.
  • Juice = immediate, layered feedback: shake, hit-stop, particles, squash, flash, sound, knockback.
  • Juice lives in presentation code, separate from game rules. Make intense effects optional.

Check yourself

Q1. A menu panel should slide in fast and settle gently. Which easing?

Q2. What is hit-stop?

Q3. Turning on all the juice changed which game rules?

Exercises

  1. Turn effects on one at a time. Rank them by how much they improved the feel. Is sound near the top?
  2. Find the point where screen shake becomes too much. How would you make it scale with damage?
  3. Pick a moment in a favourite game (a jump, a coin, a sword hit) and list every piece of juice you can spot.