Maybe you have heard of the new netcode that Microsoft is working on, called DeLorean. Purposefully named after the infamous time traveling car from Back to the Future, this netcode masks latency in an interesting new way. But many gamers are wondering, why mask latency in the first place?
The answer is the laws of physics. Information can never be transported faster than the speed of light. If you took a direct line from New York to Tokyo at the speed of light, information would take 0.03528 of a second to get there, in a mythical no interference optical cable that is never diverted off course. Unfortunately, one frame in a sixty frames per second game is 0.01666 of a second, LESS than the time it would take speed of light info to hit Tokyo from New York. So as you can see, true lagless online gaming is actually impossible and will always be hindered by space.
That’s why the main job of netcode is not to make your connection faster, but rather to hide the fact that your connection is slow. The standard sort of netcode is button delay netcode. In this form of netcode, players hit a button, the game waits until the input is received by the other player, and then executes the action. This, unfortunately, causes wonky problems where you always act after you give input, and it makes games hard to control.
A more refined netcode is rollback netcode. This form of netcode hides latency by not waiting for inputs to get from player to player. Instead of running one game instance and waiting for inputs, it runs multiple game instances and processes inputs immediately. Then, it compares gamestates from all players involved to figure out what actually happened after considering all inputs. This makes games run incredibly smoothly, but when latency does spike, you will notice players teleporting around at random and shooting at nothing in particular. This is because the game is “rolling back” to a previous state in order to synch up all copies of the game being run.
Microsoft’s new DeLorean net code is a bit different, however. It’s a lot like standard rollback net code, however in addition to the player inputs, there is a third party involved, an A.I. This A.I.’s job Is to predict what is going to happen next in the game. It then sends that game state to you, before your opponent’s commands ever even reach you. If their inputs synch up with the prediction, nothing is changed. If they don’t, the game is rolled back just like in standard rollback netcode.
In standard rollback netcode, rollbacks are happening all the time because inputs frequently don’t match up. They just usually aren’t drastic enough to see. This predictive A.I. netcode, however, could seriously reduce the amount of rollbacks any game experiences. Microsoft says that it can make 250ms of network latency feel lagless. That’s a fourth of a second, or 15 frames of lag in a 60FPS game.
That being said, this netcode isn’t going to be used for competitive gaming. Instead, it’s going to be used for cloud gaming, allowing the game to mask the latency experienced when streaming the game to one console. This makes a lot more sense than using it in an online gaming context, being that a single player’s actions are easier to predict than multiple players actions. That being said, there is no particular reason why a more refined version couldn’t be used for online gaming as well.
Former Contributing Writer