OTOY Server-Side 3D Rendering is Taking the Wrong Path

OTOY is the latest company that plans to build what is essentially a distributed gaming service that let users play on any internet-connected computer or mobile device without buying a powerful machine. Even better, OTOY claims that it can bring gaming with movie-like graphics “like Transformers or WALL•E” over the web, according to TechCrunch. Powerful hardware can mean Gaming PC, Xbox 360 or PS3. While I’m sure that OTOY has good reasons to be self-confident, I’m also skeptical about the vision that they are pitching. To fulfill it, OTOY will have to solve two parts: deliver the high-end graphics and build a working business model. I would argue that tackling the high-end graphics too early is a mistake that would do little good and is likely to hurt badly.

Every year for the past seven years, you have heard someone claim that we reached “Real-time Cinematic Rendering”, right? But if you have watched Kung-Fu Panda, it’s obvious that real-time rendering is not anywhere close. There’s nothing surprising: movie frames each take several hours to render while a real-time application has only a fraction of a second to do so (less than 0.33 seconds for a speed of 30 frames per second). In short, I think that the claim that we will get Pixar-Level quality rendering in real-time is just vapor. That’s a classic PR hoop, but hey, there’s always someone to fall for it.

But the real “graphics” problem that OTOY has to face is not the rendering, it’s the infrastructure. Distributed high-end gaming in “the cloud” (yeah, let’s make sure that we put a cool keyword”) is far from being a slam dunk. There are several critical issues to solve, some of which are completely outside the control of OTOY.

a/ Network

Reactivity is a crucial element in any interactive application and even more so when you’re (virtual) life depends on it. Jules Urbach (OTOY’s CEO) claims that his company can deliver up to 220 frames-per-second over the network. The question is: in what conditions? In what video resolution? And most importantly, with what latency? Don’t forget that additional latency will be introduced by the compression of the final image, before it is sent back to the user. The network aspect is completely outside of OTOY’s control and in the hands of the Internet Service Providers and unfortunately, networks don’t evolve as fast as GPUs.

b/ Scaling

The easy way to do it is to allocate a whole server per user – that would be the equivalent of “rent a gaming rig”, but over the web. It’s not really rendering “in the cloud” (not distributed), but more like rendering on a remote server (like gaming over remote desktop…). With this approach life is not too bad for OTOY, but they would make a poor use of the “dormant” processing power (the idle servers). On the other hand, trying to distribute a game rendering over several servers might become problematic, because the GPU “context” (all the information needed to render an image) can be as big as several hundred megabytes, if you include the needed textures, so sending “work” to another server would involve moving too much data. On the contrary, attempting to run several less demanding games on the same server might also be problematic, because most apps assume that they own the server’s resources exclusively. Now, there’s virtualization, but I don’t think of it as being a gaming-friendly technology, yet. Conclusion: this doesn’t look like the most optimal datacenter usage.

c/ Electric consumption

We all have heard of datacenters facing power issues, but have you looked at the kind of electrical power that a gaming rig requires? Some gaming rigs require up to 1200W. Worse, we’re looking at an idle (when doing nothing) power consumption north of 400W with a triple graphics cards setup. With that sort of power usage, OTOY might not be welcome in many datacenters.

d/ Graphics evolution

I want to play the latest game without shelling $650 for the latest GPU(s) – that’s why I would pay OTOY. However, this is also a heavy burden for the company: someone has to buy the new killer GPU for top dollars and guess who’s going to do it? OTOY will have to upgrade its datacenter often, reducing the time that it has to amortize the servers, especially in comparison with a traditional “cloud” company (AMD won’t provide free GPUs forever). Again, that’s not your dream datacenter from a commercial perspective. Finally GPUs evolve so fast that last semester’s top of the line GPU is now a much cheaper card, so the value of using the remote rendering service diminishes over time.

2/ Business

Now it’s not clear how OTOY will charge its customers, or even who the customers are. They might try to become a B2B infrastructure company, or a consumer-oriented service. Going B2B is easier, because they can gradually grow on the terrain of their choosing, let’s say something easy and with low-expectations like a virtual world. Making a move towards consumers and gaming would be much more difficult. For one, OTOY needs to convince partners like EA to adapt the games to their environment. It will also be very expensive to reach a critical mass because it’s an egg/chicken situation: no applications, no customers. No customers, no applications. And if customers come, the infrastructure needs to be ready… Well, fortunately, there’s Venture Capital money… hopefully.

I think that pitching a gaming experience with “movie-like graphics” is just a bad idea. For one, OTOY cannot deliver without the help of gaming companies. This is yet another thing that the company has no control over. For the game makers, creating “Transformer”-level graphics is worth it only if they can make the money back in sales, which might be true only if the service is hugely successful… back to the chicken and egg paradigm. Most games are built for a technical common denominator like the Xbox 360 even if modern PCs are capable of a lot more. It’s not new: the PC industry has been complaining about it for years. It gets worse: without the “enhanced” content, what’s the incentive to use the service?

Instead, OTOY should start by casual games and older PC games market. It’s a genre that consumers would play, but are unlikely to buy. Game developers would be more willing to work a “little more” on an old title to make it available “on-demand”, and that would give OTOY an opportunity to work on many issues like: developer relations, distributed gaming computing, content distribution, secure billing, network latency, network bandwidth and so on… until they have a platform that works and the consumer base that will entice customers to build better graphics. In a sense, it’s like creating a new game console. If not, OTOY can use its technology to make a great 200fps Remote Desktop application – seriously!

Of course, it is understandable that, in order to raise funding, one has to pitch something like “we are the future of all gaming – in the cloud, and we’ll be social in some ways” (my overstatement, and again, don’t forget the cool keywords!). It sounds good, but that looks more like a great way to become an investor’s money “black hole”.

Update 03/25/2009: A company called OnLive is doing just what I recommended two paragraphs above: instead of trying to make the games look better and have game devs create new content, they simply focus on getting existing games to work remotely. It might sound less sexy, but their stuff is solid enough to make public demos in front of the game community at GDC 09. There are plenty of problems to solve, but focusing on the fundamentals is probably a smarter way to go.