As I am getting to the stage where I'm relatively happy with my new character controller and the player's movement, at least as an initial version to start progressing with, I wanted to add a little polish to just improve the "feel". Jan Willem Nijman, of Vlambeer fame, does an excellent presentation on "game feel" for those interested. It is definitely worth taking a look at.

For now, the two things I wanted to add were procedural camera animation and sound effects.

As a basic first step, the procedural camera animation simply makes the camera bounce up and down, as well as tilt (and move a little) side-to-side. This movement is smoothed out and varies with the player's speed of movement and transitions smoothly between the 3 states of being stationary, walking, and running.

The footstep sounds are played randomly from a bank of possible sounds and the volume is varied to coincide with the player's speed. These sounds are triggered by the procedural animation so that they can be synchronised with when the camera has bobbed to its lowest point as this would represent the player's foot hitting the floor.

Additionally to the footsteps, another sound is randomly played whenever the player makes contact with the floor, with the volume of this sound being adjusted according to the speed at which the player hit the floor.

These have been quite simple changes but I feel they make so much difference to how enjoyable it is to play the game that, even at this early stage, it is a level of polish that is very worth adding.