UNISTscreen

Bad netcode is killing many of your favorite fighting games

a screen from Under Night In-Birth showing a delay of three frames

Granblue Fantasy Versus’ packed New York lobby, showing a high number of players

an empty public lobby in Guilty Gear Xrd Rev2

81A2rmc2TjL. SL1500

81A2rmc2TjL. SL1500

Watching the release of Samurai Shodown’s second season of DLC has been frustrating. The game continues to grow and develop without addressing its biggest problem: horrible online play. Is there any point in continuing to develop a competitive game — no matter how beautiful, or finely crafted — when the majority of players can barely play against anyone else?

The game itself is a stunner. I often pull out Samurai Shodown when my friends and I get together; it’s gorgeous and easy for a new player to pick up, and the heavy slashes make the whole room gasp. Everyone has a lot of fun, regardless of their skill level.

I’d like to be able to play Samurai Shodown against strong competition online as well as against my friends locally, but the netcode is so bad — worse than any other fighting game I can think of — that I quickly give up. Unpredictable bursts of heavy lag make the formerly razor-sharp action dull, slow, and unsatisfying. It’s hard to get motivated to try my best when I can’t trust that my own movements will be accurately reflected on screen.

Online fighting games deserve a lot better. NetherRealm Studios (Mortal Kombat) and Capcom (Street Fighter) have both finally embraced superior netcode, and even the smallest indie games — including jokey stuff like meme fighter Fight of Animals — have gotten great results with updated technology.

But genre leaders like SNK and Arc System Works — along with other developers and publishers, mostly located in Japan — haven’t changed much about their online play over the years, even as they’ve pumped out exciting new games. While Granblue Fantasy Versus is on the bleeding edge of 3D animation, it’s stuck far in the past when it comes to network code.

This backward approach to netcode is a story that repeats itself with nearly every new fighting game out of Japan. The only thing that’s going to change this state of affairs is fans demanding that something be done, while voting with their dollars for games that do so.

Why is this such a big deal? Well, that may take a little bit of explaining, but in the process you may learn a little more about how online fighting games work, and that’s helpful knowledge in general. Let’s dive in.

The fading status quo: delay-based netcode

Most modern fighting games use delay-based netcode when players face each other online, in order to compensate for the inherent and unavoidable lag time involved in transmitting data between two players who are miles apart.

This means the game delays both players’ inputs by a few frames (or sixtieths of a second in most cases, if that makes more sense) to keep the game running smoothly.

This approach works, after a fashion. Both players stay in sync with each other, an important thing when so much vital information lives in each frame. But delaying the input of each player, even by a small amount, completely changes how the game plays and feels. It makes a big difference between rounds fought in person, and rounds fought online. Games that use delay-based netcode, when played by the best players, become something else — something not nearly as competitive or fair.

a screen from Under Night In-Birth showing a delay of three frames

In Under Night In-Birth and many others, the delay is shown in frames on the top of the screen.

Image: Arc System Works, Ecole Software, French Bread/Ars System Works

This approach also assumes that players are geographically close and using stable, hopefully wired, connections. Delay-based netcode requires those conditions in order to work well, but those conditions are rarely met.

So what happens when there’s any kind of issue in the connection? Games will stutter and pause, which throws off players using strategies that rely on frame-perfect timing. Players may also find their inputs lost in the transmission somewhere, often compromising the outcome of the match. Winning may not come down to who has the best strategy or execution, but rather, who was able to adapt to the shifting, uncertain nature of the netcode more efficiently. This is death to any serious competitive scene.

You can see what a lag spike looks like in Guilty Gear Xrd Rev 2 by watching the clip above. Note how the number on the top right of the screen changes from two frames (indicating a much faster connection than average!) to seven, 11, and even 13 frames of delay as the footage progresses. It looks bad to the observer, but it feels even worse to play. I only managed a combo by consciously pressing every button a quarter-second ahead of time.

A delay of five frames or more usually means you’re in for a rough ride. On more challenging connections — like cross-country players, or while using Wi-Fi — lag spikes take over, and delay-based netcode quickly becomes unplayable. It’s not a serious solution to the problem of online competition. It’s just … bad. And it teaches you bad lessons.

Advanced players count on fast, precise, and consistent timing. They’re forced to play inconsistently when they have to deal with a delay of two frames one match, six frames another, and four frames the next. I have tournament friends who don’t play online at all, because they would rather forgo the extra practice than run the risk of messing with their own instincts.

Related

What is frame data in fighting games, and why are Tekken 7 players willing to pay for it?

Muscle memory and reaction time are everything in fighting games, and delay-based netcode has a very real probability of messing up how a player reacts to challenging situations. It hurts the overall play of the most competitive fans, the ones that help keep games alive.

Delay-based netcode was acceptable when it was a miracle to be playing a fast action game online with another human being. It wasn’t perfect — nothing ever will be, including rollback — but that wasn’t the point. We were amazed that it worked at all. But that was the time of the first Xbox, an eternity ago in video game years.

Developers can do better today, and some are, but let’s talk about what happens when they don’t. It’s a lesson that’s much more important in fighting games than perhaps any other genre.

The consequences of sticking with delay

Fighting games have always depended on grassroots communities to stay active and relevant, long before online play was ever a possibility. Not every game is mainstream enough to maintain a constant flow of players like Tekken or Street Fighter, and the games that can’t find a competitive scene wither on the vine.

Offline meets and tournaments will always be the best way to play, but they represent only a sliver of the total player population. There just aren’t enough physical arcades or meeting places with competitive players in most communities. Fans who buy a fighting game these days will usually only ever play versus mode online, if they play multiplayer at all. An online mode that doesn’t work, or doesn’t help their skills progress, will keep any kind of meaningful scene from developing. Again, this is death for a fighting game.

Granblue Fantasy Versus’ packed New York lobby, showing a high number of players

The packed New York public lobby for Granblue Fantasy Versus. Before the game’s official U.S. release, it was hitting 100 concurrent players a night, which is more than enough.

Image: Arc System Works/Xseed Games

When a game is new — like the recently released Granblue Fantasy Versus, which importers have been feasting on for a month before its U.S. release — all is well, even with delay-based netcode. There’s no problem finding matches on smooth connections, because the game is the hot experience in the community and everyone is giving it a try. More players mean smoother connections between competitors who are closer together, so players rarely have to worry about bad netcode when a game is new. Indeed, for games like Samurai Shodown, this might be the only time players are able to find good matches at all.

an empty public lobby in Guilty Gear Xrd Rev2

A public lobby in Guilty Gear Xrd Rev 2, which has been empty for at least two years.

Image: Arc System Works

If you fast-forward about six months, though — after the add-on characters stop coming out? Things get grim. What about after Guilty Gear Strive launches later this year, and the “anime fighter” fans migrate over to the new, hot game? Suddenly there won’t be so many active players in your region and, depending on where you live and the connection you use, there might not be any.

You’ll have to start counting on worse connections with more distant players if you want to play at all, and that is where delay-based connections begin to fail. The experience will almost always be so bad at that point that players give up and move on to another game. In some extreme examples, they may lose patience for fighting games altogether. It becomes a death spiral, and few games recover.

The worst part is that fans don’t leave because they don’t like the game. They leave despite loving it. They were failed by the technology, not the design of the game they dearly want to keep playing and getting better at.

Rollback is a better way to handle netcode

This is a big problem in fighting games, so surely someone is working on ways to solve it, right? That’s the frustrating part: Good online play for fighting games is a solved problem, and it has been for over a decade.

Without diving into the technical details (see this exhaustive piece if you’d like to really understand what’s going on with the technology), rollback netcode uses a number of tricks — alongside the traditional delay method — to minimize and mask lag and correct players’ inputs, resulting in a noticeably smoother and more accurate experience on a much wider range of connections. It’s not perfect, but it’s a damn sight better than the other, currently more popular, solutions for online play.

The name “rollback” comes from the way the code rewinds the game state to keep inputs consistent. These shifts are imperceptible when rollback goes well, but characters can appear to teleport around the screen when it goes poorly. In general, however, it’s a much more workable setup.

Back in 2007, I used the very first GGPO (Good Game, Peace Out) rollback client to play emulated Street Fighter Alpha 2 with friends online, and the seamless result — as though I were sitting on the couch next to my opponent — was a revelation. This had to be the future, I thought. Surely, Capcom and the rest of the developers in the world of fighting games would be including similar ideas in the upcoming Street Fighter 4. Right?

Um … right?

(Spoiler warning: They didn’t.)

Little has changed since that time, despite the 13 years that have passed. Western fighting games eventually embraced rollback (Mortal Kombat, Skullgirls, and Power Rangers: Battle for the Grid are some examples), but the major Japanese developers have largely stuck with their own delay-based solutions. Some games do delay-based netplay better than others, but in general, they simply can’t deliver the smooth, consistent results and wider pool of players that rollback offers.

81A2rmc2TjL. SL1500

81A2rmc2TjL. SL1500

Granblue Fantasy Versus

  • $80

Prices taken at time of publishing.

“An anime fighter for players of all skill levels.”

  • $80

    at Amazon

Similar Posts