Mozilla Gladius Game Engine Reaches V0.1

If JavaScript is going to be used to implement online games it needs more than just WebGL’s 3D graphics to build on – it needs a game engine. So, Mozilla is hard at work creating Gladius.

Modern browsers, with the exception of Internet Explorer, have a 3D graphics system – WebGL. In principle you could use this to create any game you care to think up, but it would be hard work. WebGL is a thin JavaScript wrapper around OpenGL. In other words, it is fairly low level. What you need to create a game is a game engine which uses the low level 3D system to display the elements of the game and which lets you define the objects that make up the game in a more abstract way.

Mozilla started work on just such a game engine some time ago and it has just reached version 0.1. It is still at the early prototype stage, but it is usable – as long as you are prepared to find out how it works by reading the code. There is an introductory tutorial, but it isn’t well explained and it runs out very quickly.

The new release includes an entity/component style framework for game resources and the rendering is performed by the CubicVR library. The good news is that the Mozilla team isn’t trying to reinvent the wheel – it is reusing existing code to get the engine up and running quickly.

At the moment there is no 3D physic engine, but box2D is incorporated for 2D physics. There is also a new standalone math library.

As a sanity check a demo 3D game is being developed at the same time as the engine based on the No Comply WebGL demo.

If you want to get involved in trying out Gladius, your main task will be to find your way though the undocumented code. As with many an open source project, the documentation lags behind the code. In this case there isn’t currently even a listing of objects included in the API. Fortunately the code is written in an excellent style and this makes it easier to read, but even a fragment of documentation might create some enthusiasm in prospective users. My advice is to look at the CubicVR documentation for clues as to how Gladius works.

Gladius on github

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: