From the very low interest responses I’m getting in my survey for 3D sound, I thought it might be a good idea to explain in more detail exactly what this part of the plugin entails. I have a feeling that the power and nature of this are misunderstood.
First, with FPSC-R in its current state there is no true positional 3D sound capability. I’ve experimented with attaching sounds to objects and there is “some” fall-off of sound at distance, but no way to set it so it has a proper fall-off. For example, I attached thunder sounds to an object in my game and the sounds are nice and loud right by the object and softer when at distance. But it seems to be about one way or the other. It’s either loud right at the source or a certain level of softness at any range beyond say 500 (just a guess here). It doesn’t falloff steadily as you move away from the source and doesn’t appear to ever stop at long range. With this implementation you can never get the effect of something flying by or getting steadily louder as you approach it. No campfire sounds smoothly increasing in volume or helicopters whizzing over head. No doppler shift in sounds as the rocket flies by or the train goes past either.
Second, with FPSC-R in its current state you are limited to “how” you can play sounds and how many sounds you can play. You can attach 2 sounds to an entity and tell the engine to play each one in your script. So, if you have a custom monster then you can basically play his hurt sound and his death moan. Forget about his battle rage roar or an attack sound or anything else. With clever coding and the use of certain tricks you can do more than this, but it sure would be nice to have an easier way of doing it rather than resorting to trick code.
Third, the new music system in place since 1.008 allows you to pre-load 4 music tracks, with one of them possibly being the combat music track. Not bad, but I can use many more tracks than this easily in a single level for various areas and moods.
Imagine being able to specify a list of music tracks and sound effects that load up when your game starts and you can play from anywhere in your scripts without limitation? You want 10 music tracks and the ability to fade them in/out? You want a custom character that can have 3D sounds attached for walking, running, attacking, random selection of voice-over commands, etc? Want reverb sound zones? That’s the kind of stuff this 3D sound system will provide. Here’s an example of how easy it will be to play a sound anywhere in your script.
— Pre-load sounds in an init function of your choice
soundExplosion = ocLoadSound(“explosion.wav”);
— Play sound anywhere in another script
For 3D sound you would only need to update the listener position and the objects’s position when it moves. Very simple.
I hope this gives everyone a better understanding of what this system is designed to provide. I currently have a single sound 3D prototype working in Omega Core. I just need to work out a bug where it’s having trouble with multiple buffers. Once I solve that, this system will be very close to being ready for testing.