Playing MarioKart 64 From a Browser
David Perry, of GaiKai has a demo up of GaiKai's technology. This allows users to play any video/computer game they have installed on their servers from any web browser on any computer. That's right, it reads your clicks, sends them to the server, which generates video and audio which is streamed back to the client.
(1) No installing anything. (I'm running regular Windows Vista, with the latest Firefox and Flash is installed.)
(2) This is a low-spec server, it's a very custom configuration, fully virtualized. Why? To keep the costs to an absolute minimum. We had 7 Call of Duty games running on our E3 demo server recently.
(6) We designed this for the real internet. The video compression codecs change in realtime based on the need of the application (or game), and based on the hardware & bandwidth you have. (For Photoshop we make sure it's pixel perfect.)
(7) Our bandwidth is mostly sub 1 megabit across all games. (Works with Wifi, works on netbooks with no 3D card etc.)
Make no mistake, this is an impressive technological acheivement. I'm just not sure what its good for.
David claims a ping time of 21 ms from LA to Fremont, CA (20 miles from here, 400 miles from where he sits, in LA). I think that's probably only achievable with commercial service DSL or T1 or something. Well, I checked ping times to Google (83ms) and Yahoo(15ms) just now.
You see, your mileage may vary. This gets to the main point of my skepticism. It's called control loop latency. The longer it takes for you to see the results of your changes in control show up, the harder it is to control. And remember, the games already have some control latency, it's inevitable. Computers are fast, but not instantaneous. At 30 fps, there is a guaranteed latency of about 33ms and video systems these days often introduce another 33ms of delay with buffering systems built into the monitor or projector.
Let me highlight the issue with a game that should be familiar to most of you. Just today I adjusted the sync on RockBand and it measured at about 70ms. I had it set for about 40ms, and the game felt wrong. I couldn't tell what was wrong, but I was missing a lot of basic repeated beats that should have been easy, but I'd keep breaking streak on them. It was just off. After I reset the calibration, BAM! Stuff that should have been easy, was, in fact, easy. That was from an adjustment of about 30ms.
So, this stuff matters. But the less synchronization a game needs, the less it will matter.
My second concern is the cost model, David said they had 7 copies of Call of Duty 3 running on one server for an E3 demo they gave. Meaning that for every 10 players (lets be generous) you need another server. And there's a fairly high maintenance cost, since all the software must be installed and updated, on perhaps all the machines.
If you go with servers that are dedicated to a particular game, it makes install and patches much easier, but then you have sort of a forecasting problem. After all, how is a customer going to feel when he or she wants to log in on, oh let's say, the 4th of July weekend from Mom and Dad's computer and there's no server available.
Long-term, I could see mmo type companies using GaiKai as their primary hosting, provided their game design avoids the need for high responsiveness in the control cycle. Just as a for instance, Illusionist DPS depends greatly on speed casting, at a rate of one spell about every 800ms. This could have big problems with Akai. A slower caster, like my Defiler, would have less of a problem. But timing your spells with your autoattack swings could become trickier. Still, that already has to deal with control latency.
In any case, that's a lot more computing power per player on the server side of the internet than is there today. How will that cost be supported? Ultimately, the players of games will pay for it, so the question becomes how much will players be willing to pay for no download/install/patch time and play-anywhere?
Yeah, I'm not thinking it's all that much, either. The answer has to be "considerably less than I'd pay for nice laptop that can play the game". The upside is that the platform requirement under this just became really low, and Blizzard has shown what a good thing that is.
Still, I think there has to be a killer app for this technology. Maybe it will kill off flash games? Invent a whole new genre of games? Hard to say.
What do you think?