GDCR – Juice It Or Lose It

Welcome to Game Development Conferences Redux, a place where it is attempted to condense the contents of hour-long game development videos, in compact, written format for those with less time.

For this issue we are covering the contents of the Juice It Or Lose It. Where in a nutshell, we will be talking about the many super easy ways in which one can enhance a game experience, making it “feel” more fun.


However if after reading a little about the talk, you are still interested, you might just want to straight up watch it. (That, or if you have the suspicion I might’ve missed important parts of the talk.)

So, here you go just in case:


Sooo, what is “Juice”?

As the heart of the talk, we will be talking about the concept of “juicing”. By that we mean a little animation, noise, visual feedback, or any other type of reaction that amplifies an action, specific input or sequence of events.

It might be easier if you see No Juice vs. Juice in action:

Yea, just a little over the top, but you get the idea. Juicing refers to this contrast between bland and fun (or at least, interesting).

Even if you don’t actually physically experience it, things like camera shake can add a lot of impact and make you somehow feel part of the action.

It is all about showing a maximum output for each minimal input.


Okay, Here Is The Meat Of The Talk

Just so you know, the talk itself focuses on the example blockout clone you just saw. While doing emphasis over the little things that added juice to the bland, base game.

So, if anything, you might say what the two folks talked about, was but an example list of things one can improve their games at:

Movement And Impact

A little wobble, some shaking, almost any minimal movement as a reaction to something else, adds a lot more than you imagine.

Here you see a combination of all the following:

https://i0.wp.com/heisarzola.com/devblog/images/posts/2018/04/bouncy-juice.gif

  • The paddle, stretches and squashes depending on how fasy you move the mouse.
  • The ball is resized and made a little bigger, every time it hits ANYTHING.
  • After hitting something, the ball, rotates to denote the new directory it will be taking.
  • After hitting something, the ball wobbles for a bit.
  • After hitting something, the ball becomes white.
  • The ball stretches based on its current velocity.
  • When a block is destroyed it falls off.
  • While being destroyed, a block becomes smaller.
  • While being destroyed and becoming smaller, it should spin.
  • And finally, to avoid blending with the rest, the destroyed block should become darker.
  • All of the blocks move a little whenever the ball hits anything.
  • The walls bounce as gum whenever the ball hits them.

https://i0.wp.com/heisarzola.com/devblog/images/posts/2018/04/particles-juice.gif

Particle Effects

One of the easiest ways to amplify something without actually moving it, is via a particle that denotes something about it. (Direction, impact, movement, etc.)

Above, you can see all of the following working together:

  • Little smoke puffs whenever the ball hits something.
  • Following the above example, anytime it hits anything, it is complemented with unique particles as well.
  • There is now a trail that follows the old trajectory of a ball.
  • Every block you break, gets broken into darker sub-blocks as particles that fall off the screen.

Sound

This is a MUST when it comes to areas that many games should focus effort when polishing.

Sound effects alone can sell the idea of physicality of almost anything, so you shouldn’t let them slide.

(Also, given how it is impossible to add sound to a GIF, it is a good chance to share with you the link where you can actually play this little breakout clone.)

Just notice how:

  • Whenever the ball hits a wall, it makes a sound.
  • Whenever the ball hits a block, it makes a DIFFERENT sound.
  • When blocks are hit in succession, the pitch changes, making them sound “harmonized”.
  • If the ball hits a paddle, it makes yet another sound effect.
  • And of course, the game also has BGM.

And As The Final Cherry…

Just remember that you can juice ANY area or moment of your game. An intro for example:

https://i0.wp.com/heisarzola.com/devblog/images/posts/2018/04/intro-juice.gif

Screen shake with Perlin noise, transitions, alpha cuts, there are many ways that weren’t spoken of during the talk really, but that is the point.

 

You need to find what best suits your own game and use it.


Esentially, this little talk gives an important message I think everyone should take home: “You can polish EVERYTHING to an Nth deegree, you just need to look.”

But also keep in mind something equally important: Don’t start polishing until it is final.

The folkds that gave the talk had a finished breakout clone by the time they started adding all the juice. They didn’t add it while developing, wait until it is the right moment.

Regardless, hope you enjoyed the little breakdown of the talk (and/or the talk itself if you decided to watch it).

And Like Always…

Thank you very much for reading my blog :3


Soooo you like game development talks huh? Do you use Unity by any chance?

You see, I just wanted to extend you an invitation to subscribe to the GAME DEVELOPER newsletter for FREE. In it, you will be able to find many tools, tips, tutorials and tricks related to both game development and Unity.

Don’t worry, you will ONLY receive notifications on game development content, which include helpful game development tutorials, tips and tricks, and updated on new FREE dev tools directly on your inbox.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Powered by WordPress.com.

Up ↑

%d bloggers like this: