0 A.D. Audio Development I signed on as Sound Designer for this Historical RTS currently in production at WildFireGames called 0 A.D. ("zero ay-dee") in March of 2005.
If this is your first time here, you can start at the beginning, and then work your way forward though the archive links. -------------------------------------------------------
Friday, April 21, 2006
Midway Post Summary & Round Up
From the Beginning in Chronological Order:

0 A.D. Audio Development - An Introduction to this Delevopment Log
So it Begins - Preliminary discussion
Getting the Ball Rolling - String to pull together threads
Sound Doc v.01 - A first peak at the soon to be sprawling spreadsheet
OpenAL Primer - A quick intro to some functionality
Readable OpenAL Specifications - Like it says
Sound Doc v.03 - The next step with decisions
Q & A - Questions on Design
Audio Implementation - Priority & Intensity A discussion on scaling sounds
Tools & Preliminary XML - A look at the potenial for tools
XML Strategy - Deeper down the rabbit hole
Interface Sounds - A look at interface audio feedback
0 A.D. Audio Summary - A bulleted list of target audio features
Programming Ambient Sound - Topics related to integration
GDC 2006 Wrap Up - Carsten wins big and we both bag a great experience
ISACT Integration - A discussion on ISACT for implementation

Alternatly you can work backwards from here, there or anywhere.

Thanks for visiting!
Cheers to the future!
Thursday, April 20, 2006
ISACT - Integrating Implementation

One of the spoils of GDC this year was a chance to see 4 sets of tools used in the implementation of interactive audio.

For the record they were:

All of them were up to the task of bringing game audio accessibility to the next level. While they all shared a base level of parameter adjustments and interactive tweaks, they also specialized in one or more areas: FMOD had a beautiful visual front end, XACT had the power of being tied directly to know hardware and integrated visual in-game testing modes, wWise (new this year) brought powerful reporting stats and a clean and minimalist design aesthetic, and ISACT looks to do well overall.

With a basis in OpenAL and OggVorbis, ISACT looks to be the perfect fit for what we intend to do on the audio side with 0 A.D.. Theories for tools and schemes for implementation have already been discussed, and the integration of ISACT would seem to coincide with previous plans without the laborious need for custom tool building.

There is still the need for integration of ISACT with what is currently implemented, programmers will need to “look under the hood” a bit, systems set up to make implementation smooth, and adherence to definitions already set up on the wiki.

A quick overview of ISACT bullet points.

Run-time Mixing

  • The ISACT Production studio
  • The ISACT Build Utility
  • The ISACT Run-time

Audio Samples

  • 3D Buffer Control
  • Global Effects
  • Spatial Paths
  • Sound Events
  • Audio Sequences
  • Timelines
  • Sound Queues
  • Real-time Parameter Controls
  • Transitions
  • Sound Randomisers
  • Sound Entities

I made a short movie using the ambiences that Avenue Audio has provided.
In this example you'll see 2 things at work:

There are 2 "Sound_Events":

These are loaded up with 4 agricultural ambients (same in either sound event).
These Sound_Events playback the 4 files in various ways:
1. In a user specified order.
2. By chance, with various ways to determine the potential of them playing
(with provisions for preventing repeats)

There is then a "Sound_Entity":
Created in order to enable multiple “players/channels/streams” to play simultaneously based on definable action variables like state changes, etc.

The sound entity is being used in this example to control when either 1 set of Sound_Events are being played (based on the parameters for randomization), or both sets play simultaneously (based on the Sound_Entity action definitions).

Watch the example here.

Did that make sense?

So, this was just one example of how interactive audio gets implemented by ISACT, and keeps that creative control in the hands of the Audio Team.

It then becomes a programming issue of setting up the hooks into OpenAL calls, pointing to established 3D buffers, setting up Real-time Parameter controls for world based coefficient passing, and a ton of other things.

Thanks for following along, y'all!
Until next time!
Friday, April 07, 2006
GDC 2006
Carsten Rojahn (aka carsten) and I (aka LostChocolateLab), recently arrived back safe and soundly from the Game Developers Conferance in San Jose, California. We had a great time, and are quite excited to put all of what we learned into practice. Carsten also won a prize for Sound Design in the G.A.N.G. Student/Apprentice Competition! Click here and here to read more, and then download this to hear his submission.

For those who are interested in attending a Game Developers Conference in the future you can read my Conclusions from GDC 2006.

You can also see a little clip of a demo that was put on Carsten's demo reel that he took with him to the show. This short clip is video captured in-game from 0 A.D. (with a special black terrain as the background) and it features two hero units in combat. There is quite a bit of teamwork involved in what was needed to make this video happen, and I won't even try to give names... BUT, the sound work was done by Carsten, and the music by musician Boris Hansen.

View the movie by clicking HERE.