|
I won't lie. GDC has been a little slow this year. I think that's why everyone has been talking about the recently launched service OnLive.
OnLive allows you to run games on their servers which will be streamed through a set-top box to your TV (or computer). A controller hooks up to the box just like a console. There has been a lot of talk this week about digital distribution for games so this is right in line with one of the largest themes at the conference. But, there are a few problems I just don't understand.
First off, a bit of background. I studied high-end rendering in grad school. I had my own 16 machine cluster which I would interact with via my desktop. I wrote the code that compressed the simulation, streamed it over the network, and processed the user's interaction to be used by the simulation. You can even check out the movie. I also wrote up a white paper about graphics as a remote service which would have been my Ph.D. topic had I continued with it. That was a couple of years ago, but hopefully it will convince you that I'm not a complete idiot when it comes to this stuff.
Because the paper is incredibly long and boring, I'll sum up my thoughts here. I think that service-based graphics are great in a few different environments:
- The dataset it too large to ship. The national laboratories (LLNL, ORNL, etc.) used our technology because the fastest way for them to share data was via FedEx.
- Minority Report. The server solution provides centralized computation for thousands of small tasks where the cost of additional hardware for each display is prohibitive.
OnLive falls into the second category. They are "shifting the economics of the industry" by providing a microconsole so that the game simulation can be moved to the server. The problem is in the nature of the task. Games are inherently compute intensive. There's a reason that you need a behemoth of a machine to run Crysis.
For a service of this kind to make any money, you need to be able to support tens of thousands of users at the same time. Halo 3, for example, has 80k users online as I write this. Granted, this is across the entire world, but the hardware to support the simulation, rendering and video compression for each of those games would be staggering.
So this is all just speculation and gut instinct at this point. Maybe OnLive has figured out something I haven't. And I do honestly want to think that they have - it was my research after all. Anyway, let's look at some numbers.
OnLive states that they can stream content from its servers to your house in less than 80 milliseconds. This means that any event (e.g. user tries to shoot someone) generated on the client needs to be sent back to the server, processed, and the results need to be sent back. In an ideal situation, given OnLive's reported numbers, you get the next frame 80ms later. This is a quite a while in real-time games. Effectively, you are capable of responding to actions and seeing the visual results at a maximum rate of about 12 events per second.
The reason that games need to run fast isn't only because the graphics need to be smooth. It's because the user needs to be able to respond to their own actions. Streaming video doesn't have this requirement, which is why on-demand movies work so well. You still need to interact with the video when you pause or rewind but that interaction does not need to be in real-time; 80ms would be fine.
To provide another argument slightly more founded in theory, we can talk about the speed of light. OnLive says that they will launch with servers on both the West and East coast. The US is about 2600 miles across. So let's say I'm smack in the middle, 1300 miles from a server. The speed of light is 186,282.397 miles per second. So it takes 7ms to travel 1300 miles at the speed of light.
At that speed, I can respond to something, see the results, and repond again at a maximum rate of 70 times a second. This assumes a line-of-sight fiber-based connection between my computer and the server. If you also assume that games usually run at a rate of 60 frames per second, then it takes over 16ms to render a frame. Add 14ms for the round-trip of the data itself and you end up with a maximum frequency of interaction and response of just over 30 times a second.
I've actually played games at their booth here at GDC. Honestly, it's
impressive. Apparently the server is 50 miles away, but the lag is
pretty decent. The basis for comparison isn't quite there though. I
have the exact same experience playing games at home, so there isn't
much new. The big question though is that stated 80ms of compression,
and specifically whether or not it matters. They do explicitly state that their technology can stream the data in "less than" 80ms. So maybe the real story is that they've come up with the most efficient video streaming ever.
Part of the discussion that I've completely left out so far is that of human reaction time. Generally, it takes 190ms to respond to a visual stimulus. Relative to the compression time, this is quite a while. So maybe it's possible that the user doesn't perceive a lag. My feeling is that, here at GDC, OnLive seems to be just below the point at which we begin to feel it. But the reality of the rest of the United States is that you have an outdated telecommunications infrastructure as well increasing distances to metropolitan areas. This comes back to my first point: the cost to support these types of data centers all over the country seems like a pretty large undertaking.
I certainly can't prove that any of this is impossible. However, the genuine feeling of skepticism coming from everyone here at GDC is undeniable. I hope that they can prove us all wrong because it'd be pretty cool if this works.
Follow me on Twitter.
|
These are the potential problems with the system that seem obvious at first glance, but it is good to see someone with actual experience in the field weigh in on the topic.
I think we will all be waiting to see how OnLive turns out.
Brett - Check out http://onlivefans.com (OnliveFans.com
You know why this caused the most stir at GDC? Because it's DIFFERENT. Much like the debut of the Wii, this technology aims to push the industry out of a comfort zone, and it's exciting!
Eric, I did play a first person shooter at the expo and it worked really well. I think that the real test is in putting the service under a large load with a couple thousand people using it as Brett mentioned. You're right as well that there will be certain games, just as with my streaming movie analogy, that won't suffer from lag as much. There are some however, that really require a fast response.
Jaime, please don't mistake my skepticism for negativity. I do really want a service like this to work. That skepticism is based on the fact that OnLive is pushing up against some theoretical limits. I personally spent a significant amount of time implementing a lot of what they're actually doing. My experience makes me skeptical, but certainly not negative. I do agree that it truly is exciting if they can pull off scaling it across the country and maintaining a high quality of service.
The major concern have is that while it is true that the 190ms average for human reaction is the norm, this doesn't take into account PREDICTIVE MODELING. When you're playing any action-oriented game on a competitive level this is fully evident. The lower the latency, the more accurate one's predictive model of an opponent's behavior can be. Try playing a game like DotA, Team Fortress 2, or Counter-Strike at 190ms vs 30-40ms latency for an example of this.
That being said, I don't think that this is all impossible. I describe my skepticism in the hope that we can get a better understanding of it all. Thanks again for the comments, I love hearing the other sides of the coin.
- http://www.onlive1.com/
Is this what end users want? Of course not. Nothing beats being able to hold your physical copy of the game. And don't forget about third world countries. In Argentina the best end user speed is around 10mbps/512kbps (for USD 200 per month, the average income is USD 400). So, if games ever go fully in this way, they will basically leave countries like this one playing PlayStation games forever. But the industry wants it, and when the industry wants something, they obtain it. Not next year, not in five, but in the future, of course. Banks, the internet, ATMs, nuclear systems, everything works in a client/server structure, with dumb terminals. Why games cannot?
Basically, I agree with some of the comments about this type of thing not applying to many games, plus the caution about such an endeavor only serving the widen the already-vast digital divide. There's a reason very few people play Crisis, or even other titles, compared to various simple games on PC or the Wii or DS. Tech demos are all well and good, but that doesn't mean they're worth considering as an actual game (or one worth the same price as another product with far more playability and/or content).
The idea is a dream, really intersting, high-quality graphics for everyone...
But this stumbles in the fact that the internet does not support it, several places throttle conections, at least here in my country I am still to see a conection that can load a youtube video in high quality faster than it plays, it is plainly unfeasible, at least for now...
Until the fabled and promised "Internet 2" is not around, OnLive will serve only a few people (if it work at all)
Heck with the boxes you have in your living room right now, they could probably provide a similar service by sending some content to your console and offloading some of the work providing a potentially better experience.
Also, what is the subscription fee? Is there a cost per game you play? If the consumer outweighs what you are spending now, would you do it?
Sony patents PS Cloud --> http://www.gamesindustry.biz/articles/sony-patents-ps-cloud
Also, those of us who have been around for at least five years remember seeing almost this exact claim made five years ago by an obviously-fraudulent entrepreneur (aka "con man"). He also "demonstrated that it worked" in a booth at E3, by putting some PCs or something running Unreal Tournament in some cabinets and claiming that his new console, The Phantom, was in there. Now, he was outright lying, and I'm not accusing OnLive of that, but saying stuff like "it's been proven" is way off. It hasn't been proven at all. Unless it's actually running somewhere with a few hundred thousand people streaming 1080p fighting games, RTSes, shooters, and MMOs. It's far from proven, and although I don't accuse them of being fraudulent, we have in this industry seen people tell bold-faced lies in public and then back those lies up with falsified demonstrations.
Chill pill, Mr. McIntyre.
Yes, I remember the Phantom, and, if I remember correctly, it was a download service, not a streaming service. The controversy surrounding that system was that it was essentially a dedicated PC; nothing truly revolutionary. It was not a debate about infrastructure; it was about concept.
I'm just as skeptical as any other regarding OnLive, don't get me wrong, but I'm in the optimistic camp; I'm not going to swing around my credentials and say that it will fail outright. I will say that if it does fail, then I'd be disappointed.
See the difference?
A little correction about the Phantom: It wasn't a download service or a dedicated PC. It was a scam to rip off venture capitalists. The actual thing they showed in the booth was likely just a PC in a wooden or plastic cabinet, though. I'm not accusing On-Live of being a scam, though. Just saying that it looks like a similar ending ("it isn't a viable platform") is coming.
You asked why people were skeptical, and I answered you. People are skeptical because it's similar to things we've seen before that didn't pan out, and because it's an outrageous claim that looks far beyond the strength of current technology and infrastructure, in addition to being a system that looks like a bad idea overall.
There's no profit to you or me in being "optimistic" or "pessimistic" about these things. We should try to be realistic.
The concept itself is something that I have been expecting. Streaming games and eliminating the need for consoles that break down and piles of gaming disks on the shelves (unless a gamer only rents...),
Also, it would seem that they have come to a solution to the constant console war of producing the next best machine and simply updating it through their technology.
However, the discussion of the servers supporting the users without lag is something that has been hot. Let us say that the system takes off, however, it wants to get to a user size say of Xbox Live? Will they have the servers and power in place to complement the gamer across the US and eventually global?
It is going to be interesting to see, and I will keep a close eye on this.
On a side note, I do not believe that this will be the death of the console. There will always be individuals who want to have a physical console with physical games and storage in their household.