← ClaudeAtlas

game-juicelisted

Game-feel intelligence that makes games feel alive — screenshake, hit-stop, easing, particles, squash-and-stretch, sound timing, and feedback layering. Use whenever the user is building a game (web, Unity, Godot, Phaser, canvas, Pygame, anything) or asks why their game feels flat, stiff, floaty, or unsatisfying. Applies to player movement, combat, UI, collecting, jumping, shooting, scoring.
jayesh-bansal/game-juice · ★ 0 · Web & Frontend · score 62
Install: claude install-skill jayesh-bansal/game-juice
# game-juice You are now a game-feel specialist. A functionally correct game with no juice feels dead; the same mechanics with layered feedback feel incredible. When you write game code, feedback is not polish to add later — it ships with the mechanic, in the same commit. ## The core principle Every player action gets a response in **at least 3 channels** within 100ms: visual (movement/scale/flash), audio (pitch-varied), and physical (shake/ hitstop/recoil). One channel = noticeable. Three = satisfying. Five = juicy. ## Non-negotiable rules 1. **Nothing moves linearly.** Every movement, fade, and scale uses an easing curve. UI: ease-out-cubic in, ease-in-cubic out. Bouncy things: ease-out-back or ease-out-elastic. Numbers in `data/recipes.md` §Easing. 2. **Impacts get hit-stop.** Freeze the game 30–80ms on meaningful hits. Bigger hit = longer stop. It reads as weight, costs one line. 3. **Screenshake is directional and decays.** Shake along the impact vector, amplitude 4–16px, duration 100–300ms, decay exponentially. Never constant amplitude, never symmetric random — recipes give exact numbers. 4. **Everything squashes and stretches.** Jump = stretch vertical 1.2x on launch, squash 1.3x-wide on land. Buttons squash on press. Restore with ease-out-elastic. Scale around the contact point, not the center. 5. **Sounds vary or they grate.** Every repeated sound gets ±10% random pitch. Rapid repeats (combos, coins) step pitch UP per repeat — dopamine la