News, notes and ramblings from the Mozilla project

First 3D Commercial Web Game Powered By asm.js Unveiled

Play Monster Madness to see how it leverages asm.js, a supercharged subset of JavaScript and Web Port of Unreal Engine 3 for a slick, plugin-free multiplayer experience

Earlier this year, Mozilla and Epic Games showcased Unreal Engine 3 running in Firefox and other Web browsers using asm.js, Emscripten, and WebGL, showing the power of the Web as a platform for gaming. This demo caught the attention of NomNom Games, a subsidiary of Trendy Entertainment, who was excited about the possibility of bringing their existing Unreal Engine 3-powered titles to the Web, without the need for plugins.

Within a week, with only minimal technical support from Epic and Mozilla, NomNom was able to get the code for Monster Madness up and running in Firefox, complete with multiplayer support. Their experience led them to choose Mozilla-pioneered Emscripten and asm.js as a core part of their Web strategy. Today, we’re excited to see their first product, Monster Madness, going into public Alpha. You can try Monster Madness in Firefox, Chrome or Opera here, complete with multiplayer support. The HTML5 port of Monster Madness uses only standard Web technologies, and as such will run in any browser supporting the proper standards, leaving browsers vendors to compete on performance. In our tests Firefox runs the game best, but try and compare for yourself!

We applaud when a developer shares their insights to help other developers find solutions to similar problems more quickly. Jeremy Stieglitz, Trendy’s CTO, has written a blog post and provided a short video about their project. Their experiences should help other developers gain insight into the advantages of the Emscripten+asm.js approach to bringing games to the Web.

Thanks to the Mozilla pioneered asm.js, it is now feasible to run code compiled from languages such as C and C++ on the Web, in a way that is compatible with all modern browsers. Performance is good in all browsers, and is fast approaching that of native applications in browsers that optimize asm.js-style code like Firefox and Chrome. Mozilla has been focused on the games industry while developing Emscripten and asm.js and we are very excited to see the first commercial game make use of its speed and multi-browser compatibility. We believe adoption will continue to grow and expand into other types of content aside from games. asm.js provides developers with a large range of options in terms of which languages they can use, while preserving performance as well as the portability and ease of deployment of the Web.

We’re very excited to see NomNom and Unreal Engine use these technologies to bring games to the Web, and we look forward to playing some multiplayer action! Try it out here.