Updates

Operation Fire Bolt: New Voice & Video Beta

The Roll20 Team

The Roll20 Team

Roll20

Operation Fire Bolt here with another update. You’ve been hearing a lot from our Product and Development teams with things like tackling the top 10 Suggestions & Ideas and our CTO, Morgan’s spring Q&A on the forums, and in that time Operation Fire Bolt has been hard at work to tackle performance and deliver on our core objectives:

  • Less time waiting for things to load
  • Better performance with less memory and CPU used
  • More reliable virtual tabletop, character sheets, and dice rolling performance

With the vast majority (95%) of games loading up to 50% faster, we turned to our next most common user concerns: Voice & Video stability and performance, storage space, and dice rolling speed.

New Voice & Video Beta

We regularly speak with users experiencing issues with our voice and video system on our Help Center, and we hear you: it’s frustrating. Stability and performance are two of the major issues that have led us to reconsider the way voice and video works on Roll20.

Similar applications like Zoom or Discord aren’t purely browser-based and therefore have access to hardware acceleration and data compression that Roll20 doesn’t. Those applications use a client/server or all-to-one-to-all connection rather than a peer-to-peer connection. Our current voice & video is peer-to-peer, meaning you’re sending your voice & video data to each peer connection in the call, costing more bandwidth to run calls with more than two people. This higher upload bandwidth cost results in stability problems for users with low upload bandwidth connection. In this vein, the New Voice & Video Beta is most stable for five or fewer connected users.

Roll20’s Voice & Video is built on WebRTC, which we last did major work on in 2018. The number of users on Roll20 doubled from 2020 to 2022, going from five million users to more than 10 million. So many people relied on the internet during lockdowns for social connection and fun on Roll20, and we want to make sure you can keep playing on Roll20 with a reliable connection to your friends even if you choose to go back to the table.

We’re retooling the way our voice and video works to serve that need in a more stable, sustainable way. Jeff, Operation Fire Bolt team lead and Roll20 senior developer, is going to chat about some of the improvements we’ve made with the New Voice & Video Beta.


Technical Details

During the beta period, we’ve collected tons of data from users trying out the new functionality and we’re excited to share some of those metrics with you as well as outline some of the new functionality coming soon.

I want to first share the biggest number: for users on the New Voice & Video Beta, time spent connected to other players (rather than in a failed state, like disconnected or trying to reconnect) has increased from 65-70% on average to over 95%. That’s not bad for the pure peer-to-peer solution we’ve built, though we still continue to set our sights higher. The following updates are already released in the Voice & Video Beta:

  • Connection Status monitoring (and indicators) for each player in the game
  • Auto-reconnect functionality; when we detect your connection to another player is lost, we will fully re-initialize your WebRTC session automatically, auto-healing issues like network traffic degeneration or miscellaneous browser and device issues.
  • More robust signaling and relay servers, as well as some user-configurable options to fit usage to your own network conditions.
  • Full support for card decks in hands by the player avatars
  • Player Avatar persistence regardless of connection status (if you’re in the game, your avatar will show even before you’re connected to Voice & Video, just like before the New Voice & Video Beta)
  • Full support for player avatar size settings
  • No initial automatic connection – you’ll wait to join the Voice & Video channel until you press a small button by your player Avatar, so no need to cover your camera if you are just hopping in a game outside of a normal session.

And here are some more updates coming very soon:

  • Voice activity indicators
  • Additional connection status monitoring, such as when you temporarily lose your connection to another player for any reason.
  • A variety of state tracking and connection recovery techniques to maintain connection to other players even in difficult network conditions.

Back to Ashton!


Ultimately our goal is to get Voice & Video to a place where we’re confident it works for more users in more instances than our current WebRTC solution. When we’ve achieved that goal, Voice & Video will become the default for all connections made on Roll20. And, as Jeff said above, we’re also taking user feedback into consideration for some new functionality as Voice & Video rolls out too: you won’t see or send video to other players by default when you join a game; now, turning on that camera is a button-click away.

Roll Speed

Rolling online is always faster than rooting around in your dice tray, pulling out the dice you need, and rolling on the table, but it wasn’t as quick as we wanted and you expected. By splitting our dice servers in to two separate clusters, one delivering the quicker non-3D dice rolls and one delivering the more data-intensive 3D dice, we were able to enhance the performance of non-3D dice rolls, increasing speed from click to appearance in chat by about 20% without impacting the performance of 3D dice rolls.

Indeed, now that the change is live, all standard rolls return in about 200ms, vs. a slightly more variable 400ms or more for 3D rolls:

If your players think your streak has been a little too lucky lately we can promise: we implemented this change over the summer. QuantumRoll, our random number generator that is seeded by an entropy source deriving from quantum fluctuations, was in no way impacted by this change, and you can always see how many results per number per d20 were rolled on Roll20 in the last hour and how many rolls there have been per hour. We’re also looking at ways we can improve 3D dice performance in the future.

More Storage for Pros

PDFs are here for Pro users! You can now upload PDFs to the VTT and add them to your games through your PDF Library. To celebrate this release and that we’ve joined forces with OneBookShelf (DriveThruRPG and the DMsGuild), we’ve decided to increase Pro users to 8 GB of storage. Upload cool things to your heart’s content!

Transparent Barriers

Subscribers can also now use transparent barriers in their games! These barriers, which are a new type of dynamic lighting line, are best used with the restricted movement setting. Using transparent barriers you can set dynamic lighting your characters can see but not move through, like a window! Nefarious villains might also be able to trap your characters in a one-by-one square box with spells like D&D’s hold person or have an invisible maze that leads to their lair. Player interactable windows and doors are coming soon, with Pros seeing them first in early access.

Windows

Pro users can now access Windows in early access! Players with permissions and sight can see through Windows, but they block movement for player tokens and prompt turning on Restrict Player Movement if not already on. Players can click on windows that are not locked to open and close them. Windows have Mod (API) properties for placement, open/close, and locked/unlocked. This is our first implementation of Babylon.js, a new, more-performant modern 3D engine that we’re excited to say will help build the foundation of more upcoming features on the VTT. We’re excited to say Doors are next up for Pro users in early access!

What’s Next for Operation Fire Bolt?

We’re going to be carefully monitoring feedback from the New Voice & Video Beta and will be adjusting as necessary. You’ll be hearing from us soon!

Are you new to Roll20? Sign up for free and start playing your favorite tabletop games!

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.