Desync and why it's fixable

"
LogoOnPoE wrote:
Well, as with qwaves suggestion, there's still a problem of FP deterministic calculations. While simulating only mob movement will reduce the amount of possible points of error, it's still a factor.
Ugh. True. Doesn't make it less possible, but does increase the amount of code work.
"
LogoOnPoE wrote:
And regarding multiplayer, it might actually increase the desync.
Lets say there are two player characters and a mob in a room (let's say the mobs is Brutus for nicer effect :)), and both players move into the Brutus's agro range at the same time.
Previously the server would say that Brutus attacks player A, and both players can see that on their clients.
After your suggested change, each player would see that Brutus attacks them, because the actions of the other player would come in delayed and the client would not wait for the server to say which player is attacked.
Now, it's not that bad that you think Brutus is attacking you, while he isnt. But it's possible that your client will show that Brutus is attacking the other player, while he is attacking you, and that's not fun :)
One way to minimize this would be to have the server send each client an indication of which player each monster is attacking. For example, Brutus might initiate animation on Player 1 on the server, and simultaneously the server sends a timestamped message to each client indicating that Brutus is about to switch to Player 2. A brief delay would be imposed (let's say 0.3 seconds) on the server during which Brutus can't initiate more attacks or movement; this delay would begin at the beginning of the current animation, so a Ground Slam might be still in progress before the delay expires. This would greatly minimize the likelihood of these kinds of problems surfacing.
"
Meistervinny wrote:
"
ScrotieMcB wrote:
Everyone currently has their own environment.
Way to quote 1 sentence, of course everyone has their own environment but you want the state of that environment to be unique to the player as well.
No, that's the opposite of what we want. Uniqueness is bad here; we're trying to get all the simulations to line up and be as close to identical, as un-unique as possible.
When Stephen Colbert was killed by HYDRA's Project Insight in 2014, the comedy world lost a hero. Since his life model decoy isn't up to the task, please do not mistake my performance as political discussion. I'm just doing what Steve would have wanted.
Last edited by ScrotieMcB on Nov 27, 2013, 6:33:55 AM
"
ScrotieMcB wrote:

No, that's the opposite of what we want. Uniqueness is bad here; we're trying to get all the simulations to line up and be as close to identical, as un-unique as possible.


You keep contradicting yourself, do you yourself actually understand what it is that you want? Because everytime you explain something and I explain what is bad about it you say you want it different and that is not because I don't understand what you are saying.

Oh and as close to identical as possible is still unique to eachother.
Last edited by Meistervinny on Nov 27, 2013, 6:47:38 AM
Did the OP even read the long answers from GGG in the last thread on this?
Nothing to see here.
"
ScrotieMcB wrote:
One way to minimize this would be to have the server send each client an indication of which player each monster is attacking. For example, Brutus might initiate animation on Player 1 on the server, and simultaneously the server sends a timestamped message to each client indicating that Brutus is about to switch to Player 2. A brief delay would be imposed (let's say 0.3 seconds) on the server during which Brutus can't initiate more attacks or movement; this delay would begin at the beginning of the current animation, so a Ground Slam might be still in progress before the delay expires. This would greatly minimize the likelihood of these kinds of problems surfacing.


I'm not sure I quite follow, what do you mean by "timestamped message to each client indicating that Brutus is about to switch to Player 2"? Wouldn't that mean that server is trying to predict player actions? Because currently the monster response is based on player actions and random seed.
It's been over 3 years now of this problem being well known to GGG...

Alpha, Closed Beta, Open Beta and now "Release"...

And nothing has changed with regards to this issue...

Who honestly thinks GGG is actually gonna "realistically" address this issue now?

"A day late, a dollar short..."
"
StinkFinger wrote:
It's been over 3 years now of this problem being well known to GGG...

Alpha, Closed Beta, Open Beta and now "Release"...

And nothing has changed with regards to this issue...

Who honestly thinks GGG is actually gonna "realistically" address this issue now?

"A day late, a dollar short..."


Stinky lying again. Bad boy.
GGG banning all political discussion shortly after getting acquired by China is a weird coincidence.
"
LogoOnPoE wrote:
I'm not sure I quite follow, what do you mean by "timestamped message to each client indicating that Brutus is about to switch to Player 2"? Wouldn't that mean that server is trying to predict player actions? Because currently the monster response is based on player actions and random seed.
It would mean the server designates which player each monster targets; for all decisions beyond that, monster behavior would be deterministic.
When Stephen Colbert was killed by HYDRA's Project Insight in 2014, the comedy world lost a hero. Since his life model decoy isn't up to the task, please do not mistake my performance as political discussion. I'm just doing what Steve would have wanted.
@All the idiots:
Spoiler
So many morons in that game who are fighting with their teeth and nail to prevent any fix on desynch. You people will be the end of this game with amazing potential.

You think desynch is a force of nature with no way to go around the problem?
I play LoL as much as I play PoE.

Both indie games: so no big budget bonus for Riot.

When action does happen in LoL, it happens WAY faster than it does in PoE, yet no desynch.

At any given time map has at least 50+ mob units that reach to player action/position. No issues with mob desynch. NONE.

10 players micromanaging movement, skill use, targeting in a VERY fast pace. 10 fucking players at once and no desynch.

When you do Coop match vs 5 bot AI team, any single bot's AI reaction beats the combination of all boss AIs in PoE, they are very responsive to player action with no desynch at all.

That game has amazingly smooth and responsive gameplay. State of PoE is not the result of a force of nature, it is the result of badly given design choices. Which can be fixed.


@Scrotie:
I thought client already had mob mobility prediction code in its simulation. Because otherwise we would have desynch only for player position being off in reaction to mob/player engagement.

But as much as we have player position desynch, we also have mobs showing to come at you on your client, whereas they stay in their position on server. This generally happens between rooms, around corners or obstacles. And that is the main reason why people find themselves dead 2 rooms away, client predicts mob mobility incorrectly and when player clicks on a mob showing nearby on his client, his char on serverside starts moving toward that mob 2 rooms away. And when it resynchs you find yourself 2 rooms away.

At least that's what I thought was happening, if it is not, do you know how above situation occurs? Because I cant see how the two information with a small time interval from server can contradict with itself.
Last edited by symban on Nov 27, 2013, 8:26:21 AM
Huh, and to think that GGG have been wrestling with this problem for years & all this time Scrotie had the 'easily fixable' solution right up his sleeve.

Damn, GGG will be feeling like right clots once they see how easily fixable the biggest technical problem this game faces is....I mean, it's just so easily fixable.

Well done Scrotie, where would we be without you?
GGG has a solution, and it's a simple one. Problem is that it costs money. Real money. So they're balancing their loss/gain by deciding just how bad desync can be without losing their players. They're doing a pretty good job of that.

Report Forum Post

Report Account:

Report Type

Additional Info