OnLive and Gaikai — How To Stop a Gaming Revolution
happierr writes "The gaming industry has been struggling in the last few months, and it is about to struggle even more when OnLive and Gaikai launch later this year. The new services are both a step in the right direction to counter piracy and provide easily-accessible gaming to people with low-end PCs. They might even do for PC gaming what the Wii did for casual gaming; greatly expand the market and draw interest from people who would not ordinarily play games. The services are a real threat for the Big Three video game companies (Microsoft, Sony, and Nintendo). How will they combat these revolutionary services? There are a few steps that the Big Three are taking to combat the New Two, such as an increased reliance on peripherals and vision cameras, exclusivity deals, and more online multiplayer features, which OnLive and Gaikai will have a hard time matching."
Neither OnLive and Gaikai wont make any gaming revolution. Yes, they might have the power and bandwidth to run the game as streaming video off their servers, but the major issue is still latency with controller. Even 50-100ms lag will be *really* noticiable when you're just moving mouse to look around. And in some fast games when you see the enemy you'll be already dead on the server.
OnLive shows Burnout Paradise in games catalog too, and racing games are another genre where you need fast input from the controller or you will be rolling your car down the hill pretty soon. These days latency is not gonna make it. Unlike bandwidth and power, latency is a lot harder issue to overcome in future too. Sure, it works from keyboard to pc really fast. But not when its gonna move hundreds of kilometers back and worth. It's already pushed to nice 50-100ms if theres nothing interfering with your local network or something along the way. You can talk in phones in real time too (well, with the same latency, but its not noticable in that use). But for controllers, specially for mouse, its not going to work. And more so you need to stream huge video all the time that can't be prebuffered like YouTube or other video content because its generated in real time.
Games like Counter-Strike and other multiplayer games work because the amount of work and data is split between client and server. You're only sending small amount of information to the server, like current position, shots etc. and the server is sending the client back other players information. Not a huge streaming video, but small packet with coordinates and so on. And even then we all know how crappy it goes if latency grows and the game lags.
What comes to removing piracy via online delivered content, the answer isn't streaming the game as video. Answer is delivering content when needed in game. Yes, that still needs lots of bandwidth and an active internet connection, and you pretty much fuck the customers over with it. But it makes piracy a lot harder if you need to authenticate to server and you only get some, but still significant amount of content during game, dynamically. However technically that way is A LOT closer possible than streaming the game as video and sending controller movements back to the game server.
Bandwidth can grow, but latency issues aren't going anywhere anytime soon. Only things this might work with is something like chess games, but I dont know if Microsoft, Sony and Nintendo are going to be so worried about that.
As as been pointed out elsewhere, measuring the video game industry on a month by month basis is idiotic. The US and the entire world is in a bit of a slump, but video game sales are still pretty solid overall. Traditional measurements don't account for things like online purchases, or whether or not any majorly anticipated games have been released. Keep in mind that videogame development takes place over *years*. So, those of us (well, at least me) who make games for a living just tend to shake our heads as people talk about monthly "slumps", etc.
I've heard nary a whisper from any of my colleagues and friends in the videogame industry about these new services. Most that I've talked to about it believe it to be somewhere between vaporware and wishful thinking. Yes, eventually this sort of solution may make a lot of sense. But at the moment, it's far more practical for the client to have access to local data and do the job of presentation (rendering the world) for the user. The issue of latency is simply going to be a showstopper. Unless they've figured out some sort of magical solution to turn 150-300ms latency into a snappy user experience, gamers will not flock to these services. And without gamers paving the way, the service won't be going anywhere.
You'll notice that just about every business under the sun is dying to get you to sign up for a *service* instead of purchasing *products*. This seems to be the new matra in software development of all sorts. Subscription-based services mean regular and predictable income. Everyone is looking at the cash Blizzard is raking in, and want a piece of that action. Online services also are just about the only viable protection against piracy, another bugaboo with industry execs and publishers.
This reminds me a lot of DivX - the DVD alternative, not the video codec. It was the movie industy's wet dream. Purchasing DVDs that you didn't actually own. This strikes me as something vaguely similar - a system designed for the benefit of the publishers, not the consumers. As such, it will die a slow, ignominious death as it's largely ignored by those who insist on a top-notch gaming experience.
Irony: Agile development has too much intertia to be abandoned now.
As a PC Gamer, I want to BUY my games. Why is every company trying to take that away from me? I want to walk into a store, pick up a box with a DVD in it, pay at the register, go home, and play. I also want to be able to play the game, say 5 years from now. Perhaps 10? The only thing that should stop me from playing a 10+ year old game is having a 10+ year old PC or a PC emulator. Lastly, If the game is shitty, I would like to sell it and maybe recoup my lost money.
I have cash, I want the DVD, is that so hard? Valve's games come on a DVD, but is still requires Steam to install it, so no reselling there. If steam decides to no longer support my game, oh, well. All of the games with online activation and limited installs, again no reselling and good luck playing them in 10+ years. Lastly, OnLive and Gaikai...these "revolutionary services", well...you know what your getting into to begin with. But if this is the direction PC gaming is going to take, then I am out.
For the record, Anti-PC gamers that complain about having to "upgrade every 6 months" is full of shit. I have a 4 year old system that runs new games fine. The only thing upgraded was the video card, and that was two years ago, with a bargain-bin 512Mb Nvidia card.
Also, Yes, I do replay my 10+ year old games. Hell, I even buy old classics off Amazon, good luck doing that 10 years from now!
Slow Down Cowboy! It's been 1 hour, 47 minutes since you last successfully posted a comment
Ok so your ISP has low latency in itself. That is not impressive. I have a regular DOCSIS2 cable modem here in the US. Not fibre, no special new technology. However, I get pings on the range of 10-30ms to other Cox customers, and Cox sites in my state. That's wonderful... But it doesn't hold up when I have to start traversing longer distances. For example going to Google, well now I'm up to 50-60ms. Google is pretty quick, since near as I can tell it is a datacentre in a neighboring state that I'm going to, and there is a direct connection from Cox to Google. How about something over on the East Coast, say Juno, an East Cost ISP? That is more like 80-100ms. All that and I'm still in my country, still on my continent.
Now please remember that my numbers, like yours, are all minimal network pings. These are extremely fast. The actual latency for an application can often be higher since more processing has to be done and you have larger payloads.
The upshot is that you only tend to have these awesome low pings to things that are very close to you both in network terms and physical terms. In your country, maybe everything is physically close. That's not the case in the United States. My city is 100 miles away from the next major city, and that 100 miles is filled with a lot of nothing. You could fit most nations in my state with room to spare and it isn't the largest one.
So, while you could get low latencies, potentially, by sticking servers in lots of ISPs, and in lots of geographic locations, that just isn't really feasible. Barring that, there is no way you are going to have super low latencies. Sorry. There aren't magic technologies out that that people are just holding back. A large part of it is simply router speed. It takes time for a router to get a packet, figure out where it is going to go, and send it out. Every router adds a little bit of time, and unless you want to have a giant mesh with all nodes connected to all other nodes, there's going to be a lot of routers in the middle.
With longer distances, the speed that data travels through the lines itself becomes a factor. While light speed sounds really fast, it really isn't on the scale of the Earth and the time scale of data. Assuming you had an ideal vacuum situation, a beam of light can go around the Earth in about 133ms. So, even as fast as it could possibly be, we are still talking perceptible lag at long distances.
This gets worse since we don't have ideal conditions. For one, optical fibre has a higher index of refraction than a vacuum. This means that light travels slower through it. It goes maybe 2/3rds c in good fibre. Then there's the fact that fibre doesn't run in nice straight lines to its target. It goes around and over obstacles, it follows roads, rails and so on, it goes in and out of buildings and so on. You end up having a longer run than an "as the crow flies" situation.
So no matter what you do, you are going to have latency when dealing with distances, and at long distances it isn't going to be trivial. The routers are going to add latency, the cable is going to add latency, translations from one form to another will add latency, and so on.
Thus the only way to have ultra low latency is to be close physically and through the Internet to your target. This is not always feasible.
The closest analog today is streaming video. And let's compare and contrast.
First, streaming pre-encoded, pre-rendered (if applicable) content is all they do. Companies trying to stream the video component of a game will require massively more amounts of computational power to do the live rendering and encoding. Also, the pre-encoding process takes advantage of both backward and forward prediction to build intermediate frames with full knowledge of what came before and what will come after a given frame. This is also something they will not have. This likely means their algorithm will not be able to compete. They say vague things like 'our algorithm is designed for gaming to get better results', but at best it sounds like they count on game output to look simplistic, which seems a poor assumption.
Video companies achieve remotely acceptable performance by extensive buffering to compensate for dips in network performance. Generally, while watching a live stream, there is always a few seconds of buffer between you and the actual end of stream thusfar. They will not have this luxury in a gaming scenario, the alternative would be to drop frames in a network performance dip.
I've only seen this work on the low-quality youtube videos (i.e. the buffer never getting drained). 'High-def' (often 720x480 is called high-def in streaming world btw, much much lower than consoles and pcs are pumping out for games commonly today) almost always stutters or has a very long pause up front while it builds up a sufficient buffer to not get exhausted. In other words, even with the advantage of not worrying about realtime considerations.
As mentioned above, the standard for remote video resolution is a *lot* lower than the standard for gaming. I expect to run at 1920x1080 on a TV and better on my PC.
Of course, as others have mentioned, simple network latency round-trip is way too high for control to feel good (I heard enough complaints about a slightly lagged TV), however this is insignificant compared to the buffering latencies that video requires to work. For video streaming, this is not an issue. The only way to mitigate this would be to have datacenters everywhere with special deals with ISPs, very much driving up costs to be even more non-competitive.
Finally, streamed video *still* has more artifacts than buying the disc or downloading the thing in advance. Trying to fit in a realistic bandwidth footprint in a streaming video context requires much lower bitrates than are comfortable. If OnLive expects to get at Video gaming resolutions.... Well... I suspect it will look badly.
XML is like violence. If it doesn't solve the problem, use more.