How do some games like Monster Hunter, or even mobile games like Underlords, allow for players all over the globe to play together seamlessly but other games like Dota has horrible lag and ping when you play outside your region?

1.49K views

How do some games like Monster Hunter, or even mobile games like Underlords, allow for players all over the globe to play together seamlessly but other games like Dota has horrible lag and ping when you play outside your region?

In: Technology

21 Answers

Anonymous 0 Comments

eli5:

There are different ways to handle networked information going in and out of your game and it mostly comes down to how much they “fudge” or predict actions. The games likely have the same amount of lag, but your opponents in monster hunter won’t be upset if the player cheats a little for the purpose of hiding it.

eli15:

These days, almost no games will wait for confirmation from the server to move your character on the client side; they will only correct it once in a while if it’s off by some treshold. That’s when you get rubber banding.

Server-side consistency is less important for a pve game where “it’s probably fine” to let the client have some authority in dictating what happened, but needs to be more strict for a multiplayer game and especially for one as competitive and precise as dota. It might be that dota will only move the characters on the client according to what the server says, meaning you have to wait for a full return trip to see your command get carried out.

It gets trickier once you start applying this to any other actions. You can fire off the attack animation clientside without asking the server, but most games will wait for confirmation before showing the effect it had on the target. Then you get into situations where two players can meet eachother around a corner at the same time, and each will (on their end) fire before the other. There’s no good solution for this to make everyone happy, and you are forced to either kill one player who shot first on his screen, or kill both players (I know destiny does this).

The only way to have a 100% consistent, fair, and correct representation is to only show the game state according to how it actually is on the server. It doesn’t make it laggier, it only exposes how laggy it actually is.

You are viewing 1 out of 21 answers, click here to view all answers.