When desyncs will be fixed?
idarktemplar: 0nin is correct with his descriptions in this thread. Latency exacerbates synchronisation problems.
We expect to have some sync improvements in before Open Beta. It'll hopefully make it a lot better for everyone. We'll then continue to improve it in the future as we find new techniques. Lead Developer. Follow us on: [url url="http://www.twitter.com/pathofexile"]Twitter[/url] | [url url="http://www.youtube.com/grindinggear"]YouTube[/url] | [url url="http://www.facebook.com/pathofexile"]Facebook[/url] | Contact [url url="http://www.pathofexile.com/support"]Support[/url] if you need help! Last edited by Chris#0000 on Nov 4, 2012, 6:20:16 PM
| |
I found your explanation exceedingly elegant, 0nin, and am glad it was on the money.
My general solution is to react as fast as possible (not that fast, I'm a sad old man) and to tip the scales in my favour (okay, I'm a sad, but cunning old man). I do use whirling blades as my avoidance tactic, but I tag *everything* with a permanent Temporal Chains and make sure to have ice damage on my weapon. This gives me a LOT more room to move when it comes to predicting enemy attacks. If I like a game, it'll either be amazing later or awful forever. There's no in-between.
I am Path of Exile's biggest whale. Period. |
![]() |
If syncing were as the OP wants it, there would be complaining that there is an annoying "delay" to player actions. LoL and DotA players complain about this all the time. In the case of a game like SWTOR, which is infamous for it's 1 - 2 second delay to casting any ability, people quit the game over it.
I for one, agree with GGG's implementation of the POE client. Anyway, it's too late to completely change how the client interacts with the server. That's a ridiculous thing to ask the development team to change at this point. It would take months, and then after those months, probably a year, to iron out all the bugs caused by such a massive shift in the game's architecture. The best we can hope for is that GGG will improve its prediction algorithms. Asking anything else belies your ignorance of computer programming. Desync is not a simple fix no matter how elementary you want to paint the problem. Frankly, I'm amazed the game runs as well as it does under its current design - as someone who has never programmed server-client syncing like this, I would at first believe it wouldn't be possible to even attempt this -- I've only ever played online games that had a majority of the calculation be client-side. But then again, my understanding of such things is limited. My Keystone Ideas: http://www.pathofexile.com/forum/view-thread/744282 Last edited by anubite#0701 on Nov 4, 2012, 6:46:32 PM
|
![]() |
" My understanding of net code is limited but I do have a little programming experiance. Would it not be possible to say make a buffer range where the server gives a bit of leeway on the calculations it makes? Say the server is going through its calculations and you reach the 50ms point, where you die. Then the server receives the clients command to Whirling Blade away. Even though the command might be possible to be made while dead, couldn't the server then check to say "If this command was received within X amount of seconds from the last 'effect' that was applied onto the player, then cancel that last 'effect'."? I understand that the code for all the possible solutions to this would be extensive but what do others think? |
![]() |
" There's a technique called lag compensation that is quite similar to what you're describing. It is implemented in quite a few online FPS'. Source Engine Networking gives a good description of the problems and solutions in Client-Server architectures. My guess is that the technique requires too much memory and cpu cycles to implement for an online ARPG, where you have many more active entities per player that you need to keep track of and roll back in case of desync. |
![]() |
" The funny thing here is, I also do things to help inoculate myself against desync, but it rarely works. I've even checked to make sure that my latency was well below what would be considered "poor". I'll try to cast a totem – nothing. I'll try to cast a spell – nothing. I see the animation, but nothing happens. The most egregious offenders are melee skills like glacial hammer and heavy strike. I am not exaggerating when I say that 1 out of every 3 is guaranteed to be a "false positive" in that I'll see the animation, but no damage will be assigned whatsoever. I doubt that I have a 66% accuracy, so clearly there's a problem. The game has a desync problem and has since day one. It's why I've religiously avoided melee characters. Attack speed helps, but it's an uphill battle and seeing your character cast a skill, but never actually cast is just how the game has been for months. |
![]() |
" Did you try to test "bruteforce" sync algorithms, described above? Did you even gather different sync methods and consider all their strong and weak points and then choose best one? Or did devs just said "let's try to do this odd sync algorithm and see what we can get"? People suggested some good methods even in this thread, and, well, you have got huge sync problems which can't be fixed with small efforts. Yeah, you can reduce desyncs, but you can't completely fix it. " So, you are saying, I SHOULD NOT play fire or lightning or use other curses unless I've got ability to cast more than 1 curse? It reduces amount of builds more than 3 times. Also, it wouldn't help much versus such things as charging Rhoas. You think you evaded them? Nope, server said they hit you. |
![]() |
I'm sort of with idarktemplar on this. Things don't have to desync as they do, he is advocating that a prediction-less model with some lag could be preferable to the client-side prediction and the issues with that.
You can't outright dismiss it since it is incredibly variable, I've played many games with very varying connections and sometimes, lag is just better than discontinuous artifacts like desyncs, many times you practically predict and adjust better than software. It also seems as if for many things (flasks for instance) commands simply aren't reliable, very annoying. I'm guessing bandwidth (apart from latency) and processing costs are the major factors in deciding what they're doing. |
![]() |
"Counter Strike uses something like that. It makes you able to headshot people who, on their screen, already disappeared around a corner. It's really quite silly. | |
" Counter-Strike uses something like that only because speed is very important in FPS genre. You can't have delay of 0.5 seconds there. But you can in RTS. And you can in RPG like PoE. Edit: and 0.5 seconds is just example. With good internet connection and quick server responses it's much less. Last edited by idarktemplar#1285 on Nov 5, 2012, 9:27:51 AM
|
![]() |