Ex-programmer at Respawn and Sony criticises The Division's network model
(Image Credit: Ubisoft)
A former programmer who held senior positions at Respawn Entertainment and Sony Santa Monica has penned a blog post giving his thoughts on the network model he suspects is being used by Massive Entertainment's hit game, The Division. In his post, he goes over the disadvantages of the aforementioned model and why others use alternatives in their development.
Glenn Fiedler worked as senior programmer at Titanfall's developer Respawn, as well as being the lead network programmer at Sony Santa Monica before holding this position. As such, his opinion is highly-respected.
My opinion of can this be fixed is basically no. Not on PC. Not without a complete rewrite.
Gamers who have played The Division will be aware of the many exploits that continue to plague the game's release; which Fiedler believes is at least some result of the "trusted client network" model he believes is being used. In one video Fiedler uses to example his point, a player uses a PC cheat engine to exploit memory addresses used by the game and provide himself with infinite health and other benefits which give an unfair advantage compared to other gamers.
FPS games like Call of Duty have solved this problem for decades using a two-part approach to networking which began with Quake in 1996 and perfected three years later in 1999 by continued eSport hit, Counter-Strike.
“This networking model has two main features you’ve probably heard of: client-side prediction so players don’t feel lag on their own actions (movement, shooting .etc), and lag compensation, so when you shoot another player and bullets hit on your machine you generally get credit for that hit as you saw it."
Due to decisions being made on the server-side rather than client, it reduces the risk of exploits being used like the many which have cropped-up in The Division. Inputs are taken from the player but will be relayed to the game being hosted on the server to ensure the input remains as expected.
"If the input sent from a player is they are holding down the fire button, the server runs the same player code on those inputs which results in bullets being fired on the server according to the current weapon the player is holding, the fire rate of the weapon, the amount of ammo in that weapon, and so on. Those bullets emitted on the server are the ones that actually hit and do damage to other players," said Fiedler.
To implement such a system can result in significant cost due to a requirement of running a true dedicated server like those used in some other games like Call of Duty. For games which use Xbox Live, Microsoft offers dedicated server to developers, but The Division is a multi-platform game and it's likely the developers made the decision to use their own server for parity between platforms.
When asked if Fiedler believes The Division can be fixed if his suspicions are correct, he responds: "My opinion of can this be fixed is basically no. Not on PC. Not without a complete rewrite. Possibly on consoles provided they fix all lag switch timing exploits and disable players moving and shooting while lag switch usage is detected (trusted client on console exclusive games is actually more common than you would think…), but not on PC unless they completely rewrite most of their netcode and game code around a server-authoritative network model."
What are your thoughts about network models for multiplayer games? Let us know in the comments.