Jump to content

State Re-Winding - Woah, Does Any Other Game Do This?


135 replies to this topic

#121 Kousagi

    Member

  • PipPipPipPipPipPipPip
  • 676 posts

Posted 16 January 2013 - 11:23 AM

View PostHawkwings, on 16 January 2013 - 11:13 AM, said:

Please explain how a high ping player will ever have an advantage. Be sure to consider three points of view (player A, Player B, and Server) and show your work.


Its already been explained over and over again, you even posted it yourself. A high ping player lags behind everyone else, so they can seemingly shoot around walls. This also translates to on your screen them poping around a corner and shooting one bullet to kill you, when on their screen they pop'ed around the corner and shot you 15 times before you even reacted. Now with MWO being a slower game this advantage will be smaller due to TTK, but it still exists.

#122 xenoglyph

    Member

  • PipPipPipPipPipPipPipPip
  • 1,480 posts
  • LocationSan Diego

Posted 16 January 2013 - 11:26 AM

View PostWindies, on 16 January 2013 - 11:20 AM, said:

State re-winding = Interpolation?

https://developer.va...ag_compensation

Well Lag Compensation, Interpolation is just the process of making server updates to the client appear smooth. Still they do play into one another using the system that he developers are describing.


I'll just be happy if they start off with a solid lag compensation foundation and then build on it from there. Essentially if they just added lag compensation only, without interpolation or prediction, or some other voodoo, we'd still see the occasional teleporting and stuttering that we have today, however our shots would actually hit where we were aiming at.

Edited by xenoglyph, 16 January 2013 - 11:30 AM.


#123 Glucose

    Member

  • PipPipPipPipPipPip
  • Elite Founder
  • Elite Founder
  • 286 posts

Posted 16 January 2013 - 11:33 AM

View PostKousagi, on 16 January 2013 - 11:23 AM, said:


Its already been explained over and over again, you even posted it yourself. A high ping player lags behind everyone else, so they can seemingly shoot around walls. This also translates to on your screen them poping around a corner and shooting one bullet to kill you, when on their screen they pop'ed around the corner and shot you 15 times before you even reacted. Now with MWO being a slower game this advantage will be smaller due to TTK, but it still exists.


I wouldn't call that an advantage. On his screen the target was still visible for the same amount of time moving from point A to point B. He's just playing the game slightly in the 'past'. It will look like an advantage from the victim, but it really wasn't.

#124 xenoglyph

    Member

  • PipPipPipPipPipPipPipPip
  • 1,480 posts
  • LocationSan Diego

Posted 16 January 2013 - 11:35 AM

View PostKousagi, on 16 January 2013 - 11:23 AM, said:


Its already been explained over and over again, you even posted it yourself. A high ping player lags behind everyone else, so they can seemingly shoot around walls. This also translates to on your screen them poping around a corner and shooting one bullet to kill you, when on their screen they pop'ed around the corner and shot you 15 times before you even reacted. Now with MWO being a slower game this advantage will be smaller due to TTK, but it still exists.


That's a huge exaggeration. Obviously PGI isn't going to let people perform actions 5 seconds in the past. They're likely going to limit it to some sane fraction of a second. The relatively slow pace of MWO makes it probably the best candidate for this technology yet, IMO.

And with the limitations of today's internet there isn't really any viable alternative anyways, so it makes little sense to complain about it.

Edited by xenoglyph, 16 January 2013 - 11:37 AM.


#125 Kousagi

    Member

  • PipPipPipPipPipPipPip
  • 676 posts

Posted 16 January 2013 - 11:39 AM

View Postxenoglyph, on 16 January 2013 - 11:35 AM, said:


That's a huge exaggeration. Obviously PGI isn't going to let people perform actions 5 seconds in the past. They're likely going to limit it to some sane fraction of a second. The relatively slow pace of MWO makes it probably the best candidate for this technology yet, IMO.


with a normal FPS shooting 15 times with a full auto weapon takes very very little time, so .5-1 sec is more then enough to do so. Though, I do know a game that had a 5 sec rewind thing to it. It became a problem cause people found out how to abuse the system, you could instagib people from hitting them 5-6 times at the exact same time, at least on their screen.

#126 xenoglyph

    Member

  • PipPipPipPipPipPipPipPip
  • 1,480 posts
  • LocationSan Diego

Posted 16 January 2013 - 11:43 AM

View PostKousagi, on 16 January 2013 - 11:39 AM, said:


with a normal FPS shooting 15 times with a full auto weapon takes very very little time, so .5-1 sec is more then enough to do so. Though, I do know a game that had a 5 sec rewind thing to it. It became a problem cause people found out how to abuse the system, you could instagib people from hitting them 5-6 times at the exact same time, at least on their screen.


This isn't a normal ******* FPS though is it?

#127 Kousagi

    Member

  • PipPipPipPipPipPipPip
  • 676 posts

Posted 16 January 2013 - 11:46 AM

View Postxenoglyph, on 16 January 2013 - 11:43 AM, said:


This isn't a normal ******* FPS though is it?


Which is why I said the advantage will be smaller due to TTK, but it still exists. .5 sec's would be enough time for a duel AC 20 cat to round a corner and cockpit you before you had too much time to react, and depending on how they code it, that amount of time can be extended with inflating your own ping.

edit, Though, as I said before, this small advantage to high ping players is more or less worth it to 100% get rid of lag shield from all mechs, so its a small price to pay. I was originally responding to hawkings that was asking what advantage would a high ping player have.

Edited by Kousagi, 16 January 2013 - 11:49 AM.


#128 Viper69

    Member

  • PipPipPipPipPipPipPipPipPip
  • 4,204 posts

Posted 16 January 2013 - 11:53 AM

Definitely some interesting tech, I honestly never knew it existed and learned something new today, thanks.

#129 Monsoon

    Member

  • PipPipPipPipPipPipPipPip
  • Elite Founder
  • Elite Founder
  • 1,631 posts
  • LocationToronto, On aka Kathil

Posted 16 January 2013 - 12:16 PM

View PostMatthew Craig, on 16 January 2013 - 09:25 AM, said:


It was essentially both, when a thread get's inflammatory pretty much any response only adds fuel to the fire so the best course of action is to calmly walk away, plus we always have work to be doing.

The other reason is that the conversation is getting to the point where we're essentially discussing ongoing development work which means anything I add could be invalidated in a few days time if we alter our approach etc. but I'll be happy to update again more of how the system works when the work has been completed and tested.



Just wanted to thank you for all the information you've provided.

It gets harder and harder nowadays to find the good when there's so much bad on the threads. But I religiously check the Command Chair, because there I know I can avoid the hyperbole and vitriol and actually get something useful.

Regards what's said here, keep up the good work!

...Oh and tell Bryan to update the Feature/Content Roadmaps....Please! :)

View PostViper69, on 16 January 2013 - 11:53 AM, said:

Definitely some interesting tech, I honestly never knew it existed and learned something new today, thanks.


Yeah, I love learning something new everyday as well.

#130 Hawkwings

    Member

  • PipPipPipPipPipPip
  • Urban Commando
  • Urban Commando
  • 376 posts

Posted 16 January 2013 - 12:29 PM

View PostKousagi, on 16 January 2013 - 11:23 AM, said:


Its already been explained over and over again, you even posted it yourself. A high ping player lags behind everyone else, so they can seemingly shoot around walls. This also translates to on your screen them poping around a corner and shooting one bullet to kill you, when on their screen they pop'ed around the corner and shot you 15 times before you even reacted. Now with MWO being a slower game this advantage will be smaller due to TTK, but it still exists.

Incorrect. The player with 1000ms lag sees the correct server state 1000+ms after it exists in the server. Meaning that even if he shoots at a player on his screen, the game will think that he shot at said player 1 second later. He would have to lagshoot 1 second ahead in order to hit his opponent. Meanwhile, he is liable to get shot and die 1+ seconds later because his actual location is 1 second behind where he thinks it is.

#131 Havyek

    Member

  • PipPipPipPipPipPipPipPip
  • Mercenary Rank 3
  • 1,349 posts
  • LocationBarrie, ON

Posted 16 January 2013 - 12:47 PM

View PostHawkwings, on 16 January 2013 - 12:29 PM, said:

Incorrect. The player with 1000ms lag sees the correct server state 1000+ms after it exists in the server. Meaning that even if he shoots at a player on his screen, the game will think that he shot at said player 1 second later. He would have to lagshoot 1 second ahead in order to hit his opponent. Meanwhile, he is liable to get shot and die 1+ seconds later because his actual location is 1 second behind where he thinks it is.

To put it a little more simply (I think anyway).

The server decides what's going on. The clients tell the server where they are (position) and when they fire.
The server then does a check back to decide if when the client SAID they fired, both clients (shooter and target) were in the positions that resulted in a hit.

About the only way this could be abused that I can see (and I'm far from a networking guru or hacker) is if someone could restrict their outgoing packets but leave their incoming packets alone. Meaning that they were receiving the correct information from the server, but sending out incorrect information back. This however would mean that there would also be a delay in sending information like SHOOT!, so unless they could turn it on/off quickly, or figure out the delay and play around it (lag shoot for lack of a better term) it would hurt them more than help them I would think.

#132 Kousagi

    Member

  • PipPipPipPipPipPipPip
  • 676 posts

Posted 16 January 2013 - 12:54 PM

View PostHawkwings, on 16 January 2013 - 12:29 PM, said:

Incorrect. The player with 1000ms lag sees the correct server state 1000+ms after it exists in the server. Meaning that even if he shoots at a player on his screen, the game will think that he shot at said player 1 second later. He would have to lagshoot 1 second ahead in order to hit his opponent. Meanwhile, he is liable to get shot and die 1+ seconds later because his actual location is 1 second behind where he thinks it is.


It is correct, As them being behind is the whole point. As if the 1,000 MS player is 1 sec behind the server, that means the server is 1 sec behind them. So if 1,000 MS player pops around a corner and takes a shot at a target, even if hes 1sec behind the server, the server then "rewinds" to see if that shot could have happened, which then it says it could have happened and allows it. This allows the 1,000ms player to get the jump on people before they can react due to the way the system works.

I've seen it in action in so many games its not even funny. Theres even a cheat associated with it to abuse the system even more. Though the high ping still is kinda double edged sword, as much the same can be done to them, but any high ping player that knows how the netcode works can use it to their advantage and minimize the downside to it.

Edited by Kousagi, 16 January 2013 - 12:59 PM.


#133 MavRCK

    Member

  • PipPipPipPipPipPipPipPip
  • Bad Company
  • Bad Company
  • 1,375 posts
  • Google+: Link
  • LocationMontreal - Vancouver

Posted 16 January 2013 - 05:10 PM

Thanks for these great answers and insight into the development of the game! B)

It's not easy to build a solid, stable system. A little bit of patient and pain now will pay dividends for the future!

Mav




View PostMatthew Craig, on 15 January 2013 - 09:56 AM, said:


It's also called lag compensation here's a good article for those interested by some guys who know a thing or two :angry:

https://developer.va...ag_compensation

View PostHawkwings, on 15 January 2013 - 09:57 AM, said:

I would encourage everyone who wants to seriously discuss netcode and lag issues to read that ENTIRE article.

EDIT: OK, both of these articles are good:
https://developer.va...nd_Optimization
and
https://developer.va...ayer_Networking

View PostMatthew Craig, on 15 January 2013 - 10:28 AM, said:


Best we can tell Crysis went with a client authoritative approach (very prone to hacking) therefore they didn't require any form of lag compensation (hence why it's not implemented), we went server authoritative for reasons that have been well outlined, so we get to add this to the engine (as would any other game that uses CryEngine that goes server authoritative). Once it's added the net-code will be comparable to other games like CS, TF2 etc. that use this approach.

View PostMatthew Craig, on 15 January 2013 - 10:30 AM, said:


No engine is perfect, I have yet to work with the mystical perfect engine and I've worked with a wide variety of engines.

View PostMatthew Craig, on 15 January 2013 - 10:40 AM, said:


Anti-cheat technology is a constant cat and mouse game, the tools to ensure the client is not cheating are very time consuming to make and eat a lot of development effort (one of the reasons we didn't want to go this way). I believe WoW does take this approach where they have a sentinel program that constantly has to evolve to ensure your local machine isn't hacked. I'm sure they have their reasons for whatever approach they've taken just not the route we wanted to go.

We also knew that going client authoritative would have had a seemingly smooth running game much sooner; however, long term we'd likely have major issues with hacking (beyond what we have to suffer now). We chose the slower, harder path for exactly these reasons. Once we're out of open beta the lag shield issues will be a fading memory, but in reverse the nightmare of client authoritative hacking would only just be starting.


[

#134 ElLocoMarko

    Member

  • PipPipPipPipPipPipPip
  • 533 posts

Posted 17 January 2013 - 09:08 AM

View PostHawkwings, on 16 January 2013 - 11:13 AM, said:

Please explain how a high ping player will ever have an advantage. Be sure to consider three points of view (player A, Player B, and Server) and show your work.



Someone asked for an example about three pages ago.

Ping55 and Ping1000 both run across the ends of an alley on River City facing each other.
Example #1 - Both cross alley at same time.
  • Ping55 sees and shoots Ping1000.
  • Ping1000 sees an empty alley. The visible-shootable image of Ping55 is 1000ms behind the alley.
  • Both mechs finish the cross and Ping1000 sees his damage ragdoll light up 1000ms after it happened.

Example #2 - Ping55 runs across the alley 1000ms before Ping1000.
  • Ping55 sees an empty alley.
  • Ping1000 sees and shoots Ping55.
  • Ping55 sees his damage ragdoll light up 55ms after it happened.

Example #3.
Ping55 and Ping1000 are running through the open water shooting at each other with lasers directly to center torso.
A top-down view of live server state would show:
  • Ping55 shooting at the back edge of Ping1000
  • Ping1000 spraying empty space well behind Ping55.
  • They would both be registering center torso hits.
  • Ping55 and Ping1000 would each see a nice steady bead on each other’s chests
  • Ping55 would see his ragdoll light up 55ms after the event.
  • Ping1000 would see his ragdoll light up 1000ms after the event.

So the heavily lagged get the odd occasion where they get a free shot at a ghost of someone who has already passed by. But this is strongly offset by them having their lag time added to any possible reaction to sudden events (like weapons fire).

The way to picture this is to imagine that your movement is leaving behind ghost images of yourself that last for a short duration. The lag impaired people of the world have to shoot your ghosts to hit you. But we all still exist on the server in exactly one place with one damage ragdoll. No where has anyone said that the lagged person will have hits removed should they make evasive maneuvers in their somewhat out of date view. The only thing that exists in the past is your hitboxes.

There will be some interesting details that come up.
A. Do they throw away shots from mechs that are dead but just don't know it?
B. Do they throw away weapons fire from components that are already destroyed in real time?
C. What does spectator mode show? Stream out current server state COD theater mode whiners all over again. Dup the player packets and ... if the spectator is more lagged or less lagged than the player they are watching... ow... my brain.

A) Yes.
:) Judgement Call
C) Glad this isn't my job.

#135 Buck Cake

    Member

  • PipPipPipPipPipPip
  • Knight Errant
  • 259 posts

Posted 17 January 2013 - 09:45 AM

As long as the lagger limits himself to only using SSRM, and avoids moving in a straight line, he can get an advantage.

As far as other games are concerned, EVE online is a notable example of a game that uses prediction and tries to compensate for lag. Due to the non-tcp and non-real-time nature of the game, it's very resistant to network disruptions.

Edited by Buck Cake, 17 January 2013 - 09:51 AM.


#136 ElLocoMarko

    Member

  • PipPipPipPipPipPipPip
  • 533 posts

Posted 19 January 2013 - 10:19 AM

View Postxenoglyph, on 16 January 2013 - 11:35 AM, said:


That's a huge exaggeration. Obviously PGI isn't going to let people perform actions 5 seconds in the past. They're likely going to limit it to some sane fraction of a second. The relatively slow pace of MWO makes it probably the best candidate for this technology yet, IMO.

And with the limitations of today's internet there isn't really any viable alternative anyways, so it makes little sense to complain about it.


Let's not over do this. Someone getting a late hit is by far a much smaller problem than this:

Headshot aimbots are going to get REALLY accurate. Right now the aimbot shoots at your head on the client and while the packet travels to the server, you are still in motion, perhaps twisting and changing direction. An aimbot cannot do anything about that. But if hits are scored based what the client saw at the time of firing... lots more headshots. Also note that skilled pilots will get lots more headshots.

But we get to have the effects in our HUD be quite true to the damage applied on the server. That is a big win.

Edited by ElLocoMarko, 20 January 2013 - 06:52 AM.






1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users