Slashdot Mirror


Predictive Modeling To Increase Responsivity of Streamed Games

jones_supa (887896) writes Streaming game services always bump up against a hard latency limit based on the total round-trip time it takes to send user input to a remote server and receive a frame of game data from that server. To alleviate the situation, Microsoft Research has been developing a system called DeLorean (whitepaper) using predictive modeling to improve the experienced responsiveness of a game. By analyzing previous inputs in a Markov chain, DeLorean tries to predict the most likely choices for the user's next input and then generates speculative frames that fit those inputs and sends them back to the user. The caveat is that sending those extra predictive frames and information does add a bandwidth overhead of anywhere from 1.5 to 4 times that of a normal streaming game client. During testing the benefits were apparent, though. Even when the actual round-trip time between input and server response was 256 ms, double-blind testers reported both the gameplay responsiveness and graphical quality of the DeLorean system were comparable to a locally played version of the game.

15 of 120 comments (clear)

  1. There is no way this could work for me when I play by He+Who+Has+No+Name · · Score: 5, Insightful

    Nobody can predict when I will suddenly chase a mammoth with a fork while buck naked.

    Nobody.

  2. Re:There is no way this could work for me when I p by tepples · · Score: 4, Insightful

    It can't predict all three at once, I'll grant. But if you've already given the commands to strip naked and wield a pitchfork, then of course it can speculatively run the choice for pushing the joystick toward the mammoth.

  3. Re:Why? by tepples · · Score: 5, Interesting

    Why on earth would you want to do this? Run the damned thing locally

    Let me count the guesses: A publisher paranoid about prohibited copying may be willing to license its game at a lower price if the game program never leaves the server. Or it might be cheaper and faster to send a video stream than to send sufficiently powerful hardware and 50 GB of game at once. Or sufficiently powerful mobile hardware might not even exist. Or it might want to ensure that all players connected to the same server have comparable lag and the same inability to install cheat mods.

  4. Re:Why? by tepples · · Score: 2

    The player would choose this because he game he wants to play is otherwise unavailable.

  5. Re:I thought it was bad by Anonymous Coward · · Score: 3, Funny

    "I have no clue what I'm reading about but am angry about it none the less!"

    - Random internet commenter

  6. Satellite is a rounding error by tepples · · Score: 4, Insightful

    A video game publisher is likely to view people stuck on satellite as a rounding error. For one thing, satellite players are already locked out of online multiplayer due to latency. For another, a publisher might be under the impression that people who can afford to live in the city are likely to buy more games and/or subscribe to a game longer. It's the same reason that many apps hit iPhone and iPad before Android: studies show that iOS users tend to spend far more online per capita than Android users.

  7. ISP don't like the streaming by Nyder · · Score: 2

    The biggest problem for streaming games is going to be the ISP.

    They don't like it when people use netflix, think about something like a game, where you are sending more stuff, not to mention upstream is being used more on these.

    Streaming games would kill any download limits you have on your ISP and pretty much all of them have some sort of limit in place.

    But what is the good of this if your ISP cuts your account, or nutters the connection so you can't play because you went over the 200-400gb limit for the month?

    --
    Be seeing you...
    1. Re:ISP don't like the streaming by danknight48 · · Score: 2

      think about something like a game, where you are sending more stuff, not to mention upstream is being used more on these.

      Its not "that much", let me explain:
      - 4x keyboard inputs = 4x char (4 bytes)
      - 2x mouse inputs X/Y = 2x float (8 bytes)
      - Thats only a total of 12 bytes for client inputs that needs to be sent.

      The issue is the update rate or "tick rate".
      Ideally you need to match the update rate to the framerate being received for smooth input response. In standard practice, its wise to update the input loop outside of the code loop. On standard games installed on a system, this can actually provide more input updates than actual "game" updates.

      No doubt 30 updates will be standard on streaming games. So essentially 360bytes a second of upload data for 30 client input updates a second.

      The packet size can be further reduced by using compression on the packet before its sent. Eg: 50% = 180bytes/second

      So overall, the upload of client data is not really that much, if streaming games is done the way it should be.

    2. Re:ISP don't like the streaming by hibiki_r · · Score: 2

      The bandwidth problem is not on the way out (it's bigger than you think, but it's still small), but on the way in. It's a 1080p video stream that has to be compressed on the fly that cannot do any significant amount of buffering. Netflix already eats bandwidth for lunch, and that with compression algorithms that can run for as long as you want to optimize bandwidth use. So we get weaker compression, and we send a user 4 frames for every frame they see, so 8 times the bandwidth of Netflix for the same image quality.

      So yeah, if there are data caps, they better be in the multi-terabyte a month range, or you just can't use this system at all.

  8. Additional "benefit" by Loki_666 · · Score: 3, Insightful

    Its even easier to pull complete support for the game when it depends on their servers!!! This way they can sell Super Mega Game X+1 to those who used to play Super Mega Game X, forcing them to pay for the new shiny versions, which is really almost identical, with no compelling new features, except maybe slightly better graphics and a +1 to the title.

    I now stay 100% away from any games which demand an internet connection to play. If a game is online only, but supports local server or can be emulated via Hamachi or something, then i'm cool with it. Otherwise no.

    If this means i can't play game X, then i won't die from the lack of it. Plenty of other games out there which I can play, and play how i want.

  9. Re:Just like QuakeWorld in 1996? by Anubis+IV · · Score: 2

    Similar in many regards, yes. Quakeworld, from what I understand and recall, focused on two things: predicting where you were going so that it could prepare those parts of the world in advance, and predicting where others were going so that it could draw them as accurately as possible on your screen even if the connection was slow (I may be incorrect about Quakeworld having this feature, where a predictive bot run locally on your machine effectively replaces the other players for a few ms at a time, but I know it's been in a number of other games as a feature to help smooth out visible lag). The difference, however, is that Quakeworld made a single guess, and wouldn't know if it guessed correctly until it heard from the input source again, so there could be some significant discrepancies between what was displayed as a result of a prediction and what the reality of the situation actually was.

    In contrast, what Microsoft is doing here is making numerous guesses regarding which choice you'll make, generating the frames for each of those choices in advance, sending them all to you in advance so that they can be buffered, and then instantly displaying the correct one as soon as it gets your input to know which one it is. It's like loading frames for the next 200ms from a handful of alternate futures, and then selecting the correct 200ms once we know which potential future ended up being the actual one. Which is to say, the one it's displaying is always exactly correct, whereas in games that implement the predictive bot I mentioned above, people have been able to take advantage of the high latency and predictive modeling to invent new strategies, such as changing one's direction frequently so that the character model showing up on other's screens is rarely in the correct spot where the player is actually located.

  10. Microsoft did something like this once before by Animats · · Score: 4, Interesting

    Back in the 1990s, Microsoft developed something similar. Their idea was to render frames in layers, with the more distant or less active layers rendered less often. if the viewpoint changed, the background layers were scrolled, rotated, or transformed to match, rather than being re-rendered immediately. It never caught on, because graphics hardware became fast enough to re-render everything on for each frame.

    This new thing is similar. Mispredicted frames are viewpoint-warped as a temporary measure so the user sees something. The image is wrong, but close enough to look OK until a new rendered frame is sent. It looks OK for Doom, on which it was tested, because Doom is mostly about the shooter and the opponents moving; there's not much general activity in the background. GTA IV/V would probably look much worse than normal.

    The whole concept represents a desperate attempt to make something "cloud-based" that shouldn't be.

  11. Re:There is no way this could work for me when I p by gl4ss · · Score: 2

    they pretty much only need to guess what happens if you pressed lmb.

    of course, if they were testing with something with only digital on/off inputs, the whole thing becomes much more easier than sending 100 different frames for 100 different possible mouse moves(and calculating those frames at the server end too! it doesn't only need more bandwidth it needs the game that is being streamed do a lot more.. and have it's engine rewritten too... which makes this a lot less appealing).

    it's the analog inputs that make this a fubared concept... of course they can guess that if you're moving the mouse at one frame to one direction you might be doing the same thing the next frame.

    --
    world was created 5 seconds before this post as it is.
  12. bad name by Charliemopps · · Score: 2, Funny

    Apparently the authors of this research have never actually driven a DeLorean. It was stainless steel, weight 3000lbs, and only has 130hp.

    So basically it's a car the weight of a Buick with the engine of a Geo Metro.

    1. Re:bad name by neminem · · Score: 2

      And apparently you don't know anything about pop culture, or else are being willfully obtuse? It's pretty clear they didn't name it after the car, but after a particular famous *use* of the car to travel through time. Doesn't matter how crappy your car is, if it's also a time machine.