I love industry-shaking announcements. I love new, game-changing hardware, and I'm absolutely, almost literally exploding with excitement about the new OnLive gaming concept. I love that front-end, and I love the way OnLive uses video because video is what my company, Digital Foundry, specialises in, and what I spend a lot of my time experimenting with. I want this to be brilliant so much that it's almost painful.
The concept is remarkably simple. The actual hardware generating the visuals and running the gameplay isn't owned by you. Instead it's held somewhere else in the world. That hardware then encodes its visual output and beams it to you over the internet. The player sitting at home simply uses an existing PC or Mac (or 'micro-console') to take the video stream over IP, beaming back control inputs to the server. The advantages are very straightforward - you don't need to upgrade your hardware, the people running the servers do. And that hardware can be state-of-the-art PC kit way in advance of what Xbox 360 or PS3 are capable of, and of course it's upgradable. You'll never need to buy a game again; you'll just rent time on the ones you want to play. You'll doubtless save money and the publishers will make more of it. Piracy will be impossible.
There's only one slight problem. Realistically, there is no way it can work to the extent suggested, and no way it can provide a gaming experience as good as the one you already have without inherent compromises. It's a great idea, and an intriguing demo that is amazing in that it actually works at all. However, away from the concept and the tech demos running in controlled conditions, OnLive raises so many technical questions and seemingly overcomes so many impossible challenges that it can't possibly work.
In essence, we're looking at several very specific challenges for OnLive to overcome - challenges that are either massive in scope, or technologically beyond the very best minds of their respective fields. For this to work, we're talking about a generational leap in not one, but several fields of technology.
The Hardware Question
To give the kind of performance OnLive is promising (720p at 60 frames-per-second) realistically its datacenters are going to require the processing equivalent of a high-end dual core PC running a very fast GPU - a 9800GT minimum, and maybe something a bit meatier depending on whether the 60fps gameplay claim works out, and which games will actually be running. That's for every single connection OnLive is going to be handling.
So, let's say that Grand Theft Auto V is released via OnLive, and (conservatively) one million people want to play it at the same time. We can talk about Tesla GPUs, server clusters, the whole nine yards, but the bottom line is that the computing and rendering power we're talking about is mammoth to a degree never seen before in the games business, perhaps anywhere. There may be a way how this can be handled (more on that later), but even having capacity for 'just' 5,000 clients running at the same time is a monumental effort and expense. It would be the equivalent of us running a single Eurogamer server for every reader who connects to the site at the same time. The expense involved is staggering (not to mention the heat all this hardware would generate - think of the children!).
The Video Encoding Conundrum
Not only will these datacenters be handling the gameplay, they will also be encoding the video output of the machines in real time and piping it down over IP to you at 1.5MBps (for SD) and 5MBps (for HD). OnLive says you will be getting 60fps gameplay. First of all, bear in mind that YouTube's encoding farms take a long, long time to produce their current, offline 2MBps 30fps HD video. OnLive is going to be doing it all in real-time via a PC plug-in card, at 5MBps, and with surround sound too.
It sounds brilliant, but there's one rather annoying fact to consider: the nature of video compression is such that the longer the CPU has to encode the video, the better the job it will do. Conversely, it's a matter of fact that the lower the latency, the less efficient it can be.
More than that, OnLive overlord Steve Perlmen has said that the latency introduced by the encoder is 1ms. Think about that; he's saying that the OnLive encoder runs at 1000fps. It's one of the most astonishing claims I've ever heard. It's like Ford saying that the new Fiesta's cruising speed is in excess of the speed of sound. To give some idea of the kind of leap OnLive reckons it is delivering, I consulted one of the world's leading specialists in high-end video encoding, and his response to OnLive's claims included such gems as "Bulls***" and "Hahahahaha!" along with a more measured, "I have the feeling that somebody is not telling the entire story here." This is a man whose know-how has helped YouTube make the jump to HD, and whose software is used in video compression applications around the world.
He recommended a series of settings and tweaks that would allow for h264 processing at the kind of latencies OnLive has to work with, so here's a comparison video: source on the left, 5MBps 60fps encode on the right. As is usual with my videos, the action is slowed down to eliminate macro-blocking on playback as much as possible. Burnout Paradise is the chosen game, which features heavily on OnLive's front-end demo, and is also a good test for arcade-style video.
It's not particularly pretty, but with the constrictions OnLive has to live with, this is the sort of performance the current market leader in compression has to offer. The bottom line here is that OnLive's 'interactive video compression algorithm' must be so utterly amazing, and orders of magnitude better than anything ever made, that you wonder why the company is bothering with videogames at all when the potential applications are so much more staggering and immense.
The Insurmountable Challenge: Latency
OnLive says that it has conducted years of 'psychophysical' research to lessen the effects of internet latency. That's the key issue here, and I can't see how OnLive can fudge its way around this one. In reality, it's going to need sub-150 millisecond latency from its servers at least, and a hell of a QoS (quality of service) to guarantee that this will in any way approximate the experience you currently have at home. The latency factor will probably need to be somewhat lower than that to factor in the video encoding server-side, and decoding client-side, which by any measurable standard right now is going to be impactful.
How Did They Do That?
So, bearing in mind that OnLive is demonstrating at GDC, how is it achieving the results? It's difficult to say, but this is how I would do it. Firstly, I'd have a bank of whopper PCs behind the scenes running the games at 720p60. Each of them would be connected to a hardware h264 encoder which would in turn be connected via gigabit LAN to the clients. If the server-side PCs aren't on site, I'd have them at a very close-by datacenter. At the GDC demo, OnLive bosses Mike McGarvey and Steve Perlmen said that the company's servers were hosted 50 miles away. If this was a true test conducted over the internet, I'm betting that there was a whopping internet connection being used with oodles of bandwidth, even if only 5MBps of it was utilised.
Perhaps this suggests an element of smoke and mirrors, but if I were OnLive and about to give a demonstration of this importance, I'd definitely be looking to control as many of the conditions as possible. The main principles are being showcased, but in a best-case scenario. The thing is, actual performance has to live up to this demo and that's where things get tricky.
Factor in thousands more users, orders of magnitude more traffic at the datacenters, and all the vagaries and unreliability of the average internet connection and actual real-life performance must surely be in question. Much as we all want this to be brilliant, the fact of the matter is that even a Skype call over the internet is prone to failing badly at any given point, so the chances are that the far more ambitious OnLive is going to have its fair share of very tangible issues. Picture quality will be immensely variable and lag will remain an issue - but for the less discerning gamer, maybe - just maybe - it will work well enough.
How Could They Make It Work?
So, could this system actually live up to the claims being made for it? What sort of conditions are required to ensure optimal performance? Firstly, I don't think that the video encoding issues will be overcome and I don't buy into this 'interactive video algorithm' geek-speak. On high-action scenes, you're going to be seeing a lot of macroblocking; it's basically inevitable. I can't imagine Burnout ever being streamed in HD to acceptable standards at 60fps without at least two to three times the amount of bandwidth OnLive uses.
I can see 30fps video being the standard here rather than the mooted 60fps. It'll make the video quality look massively superior, and reduce the load on the client decoding it, plus it will help manage latency if the amount of frames being processed is halved. Plus of course there's the fact that 90-95 per cent of console games run at 30fps anyway. It's effectively the standard and it will lower the CPU/GPU requirements of the PCs server-side. But even then, don't think that this will result in lossless HDMI-quality video - far from it. Any game with fast-moving, colourful video is going to look very rough.
That said, the 1.5MBps standard-def option is intriguing and has a much better chance of working out. Here's the same h264 encoding profile I used earlier, reworked for standard definition. I can even run this in real time in the Eurogamer Flash player, no slowdowns or zoom-ins required.
Let's give OnLive the benefit of the doubt for a moment and say that its encoder is better than the very best in compression available today. If its tech is the generational leap that Perlman and company say it is, maybe it could match that quality at 60fps. But still, blown up to full-screen, it's not going to be especially impressive.
Latency. I can only see one way to make this work and guarantee the necessary quality of service, and that's to adopt an IPTV-style model. The OnLive datacenters will be licensed to ISPs, who will have them at their base of operations. Latency will be massively reduced, the connection will be far more stable, plus the datacenters with the PCs and hardware encoders can be distributed worldwide in a more effective manner. ISPs will be cut into the deal the way that retailers are now with conventional game-purchasing.
But even in this scenario, practically, I still can't see it happening. Microsoft's IPTV venture still hasn't materialised anywhere outside of the USA, so what chance does OnLive have of brokering a deal? And with ISPs complaining about the load brought about by innovations like the BBC iPlayer, why would they want to be involved with a hugely congestive venture like OnLive?
And what about computer costs? OnLive is promising state-of-the-art PCs running your game experience. The costs in creating the datacenters are going to be humungous, even factoring in the assistance of a volume manufacturer like Dell or HP. And what happens when GTA or Half-Life comes out and everyone wants to play it simultaneously? Will we have to take turns on connecting to the available servers? Computer costs, bandwidth costs, development costs, publisher royalties... it's all starting to sound hugely, and prohibitively, expensive. Not surprisingly, OnLive is keeping mum about its cost structure to the end-user.
Let's say that I'm wrong. It's not completely unknown. I'm just a man (flesh and blood!) taking a pop at visionaries who reckon they have produced something truly epoch-making. But in order to make OnLive perform exactly as claimed right now, the company has to have achieved the following:
- 1. OnLive has mastered video compression that outstrips the best that current technologies can achieve by a vast margin. In short, it has outsmarted the smartest compressionists in the world, and not only that, it's doing it in real-time.
- 2. OnLive's unparalleled grasp of psychophysics means that it has all but eliminated the concept of IP lag during its seven years of "stealth development", succeeding where the best minds in the business have only met with limited success.
- 3. OnLive has developed a range of affordable PC-compatible super-computers and hardware video encoders that are generations beyond anything on the market at the moment.
At some point, Occam's Razor, along with an ounce of basic common sense, has to step in and bring an end to this fantasy, no matter how much we want it to be true. OnLive boss Steve Perlmen remains adamant: "Perceptually, it appears the game is playing locally... what we have is something that is absolutely incredible. You should be sceptical. My first thinking was this shouldn't work, but it does."
So let's put it this way - I can't wait to be proved wrong.