This was one of the problems that has put me off playing PC since the winter update. It is really heartening to see Matthew so on top of this and so communicative! Someone give that man a raise!
I wondering if it is worth investigation what happens between adjusting the fall off to 35m as suggested to allowing two instances? Could this in affect mean that two instances (when the player uses them correctly) could actually reduce the overhead by using the effectively compared to using 2 or 3 speakers to do the same thing.
But as said, I can only speak for myself. My vote would be a +1 for reducing the range to 35 m (or 24 m, let's just call it pre-winter update ).
One thing that i maybe misunderstand is the following: in your replies you constantly mention the 'coaster speaker', where I speak of the multi-directional speakers with sounds like 'batcave' and so on. Are we talking about the same thing or is this another one of those confusion thingies?
Ah yes, for 1.1 we got these types of (relevant) audio objects:
- Ambiences - omni speaker. [Doesn't support user content]
- Placeable music - cone attenuated speaker. [Supports user content routed into 6]
- Triggered effects - cone attenuated speaker. [Doesn't support user content]
- Rides - omni speaker. [Supports user content routed into 6]
- Coasters - omni speaker. [Supports user content routed into 6]
- User Music
My local build looks like this:
- Ambiences - omni speaker - 40m
- Placeable music - cone attenuated speaker - frontier supplied audio - 35m
- Placeable music - cone attenuated speaker - user - 35m
- Triggered effects - cone attenuated speaker - 50m
- Rides - omni speaker - frontier supplied audio - 600m
- Rides - omni speaker - user - 600m
- Coasters - omni speaker - frontier supplied audio - 50m
- Coasters - omni speaker - user - 50m
Anything bold is changed downwards.
600m btw is not a typo, Flatrides have a bespoke system where we only ever play three pieces of music. We can do that because Flatrides have larger footprints so there's less of them in the same space as speakers. We also thought it important for music bleeding through far away even if it's very quiet at 100 meters. In a busy park it doesn't interfere but when looking at the park from a hill it adds a touch. Our technical sound designer genius; Stephen Hollis, is now overhauling the way this sounds at a distance. He's adding a nice big *thump* to electronic music like you get from a car with a big sub-woofer, passing by at a distance.
Furthermore we have:
- Reduced the early reflections (echo) on music speakers.
- Added / tweaked cone attenuation so sounds behind a speaker are more muffled.
- Fixed speakers not being muffled by terrain.
On our "nice to have list":
- we think it should be possible for item 4. to receive a user component also. But that would be with a lot of restrictions in place (like only ever hear one or two of them at the same). Requires a significant time investment so currently not planned for.
- we think it should be possible to give some combined range/volume control on placeable speakers. This is a super tricky technical problem which requires making changes to our audio middle-ware (which we'd rather avoid). Requires a significant time investment so currently not planned for.
Matthew
Thank you Matthew for your generous insight into the audio system of Planet Coaster : ) [up]
I wish we always had the time to do this but we are usually completely swamped in work. it does take a bit of time to write all of this down so please don't hate me when things get busier again and it's harder to find time to respond : )
That's it!! We need to petition upper management to make all days like the holidays!
No more updates, just hang out on the forums all day!
It's a lovely place and you're all incredible people, but just like we love seeing your creations, I bet you like us working on our games ; )
I wish we always had the time to do this but we are usually completely swamped in work. it does take a bit of time to write all of this down so please don't hate me when things get busier again and it's harder to find time to respond : )
No more updates, just hang out on the forums all day!
It's a lovely place and you're all incredible people, but just like we love seeing your creations, I bet you like us working on our games ; )
No more updates, just hang out on the forums all day!
As said before, it's not as simple as setting up a new speaker with a different attenuation (=distance) range.
Our code side virtualization system (the optimization that makes sure we can "cap" the amount of work that the audio engine has to do) is fast because it only has to look for one range of speakers. It would have to be altered to support multiple speakers.
Speakers with same music applied will be in sync because we decode the user music once and then distribute it to those speakers that have that music applied. This is already much slower from a hard disc (user music) than it is from memory (soundbanks = our music).
Two instances of the same track means we have to decode it twice. This is exponentially slower because reading the same file from your hard-disc is slow. You might have noticed copying two large batches of files simultaneously is slower than copying them sequentially.
Finally we have choose for a not music optimized sound engine (=super low latency) so the two instances would likely get out of sync, meaning the music will be out of time. The reason to choose reliability over performance is that we can never guarantee a fixed frame-rate and in those cases it's better to have a bit more buffers in place ad allow some slack on audio. People from alpha 2 might remember we got quite a few reports of staggered and even cutting out of audio.
We have had long discussions and experimentation's on a possible two speaker solution and it's not un-doable (nothing is) it just requires a large time investment and lots of testing.
Practically: I've changed the ranges for ambiances and placeable speakers, including user music, to be 35m. That should give you a bit more (or actually less ; ) space to play with.
If we make our track quieter out of game and then it plays does the game recode the volume to suit?
Things we do:
Slightly boost the volume of user music in our audio middle-ware (wwise) and then put a compressor-limiter on the end result. This is like having a mix engineer listen to your track constantly and if it gets too loud, she/he will reduce the volume a little to make sure it never passes a threshold. I tried doing it also for when your music gets to quiet so that it's always above a certain level, but it frankly sounded atrocious. Really good mix-engineers spend hours getting that right so a real time solution running inside a game engine which also happens to simulate an entire park... well, it was ambitious ! : )
The other thing we have done is that dependent on how loud your game is (ie. a tracked ride or a coaster going full speed // which is a big volume difference) we boost / reduce the volume of triggered effects and (user) placeable speakers. It's not a huge difference, but it just means it doesn't stick out so much anymore when the game is nice and relaxing.
The more you explain the more amazed i am at how complex this game is. I never imagined there are so much mechanics involved in processing a piece of music/sound.
With that, it's time to wish you all a very Merry Christmas or Happy Holidays and a fantastic New Year!