So you might have heard me gasping for breath and muttering “omg this is amazing” a few weeks ago when the world was first introduced to OnLive. OnLive is a cloud computing service dedicated strictly to gaming. The idea is you have a “microconsole” that hooks up to your TV, or an app running on your PC, that connects to this cloud service, and then allows you to play any supported PC/Xbox360/PS3 game you want for a fee (rental or monthly, I don’t think they know yet). This is achieved by taking your input (keyboard & mouse / controller / etc), sending it to the cloud service, the cloud service doing all the rendering, and then streaming the video output to the PC / microconsole in standard definition or 720p depending on your bandwidth. Because all the rendering and processing is done in the cloud, the idea is you’ll never have to upgrade your PC or console again – they demonstrated this by playing Crysis (a fairly resource-intensive PC game) with all graphic options cranked on a 4 year old Dell laptop with 1 gig of RAM and an onboard video processor.
This is all well and good, and if it does actually take off it’ll change the gaming industry dramatically – no more need to buy a $500 console, no reason to go stand in line when GTA5 comes out, no reason to develop a game for PC and 360 and PS3 and Wii. After taking a few deep breaths and calming myself down, I read some analysis from several critics in the industry and it almost seems like a pipe dream. Here’s a few of the facts broken down:
The biggest factor of gaming, especially when involving a network, is lag. The difference between a 40 ms ping and a 140 ms ping is the difference between life and death on a PVP server. But now we’re doing absolutely everything online, meaning your internet connection has to upload your input (not a big deal considering there’s usually a set amount of input variables and can usually be expressed in booleans or at most a 0.00 accuracy per axis for analog input), the cloud associates your input with the process running your game, the cloud then processes your input in the context of the game and gets the video & audio result, compresses that output to a proprietary video codec that they’ve developed over the last 7 years, and then streams it back to you for decompression at their promised 60 fps, 5.1 surround audio and a max of 720×1280 resolution over 5 MBps. Youtube, powered by Google’s servers, takes about 15 minutes to convert 6 minutes of a video file and encode it to 2MBps 30fps video with stereo sound.
For a normal gaming PC to output 720p graphics on a game like GTA4 or Crysis, you’d require a pretty beefy CPU, 9800GT video card, and a decent amount of ram. For one person running the game locally. If you add the compression algorithm to that, and multiply the hardware by the 1,000,000 users that would be playing the game at a given time (and that’s a modest estimate based on Xbox Live numbers), even in a distributed processing model that’s an insane amount of hardware required to keep everyone running with no interruption.
The video encoding used by OnLive apparently has a 1ms latency @ 720p 60fps (time it takes from receiving the video input to outputting it encoded). That’s saying the encoder runs at 1000 fps. One of the best H.264 encoders today can hit 3ms @ 720p 30fps. So they’re saying the technology they have is exceptionally better than anything that exists today.
I’m not saying that this isn’t possible, and I really really hope it is – hell, I’d probably stop pirating if it was. I’m just saying if you look at the facts, the company either has a few billions in infrastructure, or they’re dramatically overstating the capability of their service. They did have a demo setup at GDC this year, but reviewers were pretty sure it was all over a gigabit LAN, with ideal setups that OnLive provided, so of course it’s going to perform well. Check out the video below for a preview of what the service is capable of – some of the video streams and community stuff is really amazing and well done. All the videos you see (including all the squares on the globe at the intro) are apparently either people playing live or recordings of games made by the service (which they can easily do since they’re just streaming the video output).