Skip to main content

How Google is Turning Chrome Into a Gaming Platform

I can remember a chat I had about two years ago with a Microsoft employee very well. In that conversation, we discussed the difficulty of enabling a multi-threaded browser and accelerating possible future applications with many-core CPUs and GPUs. It felt like science-fiction back then, but it's become a reality today. The current hardware acceleration and rendering engines, in combination with much more nimble JavaScript abilities, have given us browsers with a hidden potential that is difficult to appreciate today.

HTML5-based web apps are predicted to take advantage of the new horsepower in web browsers, but what we see today are mostly just demos and explorations of a technology platform that is likely to change software as we know it. Among the most dramatic changes may be video gaming, which could soon showcase the potential of HTML5. It is Google that is carrying video gaming into a new age by illustrating, one more time, how the browser interface could replace the traditional OS UI soon. Here are three specific examples of Google's initiative. 

1. NaCl

Two weeks ago, Google announced that it has enabled Native Client (NaCl) in Chromium. This approach allows developers to run native C and C++ code inside a sandboxed environment within Google's browser via Pepper APIs. (The technology is being provided to developers via the NaCl SDK.) At the time, Google said that NaCl supported 2D graphics, stereo audio, as well as URL fetching and local file access. What Google did not say is that it has also been working on NaCl 3D, which is implemented in Chrome with the sole purpose of enabling much more complex and better detailed games within the Chrome browser, and particularly in their Chrome OS.

Seth Ladd, a developer on the Chrome team, already teased the arrival of NaCl, but didn't mention that the feature had already been integrated into Chromium. A quick search through the Chromium revision log reveals that NaCl 3D made its first nightly build appearance last Wednesday in build 98083. It became functional, at least in part, in build 98534, which was released last Friday. Until we see what NaCl can do, its ability is pure speculation. I would not be surprised if we saw big games running within Chrome in the not too distant future, though. On that note, some readers may have also heard of DOS games running in Chrome. NaCl, however, targets much more current and demanding video games.

2. New Game

Google is heavily pushing New Game - a conference for HTML5 game developers. We have seen such game developer rally events before, but they have been mainly online, such as Mozilla Labs Gaming. This event has a different dimension to it. Google says there will be "hundreds" of game developers at the two-day event, with feature panels and tech sessions with developers who are taking their games to the web. There will be a casual focus to this conference, but watch out for some serious games as well as they are expecting pretty impressive browser games, such as Codemasters' Formula Online early in 2012. EA's Rich Hilleman will be keynoting at the conference.

What is noteworthy about New Game is that it is not an event about future technologies for visionaries. New Game will focus on what is possible today with technologies such as WebGL and Canvas2D. This is an event designed to bring developers up to speed on what they can use now, and hopefully motivate them to get started developing immediately.

3. Joystick API

Last week, I noticed an interesting entry on the Webkit developer message board that discussed a Joystick API. The origin of this API is apparently a feature request that was posted on Mozilla's Bugzilla in October 2010 by Ted Mielczarek. Mozilla has started a Wiki about a "JoystickAPI", but it is not clear how far this idea has gone to date. What we know is that Google picked up the idea, threw it in a quick discussion in the Webkit forum, then subsequently submitted it as a discussion topic at W3C.

The idea behind such an API is to enable joysticks and gamepads to interact with a browser. Apple chimed into the discussion and noted that the API could be extended to a much greater range of input devices, such as remote controls and other assistive devices. Perhaps it is just me, but Google isn't wasting any time with such ideas. The Joystick API isn't even at the proposal stage at this time, but there is a general sense that this may only be a matter of time.

The bottom line is we are seeing a general trend toward gaming in the browser window. We see it in Firefox, IE, and especially Chrome, as Google is driving this trend presently in the most aggressive way, and with good reason to do so. If Google wishes to enable gaming in Chrome OS, gamepad support would be a great feature. Playing serious video games in a browser window could become a reality as early as next year.