Desync and why it's fixable

"
ciknay wrote:
Still waiting on GGG response
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.
"
ScrotieMcB wrote:
"
ciknay wrote:
Still waiting on GGG response


you wont get one.
Don't forget to drink your milk 👌
"
TheWretch wrote:
"
ScrotieMcB wrote:
"
ciknay wrote:
Still waiting on GGG response
you wont get one.
Probably, but not certainly.
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 Dec 2, 2013, 1:44:12 PM
GGG, y u no answer?
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.
"
ScrotieMcB wrote:
GGG, y u no answer?


Well it is 20 pages Scrotie, although I think your intentions are good I would imagine they have read this, and there is some reason why they cannot do what you are suggesting.

Obviously I am not suggesting I know why that is.

You might actually have better luck pming them at this point.

Hmm.

Hmmmmmmm.

Hmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm...

I dunno, I'm not sure this will improve things, overall.

I can see how it would help in some situations, but:

1) Giving each monster a shared seed for behaviour won't work because there are many other factors governing monster AI that diverge due to desync. Monster AI is not as simple as "pick something to do from a list". The list items are weighted (potentially to 0% or 100%!) based on things such as: distance from player, monster buffs/debuffs, player buffs/debuffs, number of minions, amount of life, amount of mana, etc. So basically I just think it would diverge too quickly to be worth it.

2) Allowing monsters to perform actions on the client can cause more desync in some situations.
For example, if a monster sees you on the client but NOT the server, the monster will run over to you can start attacking you (for no damage), while on the server it is standing still or roaming about somewhat. At least with the current system, that doesn't happen. And of course if you try to attack it back, on the client you whack at it (for no damage, at least initially) while on the server you are running off into another room.
Code warrior
Last edited by Rhys on Dec 2, 2013, 9:37:19 PM
"
Rhys wrote:
Hmm.

I just think it would diverge too quickly to be worth it.

2) Allowing monsters to perform actions on the client can cause more desync in some situations.
For example, if a monster sees you on the client but NOT the server, the monster will run over to you can start attacking you (for no damage), while on the server it is standing still or roaming about somewhat. At least with the current system, that doesn't happen. And of course if you try to attack it back, on the client you whack at it (for no damage, at least initially) while on the server you are running off into another room.


#2 actually happens and quite frequently. It is most notable with doorways.
Build of the week #9 - Breaking your face with style http://www.youtube.com/watch?v=v_EcQDOUN9Y
IGN: Poltun
"
Rhys wrote:
1) Giving each monster a shared seed for behaviour won't work because there are many other factors governing monster AI that diverge due to desync. Monster AI is not as simple as "pick something to do from a list". The list items are weighted (potentially to 0% or 100%!) based on things such as: distance from player, monster buffs/debuffs, player buffs/debuffs, number of minions, amount of life, amount of mana, etc. So basically I just think it would diverge too quickly to be worth it.
Won't work perfectly, or won't work better than the current system? Yes, once desync has been introduced to the system it would start to butterfly, but this is already the case. The objective here is desync prevention, and the competition is the current system, not some ideal of perfection.

Also, I fully understand that such non-random variables are used by monster AI, and that's fine; having a random seed does not necessarily mean relying exclusively on that random seed, it just means using it for that 0% to 100% part.
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.
"
faerwin wrote:
#2 actually happens and quite frequently. It is most notable with doorways.


I was about to say...it does already happen pretty often actually.
Tech guy
Last edited by Warrax on Dec 2, 2013, 10:11:36 PM
"
faerwin wrote:
#2 actually happens and quite frequently. It is most notable with doorways.

Well, the "fighting monsters you aren't actually next to" part can happen already, yes, though for different reasons. I'm just saying this new method introduces new ways for it to happen, so it would potentially occur even more frequently than it does now.

I assume that with both server and client handling AI separately, the server never tells the client about AI decisions? (It stills stream damage results, of course.)

I worry about decoupling the AI like this. It effectively renders the client-side AI "meaningless". It would just be a visual representation of the client's best guess of the server state. In contrast, currently any time you see a monster do anything on the client, you KNOW that it is doing the same thing on the server (or trying to). Sure, sometimes you don't see what's happening on the server, but that part isn't changing.

Compared to the current system, I see more opportunities for desync to happen, with the only upside being that it hopefully causes the client to better predict the server state. I'm just not sure it's a net profit, in the end.
Code warrior

Report Forum Post

Report Account:

Report Type

Additional Info