Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

Neuro-Reckoning May Reduce MMOG Time Lag

Posted by Zonk on Fri Oct 19, 2007 07:45 AM
from the would-probably-help-in-karazahn dept.
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."
+ -
story

Related Stories

This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • by KDR_11k (778916) on Friday October 19 2007, @07:57AM (#21039967)
    Since MMOs involve lots of repetitive actions that can easily be automated it shouldn't be too hard to predict what the player will do. OTOH this is kind of an admission that MMOs are so dumb that players are pretty predictable. I guess that's why I'm not playing an MMO currently...

    (cue the Eve spam)
    • I can see it now, lag hits - and in the interim you watch astonished as your character kills another rabbit and harvests it's spleen for sale back at town. The next gen of this technology will have your character spamming group channels for heals.
    • Hey, they can even use it to detect bots! .. oh wait.
    • 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
      • 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...
        • Duly noted, but still... if in those 500 ms it guessed that my Priest hit his psychic scream (i.e., fear) spell and he didn't, you're at a disadvantage. In fact, you're at a bigger disadvantage than if I _had_ used that spell and you wouldn't know it for half a second. In the latter scenariom you'd run around for half a second without knowing it, and _then_ hit your Will Of The Forsaken. My next spell wouldn't even be available in those 500ms, so you wouldn't even be hurt yet by that delay. But hit your fea
          • Re: prediction (Score:3, Informative)

            by Anonymous Coward

            if in those 500 ms it guessed that my Priest hit his psychic scream (i.e., fear) spell and he didn't, you're at a disadvantage

            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 [wikipedia.org], 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 g

          • If I made a shooter MMOG, I'd constantly boot everyone with a ping time over 200 ms from the game, and that's being generous.

            If you constantly kick anyone with a ping of 200ms, might as well make it automated. The direct result is your server will auto-kick players whenever there's a higher-than-normal load. Don't say this won't happen - players were known to protest on MMOGs by going in large numbers to a specific place, which causes that area to experience significant latency. A spike of users playing at once may also cause this kind of problem.

            Then everyone can download their porn in the background later and turn off their p2p programs and remove all their spyware and we can all live happily ever after.

            Configure your server to send out IP packets that Minimize delay, Maximize Relia

      • by rickwood (450707) on Friday October 19 2007, @09:52AM (#21041713)

        If I arrived at, say, Westfall (to give a low level example that anyone who's ever played WoW will have seen)
        For the Horde, you insensitive clod!
      • First, predictive computing will be THE next big thing.

        Second, it will actually be forecasting, not predicting, but nobody will know the difference.

        Third, I will rant about the difference for two years, then give it the hell up.
        The are some thing that could help:
        If you land in westfall, maybe it will go to the closest place you have a quest for, or to the nearest people who have quests you can get.

        Your caster will do what it has done most of the time in similar situations.

        Because there are, at this time, to
        • 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 us
    • i can see it now:

      "the neural net has figured out that i'm a gold farmer, so all i have to do is unplug my net connection and it continues smacking down elves even while i'm at work!"
    • I just don't see how this technology helps. At some point, the player models will have to be integrated with what's actually going on in the game, despite having been operating on lag time/neural net behaviours. I can't imagine that being much less jumpy than it is now. This technology could even aggravate the problem, by choosing the wrong path and being even more out of whack than it would be if it had done nothing while waiting for updated movement information.
    • Please, RTFA people. It's not about MMOs. The article talks about how it's going to affect FPSs. MMOs are already a lot more forgiving with lag; the 150-500MS lag that this new stuff is supposed to help with is not generally that big a deal in an MMO. For some anecdotal evidence, my latency in WoW is usually about 100-200MS higher than any online FPS, and still perfectly playable.
  • by threaded (89367) on Friday October 19 2007, @07:57AM (#21039973) Homepage

    ...to predict fast, jerky actions.
    Sorry, but that has to be the QOTD, made me ROFL.
    • Sorry, but that has to be the QOTD, made me ROFL.

      Good. Be sure to fill out a TPS report.
  • Looks interesting, but using Neural nets would require massive amounts of computing power, compared to the more simple dead reckoning. Or at least that was the case when I worked with neural nets 12 years ago - better/faster algorithms might have been made since then.

    But then again, the CPU's are so fast today, that it might not be an issue at all.

    • Re: (Score:2, Insightful)

      According to the abstract anyway, "Our proposed neuro-reckoning framework exhibits low computational resource overhead for real-time use..."

      Twelve years ago I had a Pentium 60Mhz that could barely play MP3s without skipping. CPU architecture improvement and especially multi-core processing would probably leave plenty of room for short scale neural network movement prediction.
        • I think that was just bad journalism. The vast majority of lag is network loss/latency to the server, not client CPU issues. As you poing out, if the problem is just not enough CPU available, the answer would be LESS prediction, not more :)
    • Neural Nets: require little computational power, but lots of memory. Expert systems (pre-built rule sets): require lots of computational power, but little memory.

      Algorithmic requirements for these two classes really haven't changed much since the dark ages of AI (the sixties). What has changed is exactly how they're implemented. They're generally not faster, just different.
  • ... if the Neural net can predict my next move, just let it make it for me. Send my bot out to farm Karazhan for me while I watch the hockey game. Oh wait...
  • by 140Mandak262Jamuna (970587) on Friday October 19 2007, @08:10AM (#21040093) Journal
    To control the automatic weapons firing at aircraft in south africa!
  • Uh. (Score:3, Informative)

    by Wilson_6500 (896824) on Friday October 19 2007, @08:10AM (#21040097)
    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.
    • Indeed; one day soon, Chinese goldfarmers will be freed from the slavish burden of even running their own scripts. Instead, the server will simply predict what speeds hacks they would have run, and award them the gold without the tiresome necessity of actually having to receive packets from them.

      Ultimately, our own machines will be able to predict the actions of everyone else, and we will be able to play multiplayer games together completely on our own. The circle will be complete.

    • 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?

      That's exactly what I was thinking. Nice, predictable, straight-line movement is a sure-fire way to get yourself killed in an FPS, if you'll pardon the pun. If the guy you're after doesn't get you, one of his team mates pr
  • Quake's Lag (Score:2, Interesting)

    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.
    • Re:Quake's Lag (Score:5, Interesting)

      by ejito (700826) on Friday October 19 2007, @08:39AM (#21040477)
      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.
      • 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.

        In small enough timescales, what looks like smooth movement becomes subject to random deviations and stuttering. That sounds like... quantum physics ! And of course, in a quantum mechanical computer, the player could move at all directions at once, taking all possible routes to his destination.

        In the World of Quarkcraft, the uncerta

        • In the World of Quarkcraft, the uncertainty is on you !
          I don't understand... do i get the xp from the cat i just killed or not?
      • 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.

        What they really need to implement in order to have a "fair" online PvP experience is some kind of time synchronization betwee

  • If they're adding a neural network to help them predict actions. If it works, couldn't the system be used to enhance reflexes on the player's side?

    Everyone's had an incident when they said "Every time X happens, I want to instantly do y.". Or something more complicated like moving in such a way as to not get flanked. Speeding up repetitive trading or moving activities and so on. Of course, this level of automation might seem too much like giving an unfair advantage. But personally I'd really love a game tha
    • The neural net will only be used to predict the actions of anybody else ingame as a measure to counter any possible lag.

      Instead of the given lagging player running straight ahead the neural net might have come to the conclusion that the movement will stop or do something along the way. That way when the lag disappears the player wont "jump" location from the predicted to the actual one.
      • Yes, but my point is that if you have the technology to predict the actions of other players in a given situation. Is it possible to expand this so that it picks up the slack when you're caught by surprise or not paying attention? In essence, predicting what you would do if you could be bothered to do it.
    • Re: (Score:2, Interesting)

      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
      • I haven't played recent games, ... snip ... hit where they will dodge to. I see I've played you on UT 2004 before. :(
  • The results: "First post!" "Step 1: Teach neural network to farm gold. Step 2: ??? Step 3: Profit!" "In Soviet Russia, you predict the actions of neural networks!" "I for one welcome our neural network overlords" "But does it run Linux?" "Imagine a Beowulf cluster of these!"
  • If the computer is going to predict my next move, I might as well let the computer play the game. If the algorithm is using a neural network, the computer will become just like me as time passes. The main difference between a good player and a normal one, is the difference from the nominal behaviour. Thus making this method of uterly useless.
    • If the computer is going to predict my next move, I might as well let the computer play the game. If the algorithm is using a neural network, the computer will become just like me as time passes. The main difference between a good player and a normal one, is the difference from the nominal behaviour. Thus making this method of uterly useless.

      Your computer doesn't predict what YOU do because it can see it in real time and has no need at all to know what you're going to do in the future. Your computer, however, has to predict what THE OTHER players do when your server connection is bad and the information about what others do around you is coming too slow or not at all. Thus, not exactly useless.

  • If you are lagging the server will switch you to a NPC until you packets get in. It is funny how academics like making things seems more complex then they actually are. Verses other way which generally keep you on your current path, which is easier to program.
    • From the abstract it looks like they are using neural nets simply as higher level approximations of the curve. Essentially just calculating higher order derivitives of position rather than using neural nets in a classification kind of way which what I would initially think of when it comes to neural nets.
  • They could put some work into the technology used to actually CONNECT to said servers. Increased compression, lowering latency all around, smarter load-balancing, making ISPs keep up with the times... Why not actually fix something instead of just putting a band-aid on it?
  • Old news (Score:4, Funny)

    by Nutty_Irishman (729030) on Friday October 19 2007, @09:42AM (#21041521)
    Weren't we just reading about the beta test yesterday? Robotic Cannon Loses Control, Kills 9 [slashdot.org]
  • Just do what Valve did with HL2. Remove prediction altogether by time-shifting all clients back by 2-3 server updates. That way everything the client renders has already happened, and there is no possibility of making a mistake.
  • I wonder how smart this "neural network" would actually be.

    For instance, say I'm playing a game of (Popular FPS A) with a bunch of people online, and I understand how the neural network works. Couldn't I just repeatedly move left to right in a jerky fasion for a bit, and then run straight toward my enemy? If they lag, the neural network computations will show me as moving left to right, where I'm actually just running straight...
  • Manager
    Of
    Movement

    MOM always knows what you're doing before you even start to think about it.
    • I would imagine that it can't be any easier than hacking the current dead reckoning implementations.
    • The benefit if instances is that different groups can be going after the same objective at the same time. It eliminates camping for high level gear. I wouldn't play a game that didn't have control to prevent that kind of camping.

      In that same game I could also participate in a 300+ world event.

      "because they want to be more precise and send more detailed packets to show what the character is doing.

      ah, your an idiot. For confirmation, I looked at some of your other posts.