Mozilla has been pioneering different browser related technologies just as much as other competing companies and organizations have been, too, and one their focuses is on gaming. It might seem a bit strange to associate browser gaming to anything more than just the casual adventure we might partake of on an intermittent basis, but the underlying technologies can actually give us access to more powerful and interactive Internet experiences, and Mozilla is excited about being able to bring that to life as they continue to expand and grow the WebGL extentions in FireFox as well as allowing access to even lower-levels of functionality.
There's a lot that's going on right now, and it's exciting to think that those simple web-games we used as escapes are becoming much more than that, even full blown-VR experiences. In fact, 3D games in a browser have already come a long way from where they once were. Turbulenz is a good example of a custom engine running over WebGL. Quake4 has been recreated with the engine, and it looks nearly as good as on PC. This is really only the beginning, with more advanced and better looking games and even full 3D modeling programs available in-browser. The possibilities are endless.
We got the chance to talk with Martin Best, Mozilla's Director of Platform Product Management, about what the future holds, and he's excited about what the future holds.
Quake 4 in Turbulenz
What has been done to optimize WebGL over the past year?
We have been working to improve the performance, reach and capability of WebGL. WebGL 2 is in development and already in Firefox Nightly for testing. It brings new capabilities to allow developers to push the graphic fidelity of their experiences to higher levels. We are also investing in other areas that dramatically improve performance of games, such as SIMD support, WebAssembly, Shared Array Buffer and moving more APIs into Web Workers. All this comes together to unlock more power for developers.
What engines can be run in a browser? Which ones run best?
Currently we are aware of several, including Unity3D and Unreal Engine 4. Autodesk also showed an initial preview of Web export for their Stingray engine at our GDC booth. We have also seen more general tools like Adobe's Animate CC export to WebGL. King.com's Defold engine also supports exporting to the open Web game stack. It's also important to highlight companies building tools and engines specifically for the web such as Playcanvas, Turbulenze, and Goo Technologies. They are doing amazing things targeting mobile and designed to be very lite weight. Our WebGL 2 demo was done in Three.js, another popular engine.
As for which runs best, it really depends on what you are trying to do, they all have their pros and cons.
How does WebGL and asm.js operate on a low level? How efficient is it?
WebGL and asm.js are very low level abstractions. The best way to think about them is as a virtual GPU and CPU. This allows us to get very close to native speeds. WebAssembly continues down this same path and provides a more streamlined version that offers smaller downloads, faster load times, reduced memory usage and higher throughput. This also sets the stage for this technology to become relevant on mobile in addition to what we already see happening on desktop.
Could we see VR experiences rendered through the browser?
What do you see for the future of Web gaming? Where do you want it to go?
Mozilla pioneered and supports a wide variety of open Web technologies. We champion their use because this gives players instant access and friction-free game play across all supported Web devices. The future is Web games and their adoption is certainly growing. Over time, consumers will be able to find more and more of these games on the Web. To get there it's going to be technologies like WebAssembly and WebVR to driving Web games forward. That's why we are working on improving the current stack to make it work for more users, faster and with better overall performance to help developers maximize their ROI. We are also in active, ongoing discussions with other browser vendors about advancing the Web game stack and some of our early efforts there can be found at openwebgames.com.
Do you think we could ever see compute workloads being done in-browser?
Why is this important for gamers?
Web games give players instant access and friction-free game play across all supported Web devices. At the same time, the Web is also a great place for developers to find audiences and increase revenue. As an example, we have seen mobile developers finding additional revenue opportunities on the Web, thanks to being able to publish outside of highly crowded app store ecosystems. Browsers are also transitioning away from plugins. New Web technologies are providing developers an alternative path to provide these same experiences that once relied on plugins. There are millions of people that play games on the Web today and these new technologies allow game developers to keep pushing those experiences to exciting new levels.
Thank you Martin for your time, we appreciate you taking the time to answer some of our questions about WebGL and where it's going. It does indeed look like the future is bright, enough so that there are as many opportunities for gaming success in the browser, as there are elsewhere.