A peon crying - can you hear it?

Dev Blog 10

This weeks development blog is focused on an issue very close to our hearts, that of accessibility in games, and primarily how we are going to make Fringe Planet as accessible as possible to as many gamers as possible.  We will be talking about audio today and how we can help everyone experience the sounds that occur in the eldritch dimension.

Accessibility is close to our hearts for both personal and professional reasons – Nic, our chief developer has both dyslexia and dyspraxia. Dyspraxia effected him very badly as a child, meaning his fine motor control was pretty terrible (talking/walking/catching/playing games).  He received intensive speech therapy and occupational therapy well into his mid teens. One thing he remembers very clearly is that his schools computer club teacher had written a game which was a lot fun, but ran too quickly for him to play. The teacher slowed down the speed of the game which enabled him to play the game along with his peers – helping him not only enjoy the game, but practise fine motor control as well. This was the start of a life long love of gaming.

We have recently been working on the settings and option menus in Fringe Planet, and one of the screens we have been looking at was an accessibility screen. We were incredibly impressed by the support that we received when we asked people on twitter to critique a mock-up of a sound to text system, that we had been thought experimenting with:

Mock of a sound to text engine

The feedback we received was fantastic and also came with a lot of incredibly useful resources and opinions.  Being met with such enthusiasm we decide to prioritise working on this solution. And thus the sound to text system come into existence.

Every entity in the game has an optional component which contains a sound bank of information – every potential sound it can make.  Eyebirds can flap and scream.  Peons can snore and talk. We modified this sound bank to include some additional variables – a volume level, a text description of the sound and an importance category.

Example of sound to text

The volume indicates how far away a sound can be heard. We use a single value here because computing the volume in real time could prove problematical – a scream may start loud and then fade over time, meaning taking an average value of the sound clip doesn’t reflect the initial loudness. This allows us to add weight to sounds in a more creative fashion.

A text description is a simple no frills description of the sound – “Eyebird scream” compared to “An eldritch shriek from an Eyebird that fills your soul with terror”. This is for practical reasons – reading a description takes time and will take focus away from the game.  Keeping the description simple also allows for the imagination to fill in the gaps.

Example of sound to text

The importance variable is interesting – we currently group sounds into four categories:

UnimportantSounds that really don’t matter – footsteps, the blowing of normal wind, the buzz of a conveyor belt.
DefaultThese are sounds that add to the game, but probably don’t require any attention from the player – peons talking, chopping of trees, changes in environmental sounds
ImportantThese sounds are things that the player should be aware of – a peon taking damage, the attack cry of a creature, a peon vomiting
Very ImportantThese are critical sounds, sounds that indicate potentially game changing events – a peon screaming, a gale starting to blow in, the cry of a very dangerous creature

Each of these sound categories can be displayed in different colours which can be selected by the player through the settings screen.  We are currently experimenting with this system to see what playtests better (the current build is using “environmental” to break down these categories – peon sounds, creatures sound, environmental sounds, machine sounds).

Sount to text settings

Behind the scenes, the system itself is relatively simple.  A sensor is attached to the players camera which allows all the sound banks to be aware of the location of the player.  When a sound clip is activated, the first check is to see if the volume is loud enough for the player to hear at it’s current location. If it can be heard, a message is sent to this sensor containing the position of the sound, the volume, and the category of sound.  The sensor then calculates a compass point heading and adds all this information to a simple sentence which is displayed to the player.  Currently up to four of these lines can be displayed to the player, and if no sound is being heard, they slowly vanish.

Sounds being sent and not sent - diagramThis system is still under heavy development, but we are happy with the process so far – and we will be shipping a version of this accessibility system with all versions of the game.  We are very much looking for feedback and suggestions on this feature – so please feel free to email us, or tweet, or even comment with thoughts and feedback – we value everyone’s input here! Thanks for reading this weeks development blog.  If you are looking for other information about accessibility, here is a list of some incredibly handy links!

Finally if you are a game developer and you are interested in talking to us about accessibility, get in touch! We want all games to be as accessible as possible so we are very happy to help in anyway we can! We are potentially looking into open sourcing this system once we have perfected it.

A peon snoring

Leave a Reply

Your email address will not be published. Required fields are marked *