Beta Woes: How Dragon Ball FighterZ’s archaic netcode could ruin it
It seems like every modern fighting game comes close to perfection but ends up having one major flaw. Injustice 2 has incredible single-player content but stiff controls. MVCI has magnificent controls and a fun gameplay system but a failure pile of single-player content. The upcoming Blazblue Cross-Tag Battle seems solid all around, but is going to lock half of its roster behind DLC. Then there’s Dragon Ball FighterZ, the game that many are already calling fighting game of the year. What could possibly be wrong with it?
If the short and disastrous open beta is anything to go by, it’s the online suite.
When a game has an “open beta” so close to its release, it’s not really a beta. The game is pretty much done and there’s practically zero chance that any bugs or balance issues will be fixed in the week and a half between DBFZ’s beta and its launch date. Rather, open betas such as this serve two purposes. First, they get fans hype for the release. Second, they act as a stress test for online servers.
DBFZ failed the test.
While anyone with a pre-order enjoyed a relatively glitch free day of beta play on Saturday, January 13, when the beta opened up to the general public on the following day, everything imploded. For a brief moment, players could enter the beta and get matches in the early morning. As the day went on, however, the beta became completely inaccessible. Players could not even start the beta due to horrendous network congestion, ending up locked out behind a “failed to initialize network” screen. If you were lucky enough to connect, it became impossible to find matches. I waited for more than two hours for a match and got nothing, despite the fact that the servers were absolutely packed.
To be honest, this is something I expected. DBFZ is way more popular than Bandai Namco or Arc System Works could have expected and it was bound to have server troubles. Connection problems, matchmaking problems, general server congestion, this is all par for the course for a game that grew in popularity too quickly.
What I didn’t expect, was the poor quality of matches I did get into.
Time for a lesson on netcode kiddos!
Delay-based netcode vs. rollback netcode
Dragon Ball FighterZ uses something called delay-based netcode. This synchs up both games by delaying a character’s actions until both players have received commands. For a (simplified) example, say I press a button attempting to make Goku throw a jab. My game immediately receives that command. That command is then sent over the internet to my opponent. When both games have received the command, Goku finally jabs.
DBFZ actually attempts to estimate how long your delay will be and shows you this delay at the top of the screen during online fights. At 2 or 3 frames, the game is still playable, though you will find yourself dropping combos you would otherwise be able to execute offline. At 4-6 frames, the game starts to feel unfair. It becomes impossible to block mix-ups on reaction and hard to avoid projectile spam. Anything above 6 frames is honestly unplayable. The game chugs and slows down and even inputting special move commands becomes dicey. Oh, and the delay that the game reports is never accurate. I’ve had 2 frame matches that felt like there was a 10 frame delay, and 5 frame matches that played smooth as butter. In general, I had more bad matches than good ones.
The online experience is so bad because delay based netcode is archaic. DBFZ is one of the only fighting games that still uses it. Heck, it’s one of the only games, period, that still uses it. Most other fighting games have graduated on to rollback netcode.
Rollback netcode works a little different than delay-based netcode. Instead of delaying your character’s moves, they always execute immediately. So if you tell Goku to jab, he will immediately jab on your screen, then when your opponent receives the command on the internet, he will jab on their screen.
Unfortunately, this could create situations where the game becomes desynched. For example, you could jab while it appeared as if your opponent wasn’t blocking, when in actuality your opponent was blocking and you just hadn’t received the block command yet. This would cause your opponent to get hit on your screen and your opponent to block on theirs. Rollback netcode fixes this by “rolling back” the game to the point where the desynch happened, and comparing the game’s state. It compares both states and both sets of inputs to determine what should have been happening.
For example, if your opponent blocked on the same frame that you jabbed, then the rollback will calculate that the move should have been blocked and will update your screen to show him blocking. If he blocked after you jabbed, then the rollback netcode will update his screen to show the move connecting.
Rollback netcode doesn’t actually make anyone’s connection quicker. It just feels quicker because everyone’s commands always happen instantly. If your connection is good, the game rarely desynchs and you can barely even notice the rollbacks when they happen. If your connection is bad, however, characters will teleport around the screen and be unhittable. There are pros and cons to both types of netcode but at this point, most people agree that rollback netcode is superior for fighting games.
Yet Arc System Works seems to actively refuse to design games that utilize it, and I cannot understand why. This one bad decision may be a kiss of death for Dragon Ball FighterZ. This is a game with a huge tournament following, a huge pro following, a huge casual following, and the massive interest of the DBZ fanbase. This is a game that has an incredible tutorial, a huge story mode, and some of the best graphics I have ever seen. This is a game that seems to have covered all of its bases, offering a ton of single-player content for casual players and an incredibly balanced and fun core system for hardcore players to dive into, and yet if this beta is anything to go by it will be virtually unplayable online.
So close ASW and Bandai Namco! Missed it by that much!
Will there be a fix?
There is time for this to change. Netcode can be changed in patches post update and with any luck, Bandai Namco and ASW will use this beta as an excuse to prepare for the heavy traffic of the game’s official release on January 26. I hope, for everyone’s sake, that it does change which could be the case if Bandai Namco decide to extend the beta period. But if these issues aren’t addressed, then the “best fighting game of the year” will have become just another game with one critical flaw that renders it unplayable. Let’s all hope that doesn’t happen.
What was your experience with the DBFZ beta like? Let us know in the comments.