While riding with my buddy on Zwift, we called each other on our cell phones using headphones to chat, which worked fine but it only worked with us.
So I had a better idea. It should be possible for Zwift to be able to use the headphones on my phone (an iPhone) to allow me to audio chat with any other riders in the virtual world. Imagine if Zwift would mix together audio streams from riders that are close enough to normally be able to hear out on the road and change the volume of the audio based on how close you are to the other rider. So if you are riding side by side or just in front/behind, you could hear them full volume. Once you get 5-10 bike lengths away, you cannot hear them anymore.
Then, when riding in Zwift, it would be just like riding for real in that you could roll up next to someone and say hi, have a conversation etc?
Or to allow people to communicate on certain channels, you could set up audio channels for group rides and only people in the group would be able to chat with each other.
Hi Kendall, what you describe is similar to what we originally were aiming for, but as it turns out it’s a very complicated problem to mix custom streams for 1300+ people simultaneously. We’re still researching options for voice chat, but at the moment I can say it’s still a ways off. Teamspeak channels have been set up by some riders in the “Zwift Riders” facebook group and they may offer a temporary option. It probably also turns out that a “channel” will be better than pure proximity chat because it’d be annoying to get dropped and ride in silence if your intent was to have a social experience.
Yeah, I can imagine it would be complicated to figure out how to do it based on proximity, so you are right that a simple channel based system would probably be less resource intensive overall and could be run entirely separate. Something like team speak built into the app would make it pretty painless and easy to set up.
But the other option to consider is to use proximity to determine what audio streams a particular rider would ‘hear’, cap it to a maximum of say 3-4 (with a preference for people you follow) and then send those streams down to the client to do the actual mixing. Doing it server side would be a huge amount of CPU for 1300+ people riding at the same time, but if the client got raw audio streams for 4 people and the ratios to mix them at, it could do all the mixing purely client side. Most modern GPU’s and/or audio cards could be used to do all the mixing client side very efficiently.
You could also mix the two concepts together and let people pick who they are riding with and always be able to hear people in your ‘channel’, but pick up audio on the fly from riders you are passing.
Either way the system rocks! Had a blast last night riding with LTD, even though I never did get the YouTube channel working
Discord is an up and coming gamer communication app that appears to use less resources than other programs. Would like to have zwift development explore partnering with them for seamless inlusion into the game.
My lad was explaining only this evening that Gamers are switching from Teamspeak to Discord now and that it can do proximity chat too. They can hear players flying toward and then away from them before going silent.
Zwift might want to take a look at how Second Life handles this in their virtual world. Proximity based, group and one on one voice have been available in SecondLife for a good 10 years.