XCOMRL

The Sound of Fluff

by Kyzrati on 20130319 , under

More than 750 sound effects later, I'm done (for now).

This phase of development only goes as far as implementation of the core sound system, and inclusion of a majority of the "generic" sound effects that we know we need:

  • bullets/projectiles colliding with different materials
  • spent shells hitting the ground (again, material based)
  • item throwing and colliding/landing/falling/dropping (not all the same thing)
  • melee swings and strikes (dependent on object struck--and whatever is swung, but for now that's mostly the same metallic objects)
  • door manipulation
  • grunts/screams from injury (pretty limited for now, esp. on the alien side)

So nearly none of the "unique" content you see in the demo scenarios has sound, instead all I've done so far are the parts that are sure to go into the final game. Obviously as you heard in the recent video there are sounds for the core weapons and explosions, for testing and, of course, fun :)

As for ambient sounds, while I had previously labeled them "unlikely", they are just so easy and beneficial to the atmosphere that I had to implement them, too. So now your soldiers can hear the pulsing hum of the UFO power core, beeping of terminals, wind in the trees, and fire. More will come later with the actual game content, although yesterday I couldn't help myself and added an event-based sound that plays on mission start if you have a Skyranger: the sound of the craft bay doors opening and lowering the ramp. Ambient sounds are heard by the currently selected unit, if any, and fade in slowly when selecting a new unit so as not to get too annoying while cycling through many units.

Check out this debug shot visualizing the volume of ambient sounds heard around a UFO:
Obviously you have the UFO power generating the strongest source of source in there (though it falls off quickly), with the terminals on the left chiming in. Outside is a tree, and if you're not too far away from it you'll hear a gentle breeze occasionally blowing through the leaves.
As mentioned before, sound volume is distance based, so the amount of control the engine now provides over falloff rates (attenuation) is useful for making different kinds of ambient sounds more realistic and changes in distance sound less harsh as units move nearer/further. The engine supports linear, logarithmic, reverse log, and inverse rates (you can read about them and see their graphs here). They don't work absolutely seamlessly, this being a grid world with discrete positioning rather than one with the more fine-grained resolution you'd see in a normal 3D game, but they get the job done well enough.

As with everything else, the entire sound system is controlled through text files. You just drop files in the audio directory, add their path to the sound definitions (along with their ranges and falloff model), and use them wherever in the data. The engine also supports the creation of sound channel groups for more precise control through particle script commands.

For the player, sound control is divided into three groups, UI, game, and ambient, which you'll be able to toggle and set volume for individually, though for now I'm not going to include commands for that since it will be handled through an options menu.

With this R9 is pretty much done, though I'm thinking of creating a quick mod that can better showcase the sound system, as all these cool new sound effects will be deactivated in the normal demo scenarios (you can manually activate them, but the overall experience will be inconsistent).
3 comments more...

3 comments

  • Kyzrati

    To awesomeness!

    On that note, really need to get working on that mod tomorrow... Time to terminate some (okay, lots) of aliens with extreme prejudice, this time in audible fashion :)

Post a Comment