Video Game News, Reviews and Reflection! New Articles Released Randomly Every Week!
What if video games could study your in-game behavior and predict what actions you’re going to take before you take them? That’s the idea behind a Microsoft tech report released in late August presenting Outatime, a proposed experimental solution for cloud gaming that can compensate for slow network response time by guessing the next thing the player will see and pre-sending it. Or as a footnote in the report puts it: Outatime – A car so fast that it can time travel, enabling one to take action in the past based on possible futures.
So before I continue, I’m going to pause here and warn you. This will be a touch more tech heavy and potentially jargon-y than other articles here. I’ll try to tone it down, but when I do throw around terms like client and latency I’ll do my best to explain them as I use them and maybe even provide an analogy our less tech-savvy readers out there.
The Problems with Cloud-Gaming
Cloud-based gaming uses what is called a thin client to allow for advanced gaming on less advanced platforms. A thin client is a program that doesn’t do the majority of it’s processing on the device that it’s running on. Instead, it sends the data to another computer that processes it and sends it back. It’s like the difference between doing your own laundry and sending out your clothes to a laundry service. So, this thin client sends all of the input from the player to the cloud. A server in the cloud then renders the next image that should be seen by the player and sends it back. Lather, rinse, repeat with 30 images per second and you have continuous high-end graphics without the need for a graphics card. Essentially the cloud is creating a video on the fly based on what the player does and the thin client downloading it and playing it like a youtube video. This is all well and good if the network is fast enough to generate the 30 frames per second that most video games shoot for. But what happens when it isn’t fast? Graphics become choppy, the game becomes unresponsive, you get fragged, Greedo shoots first, and your team loses. Or at least most of those things happen. High latency networks (latency essentially just means time delay) make widespread cloud-based gaming very difficult. Studies have shown that gamers are sensitive to as little as 60 milliseconds of latency, and many gamers find 100 milliseconds to be unacceptable. Further, some Wi-fi and 3G networks have been found to have over 300 and 600 milliseconds of latency respectively at the edges of their range. Even some wired networks have 100 milliseconds of latency. Now this latency is not a problem for other online activities such as watching a video because a video can buffer. But since the game’s images are being created as you play, high network response time is a requirement.
The Potential Solution
Enter Outatime. Using a history of a player’s actions as a basis for predictions, when the client sends the data to the server on the cloud, Outatime can look at the state of the game and speculate what possible images the game will need in the near future. It then sends a back several potential images and, when the image is needed, the thin client chooses which one is correct and displays it. An over-simplified example of this: if you’re playing a first person shooter and you’re running toward a building, Outatime can assume that in 250 milliseconds you will still be running at the building but it doesn’t know if you’ve fired or not. So it sends back two images, one with the building being closer and your gun firing, and one with the building just being closer. Then, when that image is needed, the client can choose which image to use based on what the actual input was. This is coupled with several error correction techniques that I won’t discuss (Kalman filtering, view interpolation, and time-shifting for those who are interested) to produce the continuous real-time interactivity necessary for a game. Now this is not without its drawbacks. Because there is considerable extra information being sent back to the client, Outatime sends 1.5 to 4.5 times more data than standard cloud gaming. Furthermore, the server that is doing all of this speculation must do considerably more work per frame. However, at least in the admittedly small experiment group of gamers, the benefits far outweighed the downsides.
Aside from thinking this is extraordinarily cool because I am a massive nerd, the implications of this technology have the potential to have a significant impact on the entire gaming industry. A company keeping all of the components of a game on servers in the cloud instead of each individual gamer’s computer having a copy has its advantages. Gone would be the days of downloading patches and updates. Also, as previously mentioned, having high-end hardware is not necessary. I would be able to use my 2007 Macbook Pro that I’m writing this on to play…well pretty much anything, which is about 100% more gaming than I can do on it now.
There are of course disadvantages. Servers go down or need to be maintenanced. I seem to remember many a tuesday morning watching my World of Warcraft friends emerge from their gaming cocoons for the first time in a week and rediscovering what daylight looks like, only to hiss and go back inside at 11 a.m. Further, you are limited to playing where you have an internet connection. This isn’t an issue for many people, but for others this is a deal breaker.
My other concern about hosting the game files on servers instead of individual computers is that it could dramatically alter the lifespan of games, even in single player mode. Companies shut down servers for their lesser played or older games. I remember going back to the original Army of Two a few years back looking to do some online co-op with a friend only to discover that EA had discontinued online services for it. If even single player modes require an online connection, how long before it is no longer profitable to continue support and the servers are shut down, repurposed for a newer game, and the old game becomes unplayable? I still occasionally dig up old Genesis cartridges and play them till my thumbs cramp. I wonder what a total shift to cloud-based gaming could do to nostalgia gaming.
It is, of course, still experimental and lacking a large-scale test. However, such a system could make cloud-based gaming a viable and low-lag alternative for gamers with aging or low-performance platforms. Though this is the rare optimist in me talking, I envision a future where games are released and you have the option to use your own computer or the cloud to run your game, catering to people with both high and low-end hardware.