Does anybody have that link where...

Does anybody have the link to the thread a good while back where some guy was saying that GGG could implement determinism into the game and GGG devs were saying it was impossible? It might not be exactly that issue but it was something like that.

It was like 100+ page thread and I can't find it at all using google or checking GGG's post history. Did it get deleted? Does anybody know about it? Thanks in advance ;o
"
DestroTheGod wrote:
Does anybody have the link to the thread a good while back where some guy was saying that GGG could implement determinism into the game and GGG devs were saying it was impossible? It might not be exactly that issue but it was something like that.

It was like 100+ page thread and I can't find it at all using google or checking GGG's post history. Did it get deleted? Does anybody know about it? Thanks in advance ;o


This one?

If so it was brought up in a different thread and Mark posted a clarification of how it relates (or doesn't) to the deterministic lockstep system shortly after.
Gameplay & Level Design
Need help? Contact support@grindinggear.com
Wow, if that's really the thread Destro is thinking of, that OP really has no idea what they're talking about. Botting would become downright trivial, and OP really has no idea whatsoever how easy it would be to force yourself to never die by simulating to the server that you just always have a high ping.
That's the one Dan.

Thank you very much! ^^

That clarification post is also really useful. I hadn't seen it before.

@HikaruYami

It's a really long thread, and there were a ton of posts. I haven't gone over it again yet (which I plan to). But the idea was that you can't manipulate what happens on the client because the client play session will not match the simulation created by the server. And this is supposed to be 100% correct on a bit level, which is as accurate as you can get. His first post talks about this method a bit and how a seed can be used. There is a lot more detail on it though throughout the thread.
Last edited by DestroTheGod on Apr 16, 2015, 8:13:04 PM
"
DestroTheGod wrote:
@HikaruYami

It's a really long thread, and there were a ton of posts. I haven't gone over it again yet (which I plan to). But the idea was that you can't manipulate what happens on the client because the client play session will not match the simulation created by the server. And this is supposed to be 100% correct on a bit level, which is as accurate as you can get. His first post talks about this method a bit and how a seed can be used. There is a lot more detail on it though throughout the thread.


... no, trust me, if you believe that, you don't understand machine reaction time or coding in general.

A deterministic seed is one a well-coded bot can use in predicting enemy movements just as well as the server does. This would be something necessarily exposed in the client, because the goal is to have the client become deterministic in a way the server can reconstruct. There is no way to hide it because a bot has access to everything you do in RAM. Encrypting this data would not be useful because in order for the local client to reconstruct anything, it needs to store the key locally, which the bot would then also be able to trivially access.

So, that's botting.

As far as dying goes, the PoE team will never take the perspective that "a sudden server disconnect should be punished with death". So, while the OP claims that the server could consider "one or two seconds" to happen after the last packet received from the client to itself, this would necessarily be generated with no input. So even if a player could be leeching to survive from this position, instead the server would consider the player a potato and just kill them. This would pretty obviously be idiotic. Thus, the only alternative is to say "a packet that takes too long is an instant D/C", which makes it really easy to cheese by just spoofing a high ping with a client mod, which should be really easy to do undetectably (but would luckily not be beneficial right now at _all_, since everything is computed server-side only). This gives your client a whole ping cycle to predict death. You could easily make that 200 milliseconds, which with a known deterministic seed is way more than enough time to just know that an attack *will* be fired on you, it doesn't have to actually be fired yet.

So yeah, please learn programming first? OP of that thread has absolutely no idea how anything works.
"
"
DestroTheGod wrote:
@HikaruYami

It's a really long thread, and there were a ton of posts. I haven't gone over it again yet (which I plan to). But the idea was that you can't manipulate what happens on the client because the client play session will not match the simulation created by the server. And this is supposed to be 100% correct on a bit level, which is as accurate as you can get. His first post talks about this method a bit and how a seed can be used. There is a lot more detail on it though throughout the thread.


... no, trust me, if you believe that, you don't understand machine reaction time or coding in general.

A deterministic seed is one a well-coded bot can use in predicting enemy movements just as well as the server does. This would be something necessarily exposed in the client, because the goal is to have the client become deterministic in a way the server can reconstruct. There is no way to hide it because a bot has access to everything you do in RAM. Encrypting this data would not be useful because in order for the local client to reconstruct anything, it needs to store the key locally, which the bot would then also be able to trivially access.

So, that's botting.

As far as dying goes, the PoE team will never take the perspective that "a sudden server disconnect should be punished with death". So, while the OP claims that the server could consider "one or two seconds" to happen after the last packet received from the client to itself, this would necessarily be generated with no input. So even if a player could be leeching to survive from this position, instead the server would consider the player a potato and just kill them. This would pretty obviously be idiotic. Thus, the only alternative is to say "a packet that takes too long is an instant D/C", which makes it really easy to cheese by just spoofing a high ping with a client mod, which should be really easy to do undetectably (but would luckily not be beneficial right now at _all_, since everything is computed server-side only). This gives your client a whole ping cycle to predict death. You could easily make that 200 milliseconds, which with a known deterministic seed is way more than enough time to just know that an attack *will* be fired on you, it doesn't have to actually be fired yet.

So yeah, please learn programming first? OP of that thread has absolutely no idea how anything works.


You are overly harsh.. Many people don't know the details and that's precisely why they are asking for the thread.. To read and understand. What exactly are you trying to do by being rude? He just asked for a thread...
Anybody can become angry - that is easy, but to be angry with the right person and to the right degree and at the right time and for the right purpose, and in the right way - that is not within everybody's power and is not easy.

Aristotle
"
Iluvatar_gr wrote:
"
"
DestroTheGod wrote:
@HikaruYami

It's a really long thread, and there were a ton of posts. I haven't gone over it again yet (which I plan to). But the idea was that you can't manipulate what happens on the client because the client play session will not match the simulation created by the server. And this is supposed to be 100% correct on a bit level, which is as accurate as you can get. His first post talks about this method a bit and how a seed can be used. There is a lot more detail on it though throughout the thread.


... no, trust me, if you believe that, you don't understand machine reaction time or coding in general.

A deterministic seed is one a well-coded bot can use in predicting enemy movements just as well as the server does. This would be something necessarily exposed in the client, because the goal is to have the client become deterministic in a way the server can reconstruct. There is no way to hide it because a bot has access to everything you do in RAM. Encrypting this data would not be useful because in order for the local client to reconstruct anything, it needs to store the key locally, which the bot would then also be able to trivially access.

So, that's botting.

As far as dying goes, the PoE team will never take the perspective that "a sudden server disconnect should be punished with death". So, while the OP claims that the server could consider "one or two seconds" to happen after the last packet received from the client to itself, this would necessarily be generated with no input. So even if a player could be leeching to survive from this position, instead the server would consider the player a potato and just kill them. This would pretty obviously be idiotic. Thus, the only alternative is to say "a packet that takes too long is an instant D/C", which makes it really easy to cheese by just spoofing a high ping with a client mod, which should be really easy to do undetectably (but would luckily not be beneficial right now at _all_, since everything is computed server-side only). This gives your client a whole ping cycle to predict death. You could easily make that 200 milliseconds, which with a known deterministic seed is way more than enough time to just know that an attack *will* be fired on you, it doesn't have to actually be fired yet.

So yeah, please learn programming first? OP of that thread has absolutely no idea how anything works.


You are overly harsh.. Many people don't know the details and that's precisely why they are asking for the thread.. To read and understand. What exactly are you trying to do by being rude? He just asked for a thread...


Indeed, [Removed by Support] The OP didn't even mention either of the things he was talking about...
Last edited by MikeP_GGG on Apr 17, 2015, 7:16:00 PM
"
Iluvatar_gr wrote:

You are overly harsh.. Many people don't know the details and that's precisely why they are asking for the thread.. To read and understand. What exactly are you trying to do by being rude? He just asked for a thread...

i wouldn't call it harsh to warn someone that qwave's idea sounded plausible for anybody not familiar with programming in general and client/server interaction in games specifically.
age and treachery will triumph over youth and skill!

Report Forum Post

Report Account:

Report Type

Additional Info