The current version of the sound system is now active in Blockets, Bullet, and the non-GFS project Migration. It went straight into both Blockets and Bullet with no real problems, and the coder on the Migration Project (Michael the Machine) is currently working to allow the system to talk to the gameplay engine he's written (most of which sits outside Unity and interfaces with the scene through a single class).
There was some good feedback from my fellow developers about what other kinds of functions they would like to see in the system, as well, which I diligently wrote down on my list.
I also had a chat to the Islands team about sound for their game, and this was what really got me thinking - their game has five unique areas with distinct soundscapes, which means I need a bigger and more complex class structure to contain this stuff and allow things to be called when required.
Without further ado, this is a list of ideas that I will be considering for the next build of the sound system, in no particular order.
- functions to fade sounds in and out and set volume
- functions to set up sounds that need to be attached to gameObjects (and possibly functions to kill them if they are no longer needed)
- "Sound Scape" objects, which contain all the sounds for a specific area of the game, with master play, stop and fade functions
- "Sound Sets", which contain arrays of related sounds (eg. various similar explosion sounds), so you could do things like this:
- play the sounds from the array in a set or random order at a set or random interval
- play a random one-shot sound from the set
That's my thinking so far, and what I will be working on with regard to the sound system over the next week or so. Other suggestions for useful things to do with sound are most welcome!