NomNom Games

Mozilla says that thanks to the upcoming Unreal Engine 4 from Epic, the Web is significantly closer to the goal of Web-based games that rock at the speed of native code.

Just in time for the annual Game Developer's Conference to be held in San Francisco next week, the joint Mozilla and Epic project demonstrates Unreal Engine 4 running on the Web without plugins. Unveiled on Wednesday, the demos of Epic's Soul and Ninja Swing games running plugin-free in the browser at near-native code speeds reveals remarkable growth in 12 months.

Related stories:

Originally announced last year, the faster browser speeds come thanks to a JavaScript code optimizer called ASM.js and the JavaScript compiler Emscripten.

Mozilla is touting the advances in ASM.js processing speed as rapid. When first announced a year ago, ASM.js was processing at two times the speed of "regular" JavaScript, but only around 40 percent the speed of native code. Improvements in the past year have brought ASM.js to around two-thirds the speed of native code.

Brendan Eich, Mozilla's chief technology officer and the inventor of JavaScript, said in a statement that the technology has helped browser-based games reach the point where they are "almost indistinguishable" from games that must be downloaded.

"Using Emscripten to cross-compile C and C++ into ASM.js, developers can run their games at near-native speeds, so they can approach the Web as they would any other platform," he said.

Games, said Jeremy Stieglitz, the chief technology officer at NomNom Games, are a logical gauntlet to put ASM.js through its paces.

"Games are a good test case because they require more processing," he said.

Unreal Engine 3 has powered some of the most powerful and most popular games around. Unreal Engine 4 is the next-generation in game development platforms, and Epic is eager to make it easier for game developers to use it once released to the public.

"Unreal Engine 4 has been re-architected for the next generation of games. We removed our proprietary UnrealScript object-oriented code and built a pure C++ engine with clean, extensible code," said an Epic spokesperson. "The wide range of integrated systems and tools developers use remain intact (with improvements), so it's still a familiar development path for folks who've used Unreal Engine 3."

Stieglitz said that besides cutting down on game download times, Web-based gaming makes it easier to help new games go viral -- or at the very least, get new players.

"We saw about half our users come to [Monster Madness, the first commercial Unreal Engine 3 game published on the Web] from the Web because it was the easiest to access. One-quarter of them came stayed on the Web version. It's now our largest user platform," he said.

Web gaming is so important to NomNom Games that Stieglitz said that the company is changing its strategy to be more Web-friendly.

"We're reorienting our development plans around the Web, and we've been very much a desktop centric developer," he said.

While Firefox for desktops and Android support ASM.js, and Google expressed interest in it, no other browser currently supports it in full.

Vladimir Vukicevic, Mozilla's director of engineering, said that he hopes that interest from gaming companies will help convince other browser vendors that ASM.js is worthwhile

"I hope that as we adopt it, other browsers will feel the pressure. We are having conversations around standardizing ASM.js," he said, noting that it was only with last year's IE 11 that Microsoft added support for WebGL.

He added that there's more to ASM.js than just games.

"ASM.js allows developers to solve problems in the native space that don't exist on the Web, such as speech recognition, speech synthesis, optimise parts of an app, image processing," he said.

Vukicevic said that the Web's appeal is that it's a communal place for "high-end experiences." Well, not quite yet, but it's a lot closer than it was a year ago.