Comment Re:Quake's Lag (Score 4, Interesting) 88
That actually has more to do with latency than number of updates. Latency determines how long until you feel an action from that was updated to the server. If everyone has 200ms ping, then someone shoots you, and that shot is updated to the server 100ms later, then you feel the hit 100ms after that, for a total of 200ms. Within that 200ms, you'd have ample time to hide behind a box or the corner of a wall, but the server would still say you were hit (because 200ms ago you weren't behind that box or wall on your enemies computer). This retroactive update is how modern systems work, and it reduces apparent shooting lag.
Sidenote: This began the misconception that lag time benefited the lagger, or that laggy players lag the whole server, neither of which is true. The quicker your ping time, the faster your shots or actions will register on the server. If a high ping bastard and low ping bastard shoot each other at the same exact moment, the LPB will have his shot register first, and the HPB will die.
Originally, shots and hits were always done actively at the time it reached the server. So if you had 400ms ping, you'd see your gun shoot 400ms after you fired it. This made lag almost unbearable for most high ping players, because if they shot at you, they'd almost always miss, because by the time their shot registered, you would've moved out of the spot you were standing a split second ago.
As for the article, it's dealing solely with player movement on MMORPGS, which is determined by the rate of updates (how many packets get sent out per second). Player action updates are always triggered at the time of action (such as casting a spell), however, movement is an ongoing process. Basically your client updates the server around a dozen times a second with position and velocity information, because of your movement. However, it always assumes you'll stick to that velocity (moving forward? dead reckoning predicts you move forward some more) in between updates. If you deviate from your predicted movement along a velocity, you need to send an update to the server. This new method will predict what movement you'll take, rather than always assuming a straight line from your current movement.
My student ACM account doesn't have subscription to access the article, so I'm not entirely sure, but this is my take on what it does:
For instance, if you're moving forward, and there's something in front of you, the neural net will attempt to determine that you'll probably move in a different direction, and send that as your predicted velocity. If it turns out you don't move that direction, you'll simply have to send another update. If you do move that direction (which statistically you should), then there will be no need for an update, thereby saving bandwidth. These predictions and updates happen at a rate which makes it seem like your player is moving smoothly, when in reality, there's a bunch of micro deviations and stuttering.
Sidenote: This began the misconception that lag time benefited the lagger, or that laggy players lag the whole server, neither of which is true. The quicker your ping time, the faster your shots or actions will register on the server. If a high ping bastard and low ping bastard shoot each other at the same exact moment, the LPB will have his shot register first, and the HPB will die.
Originally, shots and hits were always done actively at the time it reached the server. So if you had 400ms ping, you'd see your gun shoot 400ms after you fired it. This made lag almost unbearable for most high ping players, because if they shot at you, they'd almost always miss, because by the time their shot registered, you would've moved out of the spot you were standing a split second ago.
As for the article, it's dealing solely with player movement on MMORPGS, which is determined by the rate of updates (how many packets get sent out per second). Player action updates are always triggered at the time of action (such as casting a spell), however, movement is an ongoing process. Basically your client updates the server around a dozen times a second with position and velocity information, because of your movement. However, it always assumes you'll stick to that velocity (moving forward? dead reckoning predicts you move forward some more) in between updates. If you deviate from your predicted movement along a velocity, you need to send an update to the server. This new method will predict what movement you'll take, rather than always assuming a straight line from your current movement.
My student ACM account doesn't have subscription to access the article, so I'm not entirely sure, but this is my take on what it does:
For instance, if you're moving forward, and there's something in front of you, the neural net will attempt to determine that you'll probably move in a different direction, and send that as your predicted velocity. If it turns out you don't move that direction, you'll simply have to send another update. If you do move that direction (which statistically you should), then there will be no need for an update, thereby saving bandwidth. These predictions and updates happen at a rate which makes it seem like your player is moving smoothly, when in reality, there's a bunch of micro deviations and stuttering.