I've started to work on some music / sounds for Pioneer and would like to be clear about how the program makes use of sounds.
Basically we can divide all the sounds in game by way how they're used to three groups:
1. seamless looped sounds - sounds, which play continuously until canceled by event (like sounds of engines, ambient sounds or background music)
2. randomly triggered sounds - sounds, which intended to provide aural dynamic and create more 'live' atmosphere for a player (like chatting crew/data transmissions etc. for cockpit)
3. objects sounds - 'hardwired' to the objects sounds (they always the same for current object and triggered when object is used)
Another important matter, connected with the sound is its level. Technically it would be best to have all the sounds 'normalized' (0 db at most loud point - even for sounds which intended to play quietly) and let the program know how loud sound should be played. That way we'll have all the dynamic range available, so sound can be played loud if necessary or played quietly if necessary.
When I started to make some new sounds for cockpit I was curious about how Pioneer will know sound is looped or random?
Ship ambient sound is definitely looped sound, while crew sounds are randomly triggered.
As I see now these sounds are 'hardwired' in codes and adding new sounds is not an easy task.
So, here are some thoughts, sketch...
---------------------------------------------
What if we could have a file (probably lua), like sound mapping where all the sounds will be listed (and new sounds might be added as they come) and every sound will have it's name, way of usage and level (%). For example 'ship_ambient, loop, 60' - means file name is 'ship_ambient', should be played until canceled, loudness is 60%.
Alternatively (and maybe easier) all these parameters could be coded in file name, like 'ship_ambient__loop__60.ogg' or 'ship_ambient__1__60.ogg' where 1 means looped sound, 2 means random etc.
---------------------------------------------
These are just an ideas to make sound usage more flexible and give some strings to sound designers.
What do you think guys?
Sounds of Pioneer
Re: Sounds of Pioneer
My expectaton is that we'd do sound in the same way we do music - Lua scripts that respond to game events and play sounds as appropriate. The play function would take a sound name, looped/not-looped and volume. There'd be two variants, one for sounds attached to points in space (some ship made a noise, its to my right, so I should only hear it on the right speaker) and ones for unattached sounds (UI feedback).
Note that both these functions more or less exist in the core code at the moment, but probably aren't generalised enough to be naively exposed to Lua.
That approach will work well for UI sounds once that's all running through Lua, which is in progress.
So yes, I think you're pretty much spot on on how this needs to work. Now it just needs someone to get the code done. I can't promise anything, but its something I might be able to tackle within the next couple of weeks.
Note that both these functions more or less exist in the core code at the moment, but probably aren't generalised enough to be naively exposed to Lua.
That approach will work well for UI sounds once that's all running through Lua, which is in progress.
So yes, I think you're pretty much spot on on how this needs to work. Now it just needs someone to get the code done. I can't promise anything, but its something I might be able to tackle within the next couple of weeks.
Re: Sounds of Pioneer
Good to hear that. Thanks!
Another matter I would like to discuss...
Now Pioneer do not has very much sounds / music, but as more people will contribute - more sounds will come and eventually it might become a huge library with some duplicate/different styles/etc. sounds...
For example, I'm working on alternative sound/music set for Pioneer. Doesn't mean I do not like current sounds - just want to make sounds and music of my own style.
So, probably it would be good to think about all the sounds as about sound sets. It will add mobility and give a space for, say, different sounds for same event/object and for a people who, like me, would like to make the whole set.
It brings us to the structure, which in that case could be like this:
r o o t
music
default set
alternative 1
alternative 2
sound
default set
alternative 1
alternative 2
or maybe to keep all the sounds (music is sound as well) in one place:
r o o t
sound
default set
music
sfx
alternative 1
music
sfx
alternative 2
music
sfx
If player choose an alternative set and some necessary files are not present in that set - the program could read it from default set.
What do you think?
Another matter I would like to discuss...
Now Pioneer do not has very much sounds / music, but as more people will contribute - more sounds will come and eventually it might become a huge library with some duplicate/different styles/etc. sounds...
For example, I'm working on alternative sound/music set for Pioneer. Doesn't mean I do not like current sounds - just want to make sounds and music of my own style.
So, probably it would be good to think about all the sounds as about sound sets. It will add mobility and give a space for, say, different sounds for same event/object and for a people who, like me, would like to make the whole set.
It brings us to the structure, which in that case could be like this:
r o o t
music
default set
alternative 1
alternative 2
sound
default set
alternative 1
alternative 2
or maybe to keep all the sounds (music is sound as well) in one place:
r o o t
sound
default set
music
sfx
alternative 1
music
sfx
alternative 2
music
sfx
If player choose an alternative set and some necessary files are not present in that set - the program could read it from default set.
What do you think?
Re: Sounds of Pioneer
I keep sound and music separate, and I'd do for sounds what we do for music - multiple sounds for different events, grouped by event, and discover available sounds and start. And then just use the mod system to add to or replace sounds as desired.
Re: Sounds of Pioneer
OK, thanks
Re: Sounds of Pioneer
Just wondering if ship upgrades are also defined in lua (or plan to be)? At the moment pulse_laser is hard coded but i'm guessing the intention would be to have multiple possibilities there.
Re: Sounds of Pioneer
Yes, its in progress. All equipment and cargo will be defined and controlled from Lua.
Re: Sounds of Pioneer
Great, what about cockpit? It has a lot of possibilities in respect of sound - devices, communications, AI etc.robn wrote:Yes, its in progress. All equipment and cargo will be defined and controlled from Lua.
Re: Sounds of Pioneer
The panel at the bottom will be replaced with a full-screen HUD overlay thing. Still in planning. No plans for full 3D cockpits (though there has been a lot of discussion about them).