Mozilla has just announced a major partnership with Epic Games, saying that Unreal 3 Engine support is coming to the web, thanks to Mozilla’s new asm.js, which will make it easy to port games written in native code to Javascript and WebGL, and therefore the web.
Mozilla and asm.js
Mozilla has been recently working on a way to bring native code to the web, but in a way that’s different than how Google is doing it. Google is doing it through the Low Level Virtual Machine inside Native Client, and Chrome is basically running that sandboxed native code directly (well through a VM layer, but it’s still the same native code).
Mozilla on the other hand, wants the web to remain focused on Javascript, and browsers to support only Javascript, and definitely not native code, which unless sandboxed very securely, could lead to a lot of attacks on people’s computers. Chrome’s sandbox model works pretty well so far, but I haven’t seen anyone else try it yet.
Through asm.js Mozilla has found a way that not only preserves Javascript on the web, but it’s also much less hassle for the browser makers to support it, with relatively small modifications to their own Javascript engines. I don’t see many impediments for Microsoft, Apple, and even Google to adopt it – at least not technical ones (could be political, for whatever reason, but hopefully not).
Unreal Engine 3
Epic Games is going to support asm.js and will make it easy to port Unreal 3 games (at least the OpenGL ES 2.0 mobile ones) to the web, in Javascript and by using the WebGL graphics API, which is based on OpenGL ES 2.0.
We’ve seen a few Native Client games like Bastion and AirMech, but not as many as I would’ve expected by now to be ported to the Chrome browser. I believe we’re going to see a lot more of them being ported with asm.js, especially now after Epic Games vote of confidence with built-in support for Unreal Engine 3. Mozilla may be the one to finally bring plugin-free 3D games to the web.
[Via Mozilla]