Miniblog #2: Wwise – Simple Footstep Implementation

 

In the planning stage of a project I like to assign more importance to the sounds that occur most frequently. If you are making a first person or close perspective third person game then footsteps can rank highly on this list. However, this is likely dependant on the game you are making. Footsteps and foley can make a huge difference in the feel of a game. Think of the varying approaches you could take if your game is a lonely horror or a hectic first person shooter. (Those links are 2 free GDC talks that I couldn’t recommend more). For the game I am working on now I don’t want the footsteps to be noticeable at all, simply “there.”

Wwise – Simple Footstep Implementation

Setting up your footsteps is best guided by the prophetic Damian Kastbauer (@lostlab) in the [best] documentation [of all time] Project Adventure.

fs-hierarchy

This is a Switch Container, with a Random Container, with multiple Sound SFX.

fs-property-editor

 

green-arrow_sm Here you can utilise the power of the Switch Container. Set up a Switch Group, and set up as many States as you need. You can also set up states in the Game Syncs tab of the Project Explorer (not shown above). Make sure you set the most common or initial state as the Default.

blue-arrow_sm Drag the child containers of the switch (on the left) onto their corresponding group (on the right) under Assigned Objects. *Easy to forget.

red-arrow_sm Make good use of Wwise’s randomisation function by clicking the small circles that are currently highlighted in yellow. These are grey when not enabled as you can see with the volume. The amount of randomisation to use is down to personal taste and the requirements of the footsteps in the mix of the game, but any randomisation that you can add will greatly reduce listener fatigue for your footsteps samples. I generally try to turn things (FX, random values, volumes) up “too far” first and then reduce until it sounds right.

N.B. If you have a couple of footstep samples with particularly identifiable aspects; a crunch or a squeak that you really like, then consider reducing their weight in the Random Container.

fs-weight

 

As an aside

This is a simple way to get a quality implementation set up for your footsteps in Wwise. But actually plugging them in at the game end is a whole other kettle of  fish.

Does the player sprint and how often?

Do they jump?

How much momentum is carried over when they land, are a couple of baby steps required to regain balance?

How does it sound when your player walks down stairs?

Or up a slope?

We can’t all be Rockstar Games, so you will have to pick your battles, but I would bring this up early in the dev process. A third-person game is perhaps a little easier as footsteps can be triggered from animations, but honestly there is no cut and dried solution for this [really, another fish cliche?]. One way that I have found “acceptable” in the past is to have footsteps trigger every 0.x seconds and then use very short Initial Delay Randomisation to create some variety,  as seen in the figure above, near the green arrow.