Client-server Action Synchronisation
"This seems to be good, couldn't you predict the actions of the monsters since they are actions on your server and then resynch? just a question. |
|
" And that is why it's bullshit. "DESYNC IS A GAMEPLAY FEATURE!!!!! SOOOO HARDCOOOOORE!!!!!!" I've played with Reave the most. On my current character, I have .13 APS and what happens? I spend a few moments slashing a mob that doesn't get hit, even if I have Resolute Technique. I usually play between 250 to 400 ms. At midnight, it falls down to 140 or so (SG gateway, the 250 one was from US but it had problems for the past month) and you know what changed? Only the length of time before the monster gets free hits. Heck, sometimes I attack an immobile totem for a good three seconds and it doesn't die. Either I oos or move away and attack again. I have lost count of the times I thought I was in the clear , only to be whisked away right back in the center of a lethal mob. I just find it idiotic (pardon the term) to have the mechanics you want in this game to make it SOOOO HARDCOOOOORE!!!!!! are the same ones that causes desync, based on your chosen architecture. Have no one actually tested this? I've lost count how many times I've been Vaal Smashed or Touched by God from halfway across the Oversoul/Dominus that's looking in the other direction. |
|
" Well said, and all those blaming all their failures on 'desynch' .. Man up or pack up !!! :P I can't speak for Hardcore but in Standard if desynch happens and you die everytime or a good number of time then there something wrong with your build.. I desynch loads due to my faster attack character but even if I do I rarely die ( probably have but I've always picked myself back up pretty soon because its a rare occurrence ) |
|
i'm sorry, but personally I think the opinion that synchronous movement a la MOBAs is a bad idea is just plain stupid. When you play MOBAs you *are* the unit you control, which is contrary to what you just mentioned, and trying to imply that MOBAs aren't as time critical/sensitive to lag as PoE is laughable at best.
My Shop: http://www.pathofexile.com/forum/view-thread/1338089
|
|
" Give this man a damn medal please. |
|
Repeating same excuses about desync since 2012 but noting improved nor fixed.
Just getting worse and worse. It's been almost 2 years but still same or worse. What is GGG actually doing? Last edited by netreader01#2579 on Apr 21, 2014, 2:16:17 PM
|
|
One thing I don't understand is OP said that more servers aren't the solution to the problem, however in the first few paragraphs you wrote:
" Doesn't this paragraph mean that if the servers were closer to people's locations then you could use method 2 above? Obviously you'd need many more but what is the optimal server distance to use method 2 above? |
|
Something I didn't see in your list of improvements, but which is probably worth considering is to have the server share its pathfinding routes with the client, and have the client adjust pathing appropriately as that information is received. Doing this right is a bit tricky, as the client will want to then compute a path from the character's current location to the nearest vertex on the path it received from the server, so as not to do silly backtracking. You might just have the client rubber-band if there isn't a straight line path to one of the vertices on the received path. The hope would be that in many cases at least the first vertex of the client and server path will roughly agree, and the client might be able to receive the correct server path before anything too fancy (and potentially incorrect) has taken place client-side.
A little bit of client-side velocity warping would also be worth considering. For things which aren't so far off their correct position so as to warrant rubber-banding yet, it might help sync to give a small directional adjustment to the allowed movement speed of their displayed locations on the client (while they are moving), based on the difference between their position and the reported server-side location at a given point in time. That is to say, add a small adjustment to their movement speed based on the dot product of their direction of travel and the vector between their client and server locations, so they're just slightly slower on the client if moving away from their server position, and slightly faster if moving toward it. I'm not sure whether this is appropriate for the players, it might feel wobbly, but for monsters it might help control small amounts of desync before they have a chance to pile up into larger distances. Also, the viability of that tactic would vary based on how often the client receives updates on the correct positions of things on the server. You might limit the amount of time that the speed adjustment applies for or taper it off somehow in order to limit the total displacement it can be responsible for to exactly the displacement that was observed. |
|
" I'm that Morty guy.
|
|
Less deaths caused by desync would happen if GGG just "stops the simulation", wehn client/server mismatch. So if you lag/desync, the server will also stop as long as it takes. At the moment, you usualy die because the Server continue with the game "off screen".
In Diablo 3 I survived and 10 second lag/desync right into an Elite Mob group because the server waited too. This may not so valid in group play (no clue how this works in Diablo 3) but at least in solo play I prefer a short stop in gameplay over a heavy desync. |
|