News

Rugged Reroll Dev Blog #2: Chatty Chatty Bang Bang

The Roll20 Team

The Roll20 Team

Roll20

When creating the first prototype of Roll20, one of our core goals was to create a virtual tabletop that had everything one would need to simulate “sitting around a table” built right in. We knew right away that video chat would be core to that experience, and we set out to include it as something that worked right out-of-the-box, with no setup needed.

Unfortunately, the only way to get video chat in the browser at the time was to use the ubiquitous Adobe Flash plugin. Flash was not designed to be a video chat platform, so as you might expect, this approach was not the most reliable. Webcams didn’t work all the time. Connections would get lost or dropped. Things would just freeze up. We did the best we could, but we were held back a bit by the technology that was available to us at the time. And to this day, our users consistently tell us that the video chat feature in Roll20 is one of the parts that is most likely to cause them frustration, as it doesn’t work well all the time in a reliable fashion.

We do offer another way to use video chat via our Google+ Hangouts integration, and you can always use your own method such as Skype or Mumble for voice chat. But we really think it’s important to also offer a video chat solution that “just works” as an integrated part of Roll20 itself.

Luckily for us (and for you!) the state of video chat technology in the browser has advanced substantially in the last year and a half, with the introduction of WebRTC. WebRTC is a new piece of technology which runs natively in modern browsers (including Chrome and Firefox), and which allows video calls to be performed without the need for any plugins (such as Flash). Although this technology is very new (having only been available for a couple of months), we think that it’s so much better than the old Flash method that we’re rolling it out as the default in Rugged Reroll.

What does this mean for you? For one, it means a higher quality video and audio stream. WebRTC takes advantage of new video codecs that allow it to transmit a higher quality stream using even less bandwidth than the old Flash-based system. It’s also natively accelerated by the browser, so it can take advantage of your graphics card to give you smoother video at a higher frame-rate, while using less of your system resources (which means it will let Roll20 run faster!) Finally, WebRTC is an actively developed, well-supported technology, so if for example your specific webcam doesn’t work, it’s a good bet that we can let browser vendors know and they’ll work really hard to make it work well.

By default, WebRTC is a peer-to-peer technology. That means it creates a direct connection between the people in the video call. That’s great for one-on-one calls or even small groups, but when you start to have 4 or 5 or 8 people in a video call, each of those 8 people is uploading all of their data to 8 separate peers, which means you need significantly more upload bandwidth – and many residential Internet connections feature fast download speeds but poor upload speeds. For that reason, we’re taking advantage of TokBox’s new “Mantis” platform, which allows WebRTC data to be uploaded to a single server and then broadcast to all participants. It does add a little latency to the equation, but it drastically reduces the upload bandwidth requirement, and it’s pretty much the only way that we can offer 5+ person video calling in a way that will actually work for most of our users.

As with the other pieces of Rugged Reroll that we announced last week, the new WebRTC video chat is now available on the Dev Server for Mentors to begin testing and giving us feedback. It will be available to everyone (including free users) when Rugged Reroll launches in December. There will still be the option of using the current Flash video method for your games if you want, it’s just not the default anymore – but we think once you see what WebRTC can do, you won’t want to go back!

Here’s to better video calls in Roll20 and an ever better tabletop experience!

EDIT: Some folks in the comments have asked how this will affect our Google+ Hangouts integration. The answer is: not at all. We love Google+ Hangouts and we’ll continue to support them as a primary way to use Roll20. This is just an upgrade to our existing built-in video chat. Give it a try if you’d like, but if you love G+, feel free to keep using that as well.

The Roll20 Team Roll20

Roll20 is the all-in-one solution for organizing and playing tabletop games online, allowing you to play your games anywhere and share them with anyone virtually. With the ability to choose from a number of popular titles built ready for your virtual tabletop, your adventures are limitless and you can get started playing with little to no prep. Dive into advanced features like Dynamic Lighting or explore macros and APIs to add some extra depth to your game. Roll20 lets you play your tabletop games, your way.