Neuro-Reckoning May Reduce MMOG Time Lag
Hugh Pickens writes "Time lag can cause some very strange behavior in massively multiplayer online games when players' actions onscreen become slow and jerky. New techniques are on the way to reduce the problem of lag time in MMOGs when a player's computer can't keep up with changes in a shared online world. Games like Quake use a technique called dead reckoning and while traditional dead-reckoning systems that assume that a game character will maintain the velocity and direction that it has at the moment an update is sent to all other participating computers; dead reckoning works best for movement and shooting and less well for erratic actions such as interacting with objects or with other players. Read the abstract of new technique called 'neuro-reckoning' that may improve the predictive process by installing a neural network in each player's computer to predict fast, jerky actions."
The article is not talking about that kind of intelligence. They are talking about split second intelligence. They are talking about being about 500 msec of packets being the main scene...
"You can't make a race horse of a pig"
"No," said Samuel, "but you can make very fast pig"
It won't. (Aside: But if it ever does, then it would mean the server decided you should have done it, and it did it for you without your consent.)
These predictive models are for data compression, where the cost of encoding a given bit is based on the log of the probability of that bit occurring. For example, if it's 50:50, then it costs you 1 bit either way. However, if you can guess with 87.5% certainty that event X will happen, you can get away with transmitting only ~0.2 bits, but if you're wrong it costs you 3 bits. In this example, you only have to transmit 0.875 * ~0.193 + 0.125 * 3 = ~0.544 bits per bit on average (that's >45% reduction in cost).
If the server knows your enemy's client guessed right (or close enough to it), then it may not need to send the enemy an update for your character at all. But if your behavior over this 1/2 second is radically different from your past play, then it may need to assign your character more bandwidth on the next packet (at the cost of imprecision on something else). Consider the "model is right" payload of "1", vs the "model is wrong" payload of "0; elf31337 moved to 21679.8943, 7843.8934 and executed maneuver 216, for great justice."