G A M E F E E L

During studio 3, we are required to show skill in a specific area of game design, I personally chose game “feel” as my specialisation. This area of games is somewhat untalked about and overlooked by developers because of the ambiguity  involved. So what exactly is ‘game feel’ (or otherwise known as ‘juice’ or ‘kinaesthetics’)?

Swink (2008) states that there are 3 main building blocks for defining game feel; Real-Time Control, Simulated Space and Polish. Real-Time Control is the interactivity between the player and the computer and focuses on the processing and expression of information. Expressing information usually prompts the expectation of receiving information, which is received via the senses. It is this focus on the user/players senses that can help give the designer awareness of what the player needs to know in order to feel in control. Simulated Space is the space in which the interactivity exists and how the player perceives the game world. Interactions in the game need to be perceived by the player in some form, and because games are actively perceived due to the need of expressing and processing information, this is key to how the game feels. Polish refers to the additional effects that enhance interaction without affecting the simulation. As an example, an explosion in the game can just be a circular collider that damages any character that touches it, a polish effect could be to add a sprite animation to communicate to the player that an explosion happened. This does not affect how the game functions but it does communicate to the player what is happening in the game world.

This can be hard to grasp at first, and mainly because a lot of this stuff is simply assumed by us. When we make a game we naturally try and add details to make it seem more realistic and unique. You can have multiple games that are functionally identical, but by applying different polish effects you can achieve completely different sensations.

Demonstration

I have made a small game to demonstrate how small details and polish can change how the game feels. This game has the basic functionality of movement with a goal of getting to the end of the level. I have made the additional elements able to be turned on and off during play so that it is easy to see the difference. I will refer to the ‘game feel’ elements as ‘juice’ throughout to avoid any confusion. Here is a gif of the game in it’s functional state, it is very bare bones and is intentionally basic to try and emphasise the effect of the juice.

juice1

Functional and square shaped

Movement

First I want to talk about the movement. In this demo I have made it so that the playable object has physics applied to it through the use of a rigidbody, but I wanted to convey the idea that the juice mode has physics and the the basic mode does not. The basic movement feel of the object is really static because it instantly accelerates to maximum speed and decelerates to idle almost instantly also. The basic object can instantly corner making for more jagged turning whereas as the juiced movement has more curvy and smoother lines of travel.

The collision of the object also plays into how the game feels. With the basic collision, there is no feedback both in how the object rotates or moves. The juiced mode has rotation when colliding and slight bouncing around, not to mention the various collision events that I will get to later.

juice2

Physics!

Camera

The camera is another large aspect to how the controls feel and is relatively simple for the type of demo I’ve made here. Because the focus is only on movement and avoiding collision, all I would need to do is move the camera towards where the player is moving so they can see what’s ahead. Even though the camera view size is large enough to see any threatening obstacles, giving the player a leading view will help make them feel in control and give feedback on what direction they are moving in. To further emphasise the smoothness of the objects movement we can also apply a linear interpolation to the camera.

juice3.gif

Camera Lerp and Camera Lead

Now we can talk about the hot topic of game feel, camera/screen shake. So there’s no denying that camera shake can help to emphasise the impact of certain actions and is a very simple but effective way of giving feedback to the player. Seeing as my demo here is all about collisions, it’s a no-brainer to add it in. To make the camera shake feel more realistic, I have opted to change the intensity and duration depending on the collision speed of the player. It’s a very minor detail but it can definitely sell the effect more so when the collisions feel like they have variance.

juice4.gif

C A M E R A   S H A K E

Visual Effects

There isn’t much happening when actually colliding with the environment, a lot of the feel here is relying on physics and the camera. We need to add more visual feedback that the player is actually interacting with the game. One of the most effective ways to do this is to add particle effects and other small visual details. I have 3 details I added into this demo to show off visual effects, they are very basic but they do emphasise the impact of the interactions. First off I’ll take about the environment visual effect. I made it so that when you hit the walls, all of the walls in the level will flash red. This is similar to how some games make enemies flash a colour when taking damage.

juice5.gif

Environment flash

I have 2 different particle effects in the game, one on collision and another as a trail for the player. The collision effect serves as feedback for collision and also is intended to communicate the intensity of the collision much like the screen shake. As you can see with the below image, the velocity of the collision determines the size of the particles. It goes hand in hand with the screen shake and helps keep the feedback consistent. Another good point here is that the particles spawn at the collision point and not at the center of the player object.

juice6.gif

Moon runes

With the trail effect, it helps to communicate to the player the speed at which they are travelling because it emits more particles the faster you travel. It also helps to communicate the players line of travel which goes hand in hand with the smooth physics based movements. With this particular demo, it’s difficult to get a point of reference of the players position because the players distance from the walls. This trail effect is simulated in world space so it serves as a good reference point for the player relative to world space.

 

juice7.gif

Trail Effect

Audio

I got my audio from the reliable and always trusty BFXR site which procedurally generates sound effects which can also be fine tuned. I just have 2 sounds, one for the character movement and one for the collision. The movement sound oscillates and will change in pitch and volume depending on the speed of movement. It serves as another reference point for the player’s speed. The collision effect is a crunching sound that is fitting for a crash and communicates that what they did is bad. It is intentionally jarring to go hand in hand with the screen shake, particle effect and the environment flashing.

Here’s is a video showing off the audio. Since all of the changes have been added, this video will also serve as the final demonstration and will compare the initial version versus the complete demo.

Bibliography

Swink, S. (2008). Game Feel: A Game Designer’s Guide to Virtual Sensation (pp. 2-6). Hoboken: CRC Press.

Leave a comment