Hint in loading screen about how ping works

@llllillllilinoob said in Hint in loading screen about how ping works:

We need hints with a full BO when u join a setons game

It's supposed to be an hint, not a full paragraph of informations that nobody would read anyway or care much about, also hints are shown at random

@gruffman said in Hint in loading screen about how ping works:

I like this idea. I'd also like to see a lot more hints added to the loading screens in general, anything that helps the learning curve is always welcome.

There aren't many loading screens, but what I would suggest is adding hints in a scrolling bar in the client, with even a button to pop up all of the hints, maybe only in aeolus tab or both game and chat tabs, currently added in the game files (implementation may be with a bit of headaches) or add them in the lobby (implementation will cause headaches, probably)

And for adding hints, both gameplay and connection related hints would be excellent to add

@bellatrix said in Hint in loading screen about how ping works:

as the game works in 500ms intervals

Source? I knew it was always a bit odd but never saw those numbers before.

The game delays any inputs by 500ms, so that every player can send his input to every other player before they are taken into account by the game simulation (which needs to run exactly in sync on all machines, including order and time of inputs of all players).

There are visual indidcators that make it appear as if most actions are instant even if they are not (you can see a move order instantly, but it will only actually affect game after 500ms).

@HintHunter in loadingscreen please

Can in-game ping even be more than 500? Game will slow down to avoid desync. If one player does not have good enough computer or connection, game will slow down for everyone (or stop), so this one could keep up. If you have game speed -10 and opening f11 shows one palyer with 450 ping and everybody else ~200 ping, then this 450 player usually is "lagging" the game for everyone. If he leaves, game takes back the normal speed. And well, if he does not leave, next lobby... He gets thrown out or every other player leaves.
Hope someone corrects me if I am wrong.
Solution for "bad" computers /pings can be smaller maps, with less players and smaller unit caps.

you are mixing up ping and computer capacity. It was pretty well explained, how ping doesn't impact the game unless it is over 500.
If the game is going -10, it's because some guy doesn't have a good enough computer for that. Kicking the 450 ping and making a -10 game speed going smoothly, is just a coincidence due to the fact that the 450 ping had a bad computer.

Ok, thanks for explaining. So it is possible to have +500 ping in-game, and it does not desync? People look at f11 only to see if someone is over 500?

desync has nothing to do with sim speed or ping. That happens when people have conflicting simulations of the game itself.

The game simulation is updated (recalculated) every 100ms (at speed 0). One such update is called a "tick". Only when a new tick is calculated can inputs be applied to the simulation. This means input is delayed by 5 ticks (500ms / 100ms). So the tick in which the input was made (and sent to others) is different from the tick in which it is applied to the game.

The F11 windows mostly tells you for how many past ticks a player's input has not arrived yet at YOUR computer. For example if you see that "player 2" is behind by 3 updates/ticks/packets that means that you havent yet received the input that you will need from that player 2 ticks in the future. When a player is behind 5/6 ticks, your game simulation stops, because you need his input (which he should have made and sent 5/6 ticks ago) RIGHT NOW.

The F11 window shows you only the connection between you and other players, not between two other players. (every player is connected to every other player), so everybody sees something different in the F11 window.

So when you see that one player is 6 ticks behind in sending you their input and game has stopped, but every other player is 1-2 ticks behind, that means:

  • Maybe that players internet has a temporary problem (might reconnect though)
  • Maybe that players computer/game has crashed so he not longer sends his input
  • Maybe only the connection between you and that player has a problem (his connection to other players could still be fine, this is why its useful to ask others in chat if they see the same player being behind)

Sometimes a player is not constantly behind 6 ticks but is oscillating between about 4 and 6 ticks, resulting in a stuttering game, that means:

  • Maybe ping spikes above 500ms regularly
  • Maybe that players computer is so slow that the game cannot slow itself down enough to account for bad performance.
  • Maybe that players computer has performance spikes (thermal throttling) that confuse the game enough to make it not slow down how it should

If one player is constantly sending his input but at a slower rate than other players, the game slows down (time between ticks is increased) until that player can keep up. Thats why game speed for everyone is determined by the slowest players computer (because the game simulation must be kept in sync on every players computer).

Edit:
Keep in mind i don't know if the input delays is fixed to 500ms or to 5 ticks. If it is defined in ticks, that means it would change when you change game speed. Not sure. If it is defined in ms that means that the amount of ticks that somebody can be behind without causing the game to stutter/stop can vary based on game speed.


As FTx said, desyncs are a different problem.

Desyncs are a different problem but I have noticed that desyncs seem to be more likely to arise when a player has connectivity problems, especially if one person leaves the game while everyone else is waiting for a different player to reconnect to the internet. I haven't noticed a correlation between desyncs and the game running slowly based on slow CPU.

Maybe in general people should try not to leave games while one person is reconnecting.