M1 | M2 | 055 | 001
|Summary:||possible wrong position prediction|
|Component:||Server & Client||Assignee:||Odamex Bug Reporter <odamex-bug-reporter>|
|Attachments:||splash damage demo|
Description JKist3 2014-03-04 00:17:07 UTC
Created attachment 473 [details] splash damage demo was playing odamex last night in australia so i had very high ping (280-300). noticed that if i fired a rocket and ran after it i would not take splash when it hit the wall. Most likely this is because my client thinks its ahead of where it is on the server... haven't thought about it in depth... maybe this is necessary on this ping, but wanted to post on here for others to see. Is everything working as expected or is this a bug?
Comment 1 Dr. Sean 2014-03-04 00:31:17 UTC
Clients predict their own position ahead of where the server thinks they are. Thus with a 300ms ping, the server will not receive your most recent input for approximately 150ms. However, the client's view of other game entities such as other players and projectiles is approximately 150ms outdated by the time the client receives the updated positions of those entities. This creates a temporal discrepancy in the game world equivalent to your ping time. When you see a rocket explode against a wall, the explosion actually happened 150ms ago and the server won't know of your current position until 150ms into the future. So when your client shows your position as being near the explosion, your actual position at the time of the explosion would be your position 300ms ago, which is very likely outside the 128 unit radius of the rocket explosion.