So the big buzz at GDC is about the
OnLive gaming service. The basic idea is that OnLive is going to run high end PC games on high end machines and pipe the video to the consumer. The consumer runs a very thin client, either a cheap set top box or a PC or Mac -- and the draw here is that the consumer doesn't have to have a high end gaming machine, because all it has to do is send controller inputs and decode some video.
They apparently have invested a lot in a low latency video codec and a lot of video routing hardware, which is admittedly neat.
Network latency, though, is a problem. They're adding a layer of network latency that isn't compensated by the game! So single-player games that were never designed for lag get lag, and multiplayer games are compensating for the game-client-to-game-server lag, but not game-client-to-player lag.
They've got a datacenter in Santa Clara, another one active probably on the East coast, and they're building one in the Midwest. It's possible that by putting their datacenters next to existing online gaming servers, they can keep the best-case latency down. However, if I'm in, say, Austin, and I want to play on a server in Austin, I'm going to be routing through Santa Clara on both the server-to-game-client and game-client-to-human-client legs, for about 30ms* additional latency at best. This is probably okay for casual gamers, but I don't think the hardcore will accept it. I'd rather have 100ms of compensated latency than 30ms of uncompensated latency.
Their whole plan is aimed at the casual gamers who don't want to spend $3000 every couple of years on a high end gaming PC. Every machine OnLive buys at that spec gets to serve several players, because not all of them are going to be playing at once, so in that sense it could be cost effective.
However, most existing online gaming services serve several players from each running server. It's not unusual to run 20-30 players on a single server on an FPS like Team Fortress or Counterstrike. OnLive has to use a single machine per player, at least for high-end games. That has to change the economics a lot. I'm not sure how they can find a price that keeps the GPUs humming without driving away the "casual" gamers.
I'd be pissing myself if I were in charge of provisioning the datacenters. If you're serving web pages and load increases beyond what you anticipated, the pages get delivered a little slower. If you're serving games, and load increases beyond what you anticipated, little Johnny doesn't get to play. GPUs don't timeshare well.
In the GDC demo, they show Prince of Persia resuming from a pause screen from the main user menu. No idea how they're planning to make that work in general. They'd need to be able to record and restore main memory, process context and I think even GPU state to make that work right. 4GB of storage per user right there, but disk space is cheap.
Presently, a typical online game sends ~100 bytes/second client->server and pulls down maybe a couple Kbytes/sec server->client. OnLive has the same upstream requirement but is doing ~100 times that in download. Their standard-def bandwidth requirement is 1.5Mbit -- "only" typical baseline DSL speed nowadays, but to us old-timers that's a full T1. There's enough variation in people's network situations that I can't say what the implications are for everyone, but for "casual gamers" with cheap broadband, OnLive is going to try and take the full pipe. So when little sis goes online to torrent the latest Jonas Brothers release**, your video is going to go to shit. In a traditional game, when this happens your latency goes to hell, but thanks to the lag compensation, the game may still be playable.
I'm calling it right now:
in two years, no one will care about OnLive.
* Assume that network routing distance is similar to road routing distance. Google maps gives 1721 road miles for Santa Clara to Austin. 1721 mi / 186000 mi/sec (speed of light in vacuum) * 1.5 (roughly the index of refraction for glass fiber) * 2 (round trip latency) = 28ms best case.
** Did I get that right? I'm so bad at pop culture reference.