Gladius, a Modular 3D Game Engine for the Web

Dan Mosedale

The Gladius team at Mozilla is releasing version 0.1 of our open-source 3D JavaScript game engine for the browser. Gladius is designed to help people write great 3D games for the open web.

What we’re releasing today is an early prototype, intended to get people’s eyes on the code, APIs, and examples as we continue to iterate. Key features of the engine for this release include an entity/component framework, WebGL graphics rendered with CubicVR.js, and 2D physics based on box2d.js. Modularity and extensibility are strong design objectives and are supported by require.js.

This release includes a standalone math library, which is the first in a set of tools and libraries which will be generally useful and reusable in other projects.

In order to be sure that the engine will be powerful and capable enough for rich, interactive 3D games, we’re collaborating with Andor Salga on a game-in-progress based on the No Comply WebGL demo. It continues to be immensely helpful as a vehicle for demonstrating how the individual pieces fit together as well as in surfacing issues with our APIs.

One thing that we’re hoping to get from this release is API feedback about the asset loader. That API is currently entirely callback-based and we’re curious whether game developers find that comfortable, or whether something that uses promises would be preferable. Please direct feedback either to this github issue or find one of us in #games on irc.mozilla.org to chat further.

More information is available on github, including a link to our short and medium-term roadmap along with the code, some examples, a tutorial, and various ways to get in touch.

– Alan Kligman and Dan Mosedale, on behalf of all the Gladius contributors