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."
OK, so shooting games, where you traditionally need to move as erratically and unpredictably as possible to stay alive and kill effectively, are well predicted by dead reckoning; MMOs, where you generally move directly from one beast to the next waiting for your skills to kick in, are not?
If I had to guess, the real problem is probably that commercial, hugely-trafficked MMO servers don't want to send as much data to each client as some guy's dedicated server in his basement that's only visited by thirty-two clients at a time. This probably results in the player and server updating each other less frequently.
Still, since in the MMO there are usually pretty predictable things the player will be going to next (the item on the ground, the nearby mob, the NPC in his path), maybe this will work well after all.
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"
See: http://www.xnagamefest.com/talk_abstracts.htm, and scroll down to the abstract for Donnybrook.
Details are a bit skimpy in the abstract, but if you do a bit of searching, you can find the presentation material. At the conference they showed a demo with 32 bots crammed in a pretty small map in Quake. On one screen they were running the original version, where it was really jerky with that many bots. On the other screen they were running their modified version, where the motion was perfect.
Please oh please let this be prior art to Microsoft.
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."