Friday, October 19, 2007

Predictive AI to Reduce Lag in Online Games

MIT's Technology Review has a very cool article, Reducing Lag Time in Online Games. This article discusses how some games use something called "dead reckoning" to track where users are in the game universe.

Dead reckoning calls for each player's computer to run a low-fidelity simulation of what's going on in the game. At the same time, the computer runs a high-fidelity version that keeps precise track of the player's actions and position. The computer constantly compares the two versions. If they don't match, the computer sends an update to all the other participating computers, which can make the necessary corrections. While the computers must still broadcast updates, they don't do it nearly as often as they otherwise would.
I'm not a game programmer so this is all news to me. The concept is very cool. It also explains some of the issues I've run into in games like Everquest and Guildwars. I wonder if they use dead reckoning. There have been times when I change direction while running across a large zone and I get the "snap back" effect. I run a ways before zapping back. I think this might be an effect of the high-fidelity not matching the low-fidelity. This article talks about adding a neural net to the users computer to boost the accuracy of the predictive model. Dead reckoning is very good for objects that move in a constant direction and a constant speed, or even non-constant but consistent, but it doesn't work as well for users because users tend to be more random. The Neural Nets would offset some of that randomness. Since the neural nets would run on the users computer, there would be additional overhead for the game.
Although the system does make some additional demands on the user's computer, McCoy says that they're negligible compared with all the processing that goes into most massively multiplayer games. "In most games--even the large-scale ones--your own computer is only actually responsible for one entity: your own avatar," McCoy says. "Because you're only controlling one avatar, the neural networks only have to run for that one avatar."
So, if you have an MMO and want to beta test, give me a shout. I'm willing to help test. LewisC

Did you like this entry? Why not subscribe to it? Or, if you prefer, you can subscribe via email.