Hey all, just a quick update on what I’ve been doing. In short: audio and modding.
I’ve been working on the system that our audiopath Alistair Lindsay is going to use to define the sounds for the game. Up until now I’ve created simple sounds myself from free source files found at freesound.org. The code would then just play the appropriate sound file directly when triggered. This filled the gap enough for my own pre-alpha purposes, but now that we’re getting serious about audio it’s clear something much more is needed.
Al wrote me an awesome document describing the kinds of features he needs in an audio authoring system and I’ve been working on getting it done for him. He’ll be able to define sound containers that the game will randomly choose between (like creating several sounds for a punch hitting someone). It’ll avoid repeating sounds frequently, if desired. Loopers can now define a maximum number of voices, so if there are 40 fires near the camera, Al can choose to have the player only hear the closest three of them, fading between sources as the camera moves around. Soon I’ll be doing a loop-shuffle system where he can define sounds in a container and the game will crossfade between them to create one long sustained sound. So, there might be several short samples of fire burning that the game will shuffle up into a never-repeating fire mixture.
After that will be the really fun and hardcore stuff – tying sounds to game parameters. So we might tie a fire size parameter to some processing in the fire sound. It might fade from a small fire sound to a big fire sound, or change EQ settings or volume as it gets larger. I’ve created an editor to define these things while the game is running, even adding and changing sound files without stopping play.
This progress isn’t just about the audio, either. This editor generalizes to anything you can define in the game. It is the in-game mod editor. Some day it’ll be usable to creating new weapons, configuring them, creating audiovisual content for them, and playing with it all while editing it without ever closing the game. I’m hoping that a really powerful modding interface will encourage modders to create lots of new content. Here’s what it looks like now after a week of development:
Another fun detail is that this interface with line-by-line editing and collapsible objects is really modeled after the property editor in UnrealEd, which I used for many years at Irrational and before. It’s funny how some things stick with you and you end up using them where you might not expect.
I don’t know when the next public content update will be. There is some pretty heavy technical lifting to do over here – I’m doing this audio/modding system and planning to switch the game to use Dwarf Fortress-style on-map stockpiles. It could be a little while.