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."
But then again, the CPU's are so fast today, that it might not be an issue at all.
Would it be akin to Quake's lag or to the later versions of Quake? I never cared for how lag was "felt" following Quake I. QW through Q3 (I haven't played any others) all would make you feel like you weren't lagged at all but then suddenly you would show up dead as you caught up to real time. At least with Quake I you could "feel" the lag and make the proper adjustments.
I kinda doubt that it works that well.
For starters, let's look at the plain old interpolation. I see it kicking in all the time in MMOs (e.g., WoW), and players seem to run ahead for half a mile until the game gives up and disconnects them. Or spend the next 5 minutes running in place against a fence.
Let's take just that one simple action: running. How do you know where I'm going to interpolate it right past a second or two. If I arrived at, say, Westfall (to give a low level example that anyone who's ever played WoW will have seen), coming from the north. Will I:
1. keep running towards the Deadmines?
2. turn left into Duskwood? (It is right west of Sven and the cemetery, after all.)
3. turn right and go into the town? And then what? Do I go there to take the gryphon to somewhere else? Or to the inn, so I can set my hearthstone and/or log off in an inn? Go up the tower to talk to the ancestor cow for that event? Or what?
4. Stop and use the vendors on the east side of the road? (It is a convenient spot to repair my equipment, stock up on arrows and/or do some cooking, after all.)
Really, it's not even a large town. In fact, it can't even be called a village, since it has no actual houses. It's just an inn, a tower, a lumber mill, and a gryphon master. Even outpost sounds too much for that thing. But the possibilities already branch considerably.
Now think PvP combat. It tends to be fast and furious, compared to PvE, and there'll be much jumping around and quick reflexes needed.
How does your client predict when my Warlock or Priest will fire off their fear spell? What if my Priest just shields and bandages himself instead at that moment? If your client guessed wrong, you'll have wasted some slow-recharging skill (e.g., Will Of The Forsaken) for nothing, and get kicked right in the nuts when it wears off. In fact, you'll be worse off if your client guesses "you're feared now" at the wrong spot, than if it didn't interpolate anything whatsoever.
Or did my druid use a bleed-effect DOT finishing move, _or_ maybe aimed for the lower damage instant-damage one? The answer there determines, for example, if your dwarf should use its stone form or not. If you guessed wrong or too early, I'm going to use the other one. Or maybe I'll shift back to humanoid and kite you to death.
And that's just scratching the tip of the iceberg.
Now don't get me wrong, I'm not saying that they're uber-complex ultra-intellectual games. At the bottom of it, there _is_ some repetition involved. At a very over-simplified level, you attack, you defend, you jump around if you're in PvP, and occasionally hit your shield or healing (potion), or whatever you have. But that's only the undetailed big picture. The order and exact details will vary a _lot_. Now maybe not enough to make the game interesting to you, if you weren't interested in the game in the first place. But it might just be too many possibilities to predict right.
A polar bear is a cartesian bear after a coordinate transform.
Well it's a short step between what you propose and things like aim-bots. The advantage I see for this type of research is not improving my play, but improving bot play. I haven't played recent games, but in UT2004 the bots can hit you with a hit-scan weapon from across the map (assuming their difficulty is high enough), but they are tactically stupid. But even besides this, there are very short term predictions of human movement that the bots don't pick up on. An opponent that has been hit a few times will try to maneuver his way to a health pack during a strafe battle, and so often I will blindly fire where the health pack is if the opponent is bunny hopping all over. There are also feints you can perform, such as firing a shock ball that can be subsequently exploded for a massive blast. An opponent seeing such a shock ball will often dodge one way or the other, and by forcing their movement, you can use your second shot not to explode the shock ball, but to hit where they will dodge to. Bots utterly fail at these types of strategies. By using neural networks to make their short term strategies more "human", practicing against bots will be a better play experience and better preparation for online play.
Yes and no.
First of all, if you talk about something that actively takes control of my character for me, to do all that stuff, you're talking a bot. Which is against the TOS on any MMO, and can get you banned on the spot. I very much doubt that anyone will implement one right in the client, as some next great feature.
Second, those exist already. See, WoW Glider.
(Note that I'm not actually advertising using it, and if anyone gets banned using it, I'll cheer for the Blizzard employee that banned them. Just using it as an example that they exist.)
Third, well, if you want your character to go level himself up without your help, you probably couldn't care less how. So there is no particular reason to want it to find quests, group with people (or other bots) in a meaningful way, and solve clever puzzles (though there are only a couple of quests on WoW which involve any kind of puzzle solving anyway). If it goes and stabs rabbits for 8 hours, who cares.
Quests and stories are for humans who actually want to be told a story. They don't do jack squat for either the bot, or the kind of human who only cares about XP and levels enough to use a bot. That kind of human will just want his bot to go grind whatever NPCs offer the quickest rewards. A bot that travels between Gadgetzan and Darnassus repeatedly to follow a FedEx quest line for a for a few thousand XP a pop is all around bad bang-per-buck, or rather xp-per-hour. Grinding whatever NPCs are around your own level is much better xp-per-hour. It only makes sense to do those if you're the kind that gets bored of just stabbing rabbits for hours, and bots don't get bored easily anyway.
So automatizing my character to go pick and hand in quests while I'm AFK sounds... well, I'm sorry if it sounds offensive, but like a poorly thought out idea. If I'm the kind of guy who actually gives a damn about quests and stories, why would I want a bot to go do that for me? It would be a bit like using a robot to watch the next Star Wars for me. Either I still care enough about it to watch it personally, or I might as well not bother at all. At any rate, that's not the kind of bot that people use.
Fifth, for the kinds of bots actually in use, building a clever neural network just to make an even better bot seems a bit... overkill. On SWG people were making that kind of bots even with the game's own script language, which wasn't even that great a script language in the first place. I'm saying that just to illustrate how little is really needed to have a working bot. You just need a loop and a few ifs, really.
Sixth, I was under the impression that they're talking about interpolating/predicting what other characters do, rather than being a bot for one's own character. Hence, the answer was about that.
A polar bear is a cartesian bear after a coordinate transform.