MultiVersus Developer Series: Netcode
Hey there, everyone!
We hope you enjoyed our recent MultiVersus Developer Update video. Leading up to launch, we’ll be releasing several blogs that take a closer look at the new features and changes that’ll be heading to MultiVersus when we launch on May 28. We couldn’t be more thankful for the invaluable feedback we received from the community during our Open Beta period, and we’re looking forward to showing you all what we’ve been working on.
One of the first aspects of the game we wanted to address was how MultiVersus felt to play online. That’s why the team has been working hard to make sure that we provide the best online experience possible. In short, when MultiVersus launches, it will incorporate a smoother, more reliable netcode that has been rebuilt from the ground up. Let’s dive right in, shall we?
REBUILT FROM THE GROUND UP
During Open Beta, our original netcode tried to consistently sync animations to the right timing on your machine, but ultimately everything was decided by the server. The problem with this was that depending on how far you were from the server, you might not see or hear something that happened before it impacted your character on the screen. For example, even if you saw a projectile and dodged it perfectly, it would occasionally still hit you. That experience is never optimal, but it felt even worse if you didn’t have good ping.
To provide a better player experience, we made the decision to create and implement rollback netcode that would be tailor-made for MultiVersus. Simply put, rollback netcode still sends player inputs back and forth, but each button press is accompanied by a precise timestamp, marking the exact moment of activation. This allows the client to reconstruct what would have happened had it received the input at the intended time. By leaping backward, then instantaneously simulating back to where you were, the game delivers an experience that feels smooth and enjoyable. With rollback netcode you’re seeing exactly the same thing as your opponent, meaning that their position and frames of animation are always updated to the most accurate position which continues to be predicted from there.
Rollback netcode is often thought of as the gold standard for fighting games, but we did look at many different network models before we went down this path. As great as rollback netcode is, it can present some challenges, so we needed to make sure we were making a choice that would be best for MultiVersus. For instance, it wasn’t ideal when a lot was happening at once on screen (like a full blown 2v2 or Free-for-All match) or if your machine couldn’t handle re-running frames. Ultimately, we just decided to build a bespoke rollback netcode from scratch, that did everything we needed it to do.
Once we made the call to switch to this networking style, we began the heavy lifting. An aspect of this approach involves making sure that everything is exactly the same on everyone’s machine for every single frame. But most of the software we used to during Open Beta didn’t easily support what we wanted to accomplish with our new netcode, so we needed to rebuild different parts of the game, starting from some boxes moving around, to Shaggy being able to 1v1, to the entire roster being back and playable. Our goal continues to be to deliver a world class online experience that is fair, dependable and flexible enough to support the launch of MultiVersus and beyond.
BETTER CONNECTIONS & MORE FUN
With improved netcode comes improved matchmaking. During Open Beta, matchmaking was often determined by latency, meaning that people were often matching with opponents in nearby regions, since being in closer proximity would yield higher quality matches with lower ping and better connections. Our new netplay will allow for people to play more seamlessly with friends and opponents who are farther away. We’ve been actively testing with very positive results so far, ensuring better connections for players with noticeable improvement to the overall experience.
This has all been very important work towards our goal to have the MultiVersus online experience feel as though you’re sitting next to your friends on the sofa playing locally, only with less sharing of the snacks.
THANK YOU
We can’t thank you enough for being a part of the MultiVersus community. Be sure to warp into our Social Channels and join us on Discord to discuss our netcode improvements.
Twitter: https://go.wbgames.com/MVSTwitter
TikTok: https://go.wbgames.com/MVSTikTok
Instagram: https://go.wbgames.com/MVSInstagram
Facebook: https://go.wbgames.com/MVSFacebook
Reddit: https://go.wbgames.com/MVSReddit
Discord: https://go.wbgames.com/MVSDiscord
We’ll be sharing more game information with more blogs posts to follow leading up to the game’s launch on May 28. See you next time!