The latest round of browser improvements are paving the way for even more elaborate gaming experiences. In Firefox 15, Mozilla has added native support for using compressed textures in WebGL, lowering the overhead of using high-resolution images in video memory. Firefox 15 also includes support for the new high-precision time APIs, which provide support for sub-millisecond time measurement—useful for making games with lower latency, smoother animation, and properly synchronized audio.
The
BananaBread demo, a 3D first-person shooter, offers a particularly compelling example of what developers can presently achieve with WebGL, compressed textures, pointer lock, and fullscreen support. The
BananaBread engine is a JavaScript and WebGL port of the 3D game engine used in
Cube 2: Sauerbraten. The initial port was accomplished by Mozilla researcher Dr. Alon Zakai (kripkenstein in the Ars forums) using
Emscripten, a sophisticated LLVM-based tool for transpiling conventional C/C++ code into JavaScript.