Game Development Community

Possible audio system rewrite (feature requests)

by Jeremy Easoz · in Torque Game Engine · 05/25/2005 (2:56 pm) · 19 replies

(originally posted in the wrong forum, sorry)

Im looking into redoing the whole audio system in tge.

If you have any feature requests or anything else,
please speak now, or forever hold your peace.


Thanks

#1
05/26/2005 (12:37 am)
So long as you're voulenteering:

1) Dynamic audio support. OpenAL CAN be hacked on to produce dynamic audio, but there's very little in the way of synchronization ability. You can start or stop groups of channels at the same time. That's it. To get the simplest of dynamic music (fading in one tune while fading out another), you've got to tie up two channels all the time. One is playing your music, the other is 'playing' silence. When the time comes to switch tracks, you start adding the new track to the 'silent' channel and fade up its volume, while continuing to add the old music to the 'foreground' track while fading it down. Yuck.

2) Events/script fired from audio.

Example: At 38.4 seconds, (when the sound track reaches an emotional peak), the screen should start to shake in time to drums.

Without some kind of "we're there" system in the audio, you have to rely on different clocks hopefully being close to one another (torque's scheduler and the audio play speed). At a datablock level, it'd be great to specify script callbacks to be triggered at particular points in playback. IIRC there are a couple audio formats out there that let you tag/label points in time.


The current 3-D capabilities are great, but there's nothing in the way of synching to be had.
#2
05/26/2005 (1:30 am)
Cross-platform.

Sounds obvious, huh? But really. Unless it works in OSX, and Linux, as well as windows, then it's no use to me, and probably others.

Gary (-;

PS If this means you make the OSX sound work, that would ROCK. :-)
#3
05/26/2005 (1:47 am)
Whats your intended feature set?
#4
05/26/2005 (2:10 am)
What's wrong with OSX sound? With the proper OpenAL drivers (old ones) it works fine.
#5
05/26/2005 (5:53 am)
This is already being done. The guy who's doing it released a early resource a few months ago, might wanna talk to him and see if he's still working on it.
#6
05/26/2005 (11:18 am)
@Jeremy: I can't make it work, and from the forums and recent posts, it seems that there really *is* a problem, and that GG are working on it.

Gary (-;
#7
05/26/2005 (4:52 pm)
Stefan, as far as I know, Marcelo is no longer working on this.

I have a lot of requests, actually...

Firstly, the code should be abstracted in much the same way as GFX. This is a must.
Environmental effects would be nice since most sound cards support them now.
Streaming audio should have a bit more of a robust implementation.
Access to waveform data, sampled at an interval would be nice. This way we could tie dynamic effects to the beat etc of audio.
It should be designed with DirectSound in mind as well as OpenAL, since those will be the two primary implementations, however there will also be Xbox and next-gen implementations which will be done at a later date.

I should also metion that GarageGames is willing to pay for this to be done. If you are serious about this and would like to talk to us more about this, send us an e-mail.

OpenAL on Mac works fine, as far as I know. We have a bunch of games shipping on OSX, and they all have sound, so I must assume it works.
#8
05/26/2005 (7:01 pm)
That's too bad Pat :/ But it's available in it's present form and someone might be able to work from there. I would if I wasn't so swamped with work.
#9
05/26/2005 (7:15 pm)
I'm the guy to talk to re: bounties. We'll see what we can work out. COD, as always. :)

Support for streaming audio (OGG, as well as things like voice chat and sound from videos) is needed. This is more of an architectural interface issue than an issue of actually implementing voice chat.

It should be possible to capture audio through the interface.

Support for EAX/EAX2.0 and ambient/environmental effects.

Lots more. :)
#10
05/27/2005 (10:08 am)
If we get the voice chat implemented I know a lot of TGE licensees have one less item on the todo list ;)
#11
05/27/2005 (10:18 am)
@Jeremy: If you're looking for assistance, our upcoming game has a lot of the requested sound features in mind (particularly the dynamic sounds). I'd love to pool efforts, if you're interested. And since I work on the Mac, our design team mostly works on Windows, and our target platform is Linux, that should nail down the cross-platform capability.

Also, @GG: I'm working on moving TGE's Mac backend to Cocoa instead of OS9-style Carbon to make things a little more consistent with typical OS X application behavior. Interested in integrating that when I'm done? The modifications are small enough that I don't really need payment.
#12
05/27/2005 (10:38 am)
I have two requests:

1 - That the audio be pause/resumeable without restarting.

2 - That and audio file can be played from any time reference (not just the beginning of the file)
#13
05/28/2005 (8:16 pm)
Thanks for all the info and feature ideas.

After a few more tests and the release of 1.4 RC2 I will be starting this.
#14
05/28/2005 (11:11 pm)
There are OpenAL issues with TGE games and OSX 1.4 (Tiger) that are being solved in various ways by BraveTree, 21-6 and MaxGaming Technologies. What they are, I'm not even sure as I dont have a mac to help fix em. But suffice to say the Lore users with Tiger have sound issues when they didn't before.
#15
05/29/2005 (4:45 am)
Voice chat?
I use TeamSpeak daily and host 2 servers.
Not sure about EULA issues but the source code is freely available for download.
#16
06/02/2005 (1:49 am)
I was unaware that the source to TS was free. When did that happen?
#17
06/02/2005 (8:43 am)
Can you link to the code? I did some quick searches on google and I didn't see any.
#19
06/02/2005 (5:15 pm)
I don't see any source code there. TS is closed-source. (Some of its components, like the HawkVoice library, are open.)