Juice in Games (juicy)

Created: May 18, 2022Published: Mar 28, 2023Last modified: Apr 05, 2023
No tags
Word count: 757Backlinks: 19

A term that stands in for a variety of game-feel words. Pretty much means some game's feedback mechanisms (shaders, screenshake, sounds, everything) are chunky, crunchy, gnasty with a g, etc.

There's a talk somewhere with a break-out game and two devs ratcheting up the juice to show how the impact....

Effect examples

> brief action pause/freeze to emphasize bigger impact hits

street fighter punches

zelda big hits

called sleep in game maker

probably a sceneTree.pause in godot

> slow motion

> squash and stretch

> item delay - carried items lag behind

> gun recoil

super crate box

move player back when you shoot

> strafing

moving left/right while shooting doesn't change the direction you're facing

release shoot to turn

> bullets

>> muzzle flash

first frame of bullet animation - just a circle

>> impact

on enemy, on wall

every bullet hits SOMETHING

movie shoot outs in bars

> player trail

line or particles or dust or clones

> taking damage

>> white flash

>> knockback

> death

>> death paint

something permanent and earned, changed by player actions

>> permanence

leave the bodies

sense of previous combat

> screen shake

>> wobble

>> shock wave

>> chromatic abberation

splitting the rgb channels

> props

dust/particles get pushed around

> camera

>> lerp, smooth lag

>> wobble

>> emphasis on pois/danger/resources

>> look ahead/behind when turning

> sounds!

>> sounds rising up a scale for a combo

>> footsteps

>> doors

>> punches

>> explosions

>> environment

>> variety: pitch-bend

>> blending multiple sounds

> particles

>> running dust trails

>> landing dust

>> screen fog/particles

> eyes

>> look at POIs

> text effects

>> size (grow/shrink/repeat)

>> wobble

hotline miami

>> color

>> borders

>> particles

> experience, level up glow

game examples

> Super Crate Box

> super meat boy

> super time force

> super hexagon

Resources

Most of these are contained in my Best Game Talks youtube playlist:

> Juice it or lose it

The classic talk on the subject.

> The Art of Screenshake

Jan Willem (JW) Nijman - half of Vlambeer

References:

> Cactus (at igs 2009) - making a game is like making a baby

cactus (jonatan soderstrom, game dev)

( hotline miami dev)

quality: hand-held content: great!

like making a baby!

game dev: beginning, like conception (sex!)

  • later, you get fat, and it's a ton of work
  • your friends lose respect for you
  • then, birth - getting it out there, the hardest part, painful not fun
  • then, not what you expected

creativity:

  • experiment a lot
  • dare to be serious
  • renew your concept
  • doesn't need to be fun
  • create an atmosphere

recs: sfxr

fun game examples at the end

idea: finding different endings! like: the stanley parable

> Math for Game Programmers: Juicing Your Cameras with Math

Squirrel Eiserloh, SMU Guildhall

EXCELLENT talk on juicy camera work.

references:

points of focus vs points of interest

pof should probably stay in view

poi are hinted at: proximity * importance

> Math for Game Programmers: Fast and funky 1D nonlinear transformations

Squirrel Eiserloh, SMU Guildhall

easing functions on steroids

from comment: 'tunable normalized sigmoid function' It can represent most of these shapes with just a change in a constant?

most important number ranges: [0, 1], [-1, 1]

perception of alpha is non-linear

easing functions

filter functions

lerping functions

tweening functions

ease-in - name is bad, it refers to 'fast at the end'

better name: smooth start

smoothstop (ease-out without sqrt)

flip - square - flip (1 - x, x^2, 1 - res)

library functions:

  • smoothStart2345
  • smoothStop2345

mixing/weighting/blending

smoothstart2.2 = mix(smoothstart2, smoothstart3, 0.2)

(80/20 weight)

weight as the time

smoothstep = mix(smoothStart, smoothStop, t) # t is time during easing

scale = t * f(t)

reverseScale = (1-t) * f(t)

arch = scale(flip(t)) = t * (1-t)

smoothStartArch3 = scale(arch2, t) = x^2 * (1-x)

smoothStopArch3 = reverseScale(arch2, t) = x * (1-x)^2

> GMTK: secrets of game feel and juice

Good examples of game feel!

> why your death animation sucks

nicolae berbece, xelubest, xelu_best

Move Or Die - game

game feel, input feedback

pitch-bend adds variation to sounds

> can we make this button fun to press?

pretty awesome, excellent video, and not too long

worth implementing yourself

  • impact/reward
  • challenge
  • fantasy

Clones

Creating some classics and juicing them up - fun way to learn what makes games fun.

And, a nice creative box to trap yourself in.

> DONE juicy snake

> TODO juicy chess

> TODO juicy super crate box

> TODO juicy asteroids

> TODO juicy space-shooter

related game topics

See all game dev topics.

> shaders

> particle effect


Backlinks

A quality of a game that encompasses ease of control and player motivation.

See also:

Don't put it off, do it early and often!

The polish and the art steer the game's direction - without it, you don't know where you're going, what's fun, what interaction/feedback to build the game around.

A Dino game.

---

My entry for the godot wild jam #52

Camera feel and camera control is a big part of game feel.

Most old games are completely made (or broken) by this.

  • Mario 64
  • Banjo Kazooie

While some newer games have _excellent_ camera control:

See also:

An idea to make a chess game that is just JUICY AF.

Probably will integrate into lichess for the actual gameplay.

A Juice in Games (juicy) technique. The whole screen is jostled, implying some kind of earthquake or other powerful impact occurring in the game.

Inspired by NaNoWriMo's "magna carta"s, this is a list of things in games that I've liked.

They are here as inspiration, motivation, and as a tribute. I hope to borrow/steal/remix/create with this, to give my own games a bit of the joy these brought me.

These should help step towards the principles I care about in games. What themes are threaded through all these?

See also:

What boxes to check to get the look and feel to celeste-level?

How do games like Celeste / Towerfall and Hollow Knight achieve such a full look and feel? Here I hope to create a list of todos capturing every element necessary. First go Zero to One, then start improving the existing elements.

Feels related: Juice in Games (juicy)

See also: JUICY!

Great lightning talk in a GDC design link (TODO: find that and link it here)

Basically said people put off the polish to the end, but it's so critical to the game that you need it earlier.

Polish can and should steer the design! Don't wait for it, do it now!

It should be part of the engineering effort. It's not just some detail.

So, we change the name to pizzazz and try to fix it's reputation.

A Dino game.

---

A run-n-gun focused on adding as many juicy effects as possible.

Playable at: gunner on itch.io

Pretty raw for now.

Game Dev/Design Education

A Godot monorepo full of games, addons, and scripts.

Trying to get a handle on larger game dev topics as I encounter and tackle them.

Some videos for game jam prep or if you're seeking some game dev motivation/inspiration

Juice in Games (juicy) camera talk from Squirrel Eiserloh (SMU Guildhall) covers this really nicely.

A Dino addon.

---

Dino's camera code grew especially while working on tower jet (dino game).

See also: