If you’re currently interested in fighting games, you’ve probably heard the term &#netcode rollback&# thrown around the vine. Fighting game developers like Arc System Works have made this feature a big selling point for some of their recent fighting games, and even Riot Games has deployed a netcode rollback train for their upcoming Project L fighting game.
Fighting game players are always looking for fast and stable online connections. Since many players are unable to attend offline events and play games with other players, online multiplayer gaming is often their only option. Particularly for fighting games, a good connection means you’ll be able to perform your moves, perform combos, and react to your opponent’s confusion.
This means that the best possible online play is essential to keep a healthy player base to play. Fortunately, in recent years, development in the field of creating smoother and faster online interactions has blossomed in the form of &# fallback network code &#. To understand what network fallback code is, it’s important to understand the difference between fallback and delay-based. netcode.
What is delay-based netcode?
First, the basics of a fighting game are how attacks are measured. It’s almost like a measure of time in fighting games. For example, a character’s attack might start at 3 frames, while another character’s slower attacks might start at 5 frames. When you press a button on your controller, the computer reads it as input and performs an attack. Logically, when two players press buttons, the game receives both inputs and processes them at the same time.
This is typical for offline play, which is why fighting game players prefer to practice offline. Thinking logically, when information is sent across a network, there is always a delay. Fights should compensate for this delay so that your inputs do not arrive late and arrive at the same time as the enemy. (Imagine if you pressed a button and had to wait a second before your attack erupted and your opponent managed to get his attacks out earlier.)
Delay-based network code was the previous dominant way of compensating for this network delay. Basically, what is happening is that the game is artificially delaying input for both the remote and local player. For example, if a move is supposed to exit at 5 frames, the game can artificially force it to exit at 8 frames. The same restriction applies to both players. Players who are used to playing offline will feel the difference, which is why online play is often ridiculed in the community. (This is a simplification of what actually happens.)
Theoretically, if the Internet were a constant battleground where the fluctuations disappeared, it wouldn’t be so bad. There are times when delay-based network code works well, and perhaps better, than fallback network code. (This is taking into account the distance between the two players.) However, as we all know, the Internet is not a level playing field. Fluctuations happen all the time.
Imagine that there is a spike in your connection and information from your controller cannot reach the network. You press the A button, but due to your internet spike, it can’t get to the enemy player in time. What happens? The game freezes and lags because this is the only way to ensure that all inputs come in at the same time.
What is a network rollback code?
So what exactly is the rollback network code, and why have fighting game players rallied to consider it the best in online play? Remember how the Super Smash Bros. freaked out after the devs refused to enable fallback?
Essentially, the rollback network code eliminates latency by predicting your input . The game itself will try to predict your input and show it to the opponent. For example, if the game expects you to use Ryu’s fireball on an enemy, this is what the game will show the enemy. However, imagine if you used a different attack instead? The game will &# roll back &# change what actually happened. The game rewinds to another state in which your second attack was actually made.
So what’s the advantage of rolling back netcode? Doesn’t this mean that the game will constantly rewind to different states? In fact, most of the time this rewind occurs in such a short amount of time that it’s hard to even notice. If there is a huge spike in lag and the game correctly predicts all inputs at the same time, you won’t notice any change in gameplay.
In fact, games often predict certain frames in the future with great accuracy. Imagine that you are blocking a long chain of enemy pressure. Which game is the best guess for what you’ll be doing in the future? Will you fight your opponent or keep blocking? In most cases, you choose to block, and the game correctly predicts this.
If implemented correctly, the fallback network code can make the game much faster and smoother for everyone. Guilty Gear: Strive has a great network code, and tournaments between the US and Japan are a great success. This would not be possible in a delay-based network code, as the delay would be too high.