Explaining how fighting games use delay-based and rollback netcode
October 16, 2019

I would like to thank krazhier and Keits for taking hours out of their busy schedules to discuss technical aspects of netcode with me, and Sajam for taking time to answer interview questions and being supportive throughout the writing process. I would also like to especially thank MagicMoste for making all the wonderful videos you see in this article. All their help was offered for free and I am thankful for their friendship.

This article has been cross-posted on Ars Technica.

You may also enjoy watching a video feature on the topics in this article.

Welcome back to Fightin’ Words! It’s been a while since we last discussed how the most famous fighting game bugs have impacted the community’s favorite games. Today’s topic is a bit more technical, but it’s an equally important factor in how our favorite modern games are played -- we’re going to be doing a deep dive into netcode.

At its core, netcode is simply a method for two or more computers, each trying to play the same game, to talk to each other over the internet. While local play always ensures that all player inputs arrive and are processed at the same time, networks are constantly unstable in ways the game cannot control or predict. Information sent to your opponent may be delayed, arrive out of order, or become lost entirely depending on dozens of factors, including the physical distance to your opponent, if you’re on a WiFi connection, and whether your roommate is watching Netflix.

Online play in games is nothing new, but fighting games have their own set of unique challenges. They tend to involve direct connections to other players, unlike many other popular game genres, and low, consistent latency is extremely important because muscle memory and reactions are at the core of virtually every fighting game. As a result, two prominent strategies have emerged for playing fighting games online: delay-based netcode and rollback netcode.

There’s been a renewed passion in the fighting game community that rollback is the best choice, and fighting game developers who choose to use delay-based netcode are preventing the growth of the genre. While people have been passionate about this topic for many years, frustrations continue to rise as new, otherwise excellent games repeatedly have bad online experiences.

There are relatively few easy-to-follow explanations for what exactly rollback netcode is, how it works, and why it is so good at hiding the effects of bad connections (though there are some). Because I feel this topic is extremely important for the future health of the fighting game community, I want to help squash some misconceptions about netcode and explain both netcode strategies thoroughly so everyone can be informed as they discuss. If you stick around to the end, I’ll even interview some industry experts and community leaders on the topic!

Before we dig into the details, though, let’s get one thing straight.

Why Should I Care?

Both companies and players should care about good netcode because playing online is no longer the future -- it's the present.

While most other video game genres have been this way for a decade or longer, fighting game developers seem to be resistant to embracing online play, perhaps because of the genre’s roots in offline settings such as arcades and tournaments. Playing offline is great, and it will always have considerable value in fighting games, but it’s simply a reality that a large percentage of the player base will never play offline. For many fighting game fans, playing online is the game, and a bad online experience prevents them from getting better, playing or recommending the game to their friends, and ultimately causes them to simply go do something else.

Even if you think you have a good connection, or live in an area of the world with robust internet infrastructure, good netcode is still mandatory. Plus, lost or delayed information happens regularly even on the best networks, and poor netcode can actively hamper matches no matter how smooth the conditions may be. Good netcode also has the benefit of connecting regions across greater distances, effectively uniting the global player base as much as possible.

Bad netcode can ruin matches. This match, played online between two Japanese players, impacted who gets to attend the Capcom Pro Tour finals. (source)

What about those who never play online because they much prefer playing offline with their friends? The healthy ecosystem that good netcode creates around a game benefits everyone. There will be more active players, more chances to consume content for your favorite game -- from tech videos to spectating online tournaments to expanding the strategy of lesser-used characters -- and more excitement surrounding your game in the FGC. Despite Killer Instinct’s pedigree as an excellent game, there’s no doubt that its superb rollback netcode has played a huge part in the sustained growth of its community.

Good netcode matters, period. So let’s talk about it.

Back to the blog index.

Fightin' Words