Jump to content

The Reason That Host State Rewind Isn't Work.


8 replies to this topic

#1 Bulef

    Member

  • PipPipPipPipPipPipPip
  • 531 posts

Posted 10 June 2014 - 06:47 AM



Posted Image



1.1 - Game was started for Server.




Posted Image



1.2 - Players sent packets that they start the game. The Server must exchange packets with the Players, so until the connection of Players with Server is established, they are not considered connected.




Posted Image



1.3 - Players establish a connection with the Server and start exchange packets.




Posted Image



2.1 - Due to the difference in the ping of Players, Server receive position of Player A before Player B. This is just log of server, not what the Players actually see. For different Players positions of one-time on the Server log may be at different times.




Posted Image



2.2 - Timeline when the action started.




Posted Image



2.3 - Time when the Player A receives Player B Timeline 1 position.




Posted Image



2.4 - Time when the Player B receives Player A Timeline 1 position.




Posted Image



3.1 - Timeline when the Player B fired.




Posted Image



3.2 - After Player B firing, the Server should get packages for logging.




Posted Image



3.3 - Timeline when the log packets of Player B firing were received.




Posted Image



4.1 - HSR returns to the real moment of firing, after returns until the firing relative to the Server log.




Posted Image



4.2 - Timeline when the Player A was supposedly in the place that has seen by Player B when he fired.




Posted Image



4.3 - Time when log of Timeline 4 Player B position will be on Server.




Posted Image



5.1 - HSR returns to the real moment of firing, after returns until the firing relative to the Server log, but this is not enough. To the time of firing position of Player B coincided with the time of position of Player A that had seen by Player B, need to an additional return to difference between pings of Players (90 ms) = ping Player B (150 ms) - ping Player A (60 ms).




Posted Image



5.2 - Timeline when the Player A was in the place that has seen by Player B when he fired.




Posted Image



5.3 - Time when log of Timeline 5 Player B position will be on Server.




Posted Image



6.1 - Place of Player B when he fired.




Posted Image



6.2 - Place of Player A had seen by Player B when he fired.





#2 PhoenixFire55

    Member

  • PipPipPipPipPipPipPipPipPipPip
  • Legendary Founder
  • Legendary Founder
  • 5,725 posts
  • LocationSt.Petersburg / Outreach

Posted 10 June 2014 - 06:50 AM

This is actually from a very interesting topic I've been following on the international section. I doubt anyone is his sane mind can deny that hit reg issues do exsist. Will be interesting what the devs think about it.

#3 Sephlock

    Member

  • PipPipPipPipPipPipPipPipPipPipPip
  • Legendary Founder
  • Legendary Founder
  • 10,819 posts

Posted 10 June 2014 - 06:55 AM

View PostPhoenixFire55, on 10 June 2014 - 06:50 AM, said:

This is actually from a very interesting topic I've been following on the international section. I doubt anyone is his sane mind can deny that hit reg issues do exsist. Will be interesting what the devs think about it.


Those last two sentences, one after the other, made me laugh out loud. No joke .

#4 Bulef

    Member

  • PipPipPipPipPipPipPip
  • 531 posts

Posted 10 June 2014 - 06:56 AM

Note: been explained by DuoAngel, optimized by me.

Edited by Bulef, 10 June 2014 - 10:35 AM.


#5 PhoenixFire55

    Member

  • PipPipPipPipPipPipPipPipPipPip
  • Legendary Founder
  • Legendary Founder
  • 5,725 posts
  • LocationSt.Petersburg / Outreach

Posted 10 June 2014 - 06:59 AM

View PostSephlock, on 10 June 2014 - 06:55 AM, said:

Those last two sentences, one after the other, made me laugh out loud. No joke .


Now that I re-read it, yes ... :P

#6 Pappus

    Member

  • PipPipPip
  • 57 posts

Posted 10 June 2014 - 07:56 AM

This does not need to be true. If I remember correctly, then movement in FPS is done in an vectorized manner and always extrapolated until a new order is received.

For example if you keep moving steady from A to B, then what the opponent sees is likely to be your true position.
However if you deaccelerate close before reaching point B, then the other play will see you closer to B then you really are.
Because your deacceleration command will reach him later then it has been given by you - the deacceleration commander!

What HSR should be doing now is simple calculation for Player B in this case. It replays the actions of Player A with "Ping Delay" attached to it. That way you can "see" what player B saw. Take his cursor position, when he fired.

I think, that there is a flaw somewhere, but I cannot see if it is the Hit registration or HSR, because when I played my spider I saw PPCs go through mechs hitting the wall behind them.

Also often I shoot on guys, that are afk and even there hit registration is just broken and HSR cannot matter there because there is nothing to rewind.

I shoot right in the left eye of an atlas and CT gets damaged. I shoot angular at the Jennar CT and I hit the right shoulder, right arm and the CT, that should be physically impossible to hit for me, because it is completely covered by the CT.

For whatever reason, mechs seem to have frames, where they become ghosts.

Edited by Pappus, 10 June 2014 - 07:58 AM.


#7 Bulef

    Member

  • PipPipPipPipPipPipPip
  • 531 posts

Posted 10 June 2014 - 08:44 AM

View PostPappus, on 10 June 2014 - 07:56 AM, said:

This does not need to be true. If I remember correctly, then movement in FPS is done in an vectorized manner and always extrapolated until a new order is received.

For example if you keep moving steady from A to B, then what the opponent sees is likely to be your true position.
However if you deaccelerate close before reaching point B, then the other play will see you closer to B then you really are.
Because your deacceleration command will reach him later then it has been given by you - the deacceleration commander!

What HSR should be doing now is simple calculation for Player B in this case. It replays the actions of Player A with "Ping Delay" attached to it. That way you can "see" what player B saw. Take his cursor position, when he fired.

Yes, the server really gets direction of movement rather than the position, but it does not change anything.

Time for the server and for the players - the same. You can't miss what you not seen yet and so the Player B will see the old log of actions of Player A. That's how the server do game the same for all players.

HSR analyzes shots on the server at the wrong time due to difference in ping of players.
The server receives the correct time and location of the shooting player, but the shot misses because the server register hit at different time. Server register hit in time when Player A already ahead.

Edited by Bulef, 10 June 2014 - 10:48 AM.


#8 Desintegrator

    Member

  • PipPipPipPipPipPipPipPip
  • Shredder
  • Shredder
  • 1,225 posts
  • LocationGermany

Posted 10 June 2014 - 09:55 AM

Thanks Bulef !

Seems to me that you thought about the topic more than 5 minutes and make a really good suggestion.
Lets see if someone from the Devs respond to it.

#9 MechWarrior849305

    Member

  • PipPipPipPipPipPipPipPipPip
  • Ace Of Spades
  • Ace Of Spades
  • 3,024 posts

Posted 10 June 2014 - 09:56 AM

View PostPhoenixFire55, on 10 June 2014 - 06:50 AM, said:

I doubt anyone is his sane mind can deny that hit reg issues do exsist. Will be interesting what the devs think about it.


View PostSephlock, on 10 June 2014 - 06:55 AM, said:

Those last two sentences, one after the other, made me laugh out loud. No joke .


This is sad. Actually. No joke ^_^





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users