Why desync is fixable:
" Wrong. It is the nondeterministic nature of players (i.e. you can never fully predict what a player will do with 100% accuracy all of the time) that causes desync. Desync, or de-synchronization, as clearly stated in the dev manifesto, is caused by events happening out of sync on the server and the client, or in simpler terms for the retarded among us, what's happening on the server isn't what's happening on the client. This occurs because a) The server predicted that the player will do action X, but the client reports that the player did action Y. b) The server predicted that the player will do action X and computed the result Z. It waits for the client to confirm that he does action X and to do another action, but because of delays caused by whatever reason, the client was not able to send the confirmation for action X fast enough, or sent action X and action Y near-simultaneously. The reason why desync occurs is because the server's behavior is that if the server predicts that the client will do action X and the client actually does action Y, the default behavior is to revert to the previous state and discard both actions X and Y. Why does it discard action X? Because it's a wrong prediction, and it would be a huge WTF moment if you casted Immortal Call and the animation and effects for Enduring Cry played back. Why does it discard action Y? Because a client can manipulate things on the clientside. If hackers or botters discover that GGG has stupidly decided to follow clientside prediction and/or actions in the case of desync, you can be sure that there will come to be hacking tools that will force a desync to occur, and predict that >9000 Mirrors of Kalandra dropped off Normal Hillock's death on the client. Discarding prediction and forcing input latency into the game is a stupid idea. People who say "I can play around lag and predict what I need to do next" are CASUALS who do not understand how critical even 250 ms of delay is when it comes to split-second timing of skill chains. I cannot stress enough how a split-second Granite Flask drink has saved me from certain death, and delaying that flask's activation by 250 ms is something I find intolerable. This does not include the clusterfuck of complaints GGG will have when PVP is implemented, and a 450ms player PVPs against a 45ms one. Why does Blizzard not have desync? Well, whoever told you that they don't have desync is a liar and a moron. They have it, they just have ways of hiding it, such as input latency (what you do isn't instantly shown to you), lowering the average ping of players by adding a fuckton of servers everywhere (trust me, if GGG has something as widespread as Battle.net, desync would be much, much rarer). Diablo 3 cheats around this by making the impact points of everything very large and very far in advance, giving them ample amounts of time to correct desync issues, but making D3 more easymode since it tolerates looser timings. This is evidenced by D3 barbarian Whirlwind, where (if you carefully check animations) you see cases of Whirlwind activations that damage enemies slightly outside of your damage radius on activation but are in the path of your movement. GGG, in its goal to preserve the hardcore nature of its gameplay, has elected to go with tighter impact timing, which means that you cannot be as sloppy, but more desync. |
![]() |
" ...great, and now go and read the answers to your post in the first few pages... Oh, and btw who said that you have 250ms delay? Last edited by DE3me#2347 on Sep 17, 2013, 12:39:18 PM
|
![]() |
" Dear Real_World :D Thank you for contacting the Solitaire helpdesk. Can you please enable logging with the little checkbox in the corner and try again? If this bug occurs again please send us the log file which you can find in the Solitaire folder. Thank you and have a nice day! Last edited by Startkabels#3733 on Sep 17, 2013, 6:58:23 PM
|
![]() |
" You do realize that the implementation code behind your imaginary checkbox has to actually be written by someone, right? [Hardcore] Soldiers of the Wasteland - sotwguild.com
------------------------- Skill Resets are the last refuge of the weak and incompetent. |
![]() |
Yes I do, what is your point?
|
![]() |
Can we stop the discussion about how programming works? If you want to discuss this do it through PMs, because i think it go nearly nothing to do with this thread.
|
![]() |
I think that we can back InTopic and go to a conclusion (which can however be a hint for a further thread).
Let's start with the assumptions of the sync-manifesto: " The difference between the 'wait' phylosophy (point 2 of the sync-manifesto) and the 'predict' phylosophy ( point 3 GGPO-like) is very little and maybe only personal tastes can say which is better. The former shows desync as latency, while the latter as 'teleports'. As GGG, I prefer the 'predict' method in an aRPG, even if it is more difficult to program due to the fact that the game has to handle fast updates of game-status. The main differnece between PoE and most RTS is that they are deterministic. This is why they work, not because they use the 'wait' method. In this framework the only source of desync are far away opponents, and the desync is only related to latency, because there are no bandwidth issue involved: in multiplayer the communications are p2p, and only commands are sent, not the game status. This allows continuous update (even if a little bit delayed in multiplay). Even in the aformentioned paper ( http://www.altdevblogaday.com/2011/07/09/synchronous-rts-engines-and-a-tale-of-desyncs/ ) the author, which is a skilled game programmer, propose the wait method, but in the comments he suggests GGPO as an interesting alternative. However i remark again that the main aim of that paper is not to describe how to handle latency, but it is an explanation of why determinism works so well, and the description of some problems in the difficult (but not impossible) task to create a deterministic enviroment. In a deterministic world, both methods would perform well (or at least much better than the current system). He also clearly state that in a deterministic framework there would be no desync at all in single player. Back to PoE manifesto, i do not know why GGG did not mention determinism while describing why other online games work well. And, most of all, why such solution has been discharged by default for PoE. I do not think think that it is for cheating and for the point 1: i already described in another thread that cheating is not a serious issue if some countermoves are taken (at least no much more an issue than it is today) , since the client is allowed only to send commands, as required by determinism, and not to define the game-status. Roma timezone (Italy)
|
![]() |
" That is the key point where i disagree with you. (latency vs random 'teleports') PoE is a game aimed at hardcore gamers and (at least after my experience) the thing a hardcore gamer dislikes the most is something ingame he can't control. In that respect a bit delay should be the better option for a game like this than something that can take the control out of the hands of the player and puts it in some sort of a 'random' arbitrariness of the system. Last edited by DE3me#2347 on Sep 18, 2013, 5:30:35 PM
|
![]() |
"Having your character on "wait" status is no less controllable, and can still lead to random deaths. You appear to be under the delusion that, while under "wait" status yourself, monsters would also be on "wait" status. This is not the case; the server gamestate would continue to progress without you, much in the same way it currently continues to progress with incorrect positions on the client. 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.
|
![]() |
Why doesn't OP program it himself?
Obviously he is all and knowing. The rest of the 'end-game' content will be available along with a heap of new stuff when the game launches in a few months time. From what I've seen it's going to be awesome. - Michael_GGG
|
![]() |