Technical solution to eliminate desync in single-player sessions
@qwave
Why the client should communicate to the server the damage dealt with an attack? If this is only function of the game-status (character skill, items, auras, etc...) and on the rng (which is the same both on the client and the server) this is redundant. Did I miss something? Roma timezone (Italy)
|
![]() |
SkyCore, I have continually adapted the system in order to meet the needs of Rhys_GGG.
Ultimately, if Grinding Gear Games identifies flaws, I am going to compromise or come up with new solutions. This is how software evolves. And this is how problems like desync get fixed. At this stage, Rhys_GGG and I are disputing amongst an extremely small subset of remaining issues. If these issues are tied up, then the proposal has become feasible and their team can discuss whether it's within the budget. Last edited by qwave#5074 on Nov 20, 2013, 8:32:03 AM
|
![]() |
" You are exactly right. Yes, it is redundant. =) And congrats on the first person to recognize this! This is one of the most important points in the entire proposal. I alluded to it in the same post saying: "You will be surprised at how much data you actually do not even need to send because the server can implicitly fill in the blanks" Last edited by qwave#5074 on Nov 20, 2013, 8:36:05 AM
|
![]() |
It is actually very amusing encountering these "predicting" mistakes eventually leading to desyncs. I am regularly playing with my brother, and we are actively communicating via Skype while playing. We both use /oos macro at about every 6-10 seconds.
It is just freaking amazing, that 90+% of the time we both see the exact same game state before using /oos macro - let's say mob is in front of us, but after /oos it appears to be behind us. It is really rare when one of us actually sees the other desync'ed. I can actually recall yesterday's event, when we were farming ledge merciless and I was using Weapon Throw and was unable to damage anyone (despite having Resolute Technique). After using /oos I saw i was hitting wall all the time, but my brother saw me hitting the wall for all that time already. The other case was when he saw he was at least half a screen away from Volatile Stormblood but got hit nevertheless, but I saw he was actually in range all the time. This makes me think that "Client Prediction" (if we call it like that) is very similar for all clients (like me and my brother both playing), but at the same time it looks like it completely differs from "Server Prediction"! TLDR: Doesn't the root of the D problem lie in that client predicts game state in a totally different way that server does? How comes we both see boss is here, but loot drops somewhere else? Couldn't it be because of some bug fix applied to server code somehow just didn't make it to the client code, or vice versa? |
![]() |
"I personally think it makes the most sense. Which should be easier to predict: the movement of a monster (which would be the client's job, what it is supposed to predict), or the movement of the player (which would be the server's job, if asked to predict it)? The movement of the monster is something which the client should be able to predict reliably. Unfortunately, this is often not the case. 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.
|
![]() |
" The client shouldn't have to predict, the client should KNOW the location of monsters because it should be able to simulate their paths in the same way the server does. Monsters should never get 'out of sync' because the client should be smart enough to simulate their AI without the server's help. |
![]() |
" I know this is off topic, but the first thing I noticed when I logged in to poe back in CB, was this. How combat felt so much different from D3. In a bad way. I still think PoE is a vastly superior game, but dat combat smoothness tho... There were quite a few of us who came from D3 to PoE CB and noticed this, but I never got any good answers to why it felt like this. Number 3 is very obvious in PoE though and I think you guys should really consider doing something here. Anyway, again, sorry for off topic, I just had a total "ahaaaaa, noow I get it.."-moment when I read that spoiler. I hope this doesn't derail the thread, I should maybe add a disclaimer: I don't want to talk about this topic here, I'll make another thread if I do. Just wanted to thank Rhys for his explanation. |
![]() |
" Note how the tone of voice now sounds like how he is one of the developers as well. This just proves my previous point. |
![]() |
Heya Sachiru, did you read the 3 steps? ;-)
|
![]() |
"This makes a lot of sense when you really think about it. The client is a computer program, after all; given the same inputs, the exact same calculations are made on all clients. Since you were partying together and for the most part in very similar situations (very similar inputs), wouldn't it necessarily follow that most of the time failed predictions would exist on both machines simultaneously? To be honest, I'm a little surprised there was any variance whatsoever. 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.
|
![]() |