{"id":8385,"date":"2012-04-12T18:38:43","date_gmt":"2012-04-12T18:38:43","guid":{"rendered":"http:\/\/blog.mozilla.org\/labs\/?p=8385"},"modified":"2012-04-12T21:51:00","modified_gmt":"2012-04-12T21:51:00","slug":"gladius-a-modular-3d-game-engine-for-the-web","status":"publish","type":"post","link":"https:\/\/blog.mozilla.org\/labs\/2012\/04\/gladius-a-modular-3d-game-engine-for-the-web\/","title":{"rendered":"Gladius, a Modular 3D Game Engine for the Web"},"content":{"rendered":"<p><a title=\"No Comply Game Screenshot\" href=\"http:\/\/blog.mozilla.org\/labs\/files\/2012\/04\/no-comply.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignleft  wp-image-7721\" src=\"http:\/\/blog.mozilla.org\/labs\/files\/2012\/04\/no-comply.png\" alt=\"\" width=\"370\" height=\"280\" \/><\/a>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.<\/p>\n<p>What we&#8217;re releasing today is an early prototype, intended to get people&#8217;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 <a href=\"https:\/\/github.com\/cjcliffe\/CubicVR.js\/wiki\/Examples-and-Demos\" target=\"_blank\">CubicVR.js<\/a>, and 2D physics based on box2d.js. Modularity and extensibility are strong design objectives and are supported by require.js.<\/p>\n<p>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.<\/p>\n<p>In order to be sure that the engine will be powerful and capable enough for rich, interactive 3D games, we&#8217;re collaborating with Andor Salga on <a href=\"http:\/\/asalga.wordpress.com\/2012\/01\/25\/no-comply-game-prototype-with-processing\/\" target=\"_blank\">a game-in-progress based on the No Comply WebGL demo<\/a>. 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.<\/p>\n<p>One thing that we&#8217;re hoping to get from this release is API feedback about the asset loader.  <a href=\"https:\/\/github.com\/gladiusjs\/gladius-core\/blob\/develop\/example\/cube\/cube.js#L96\" target=\"_blank\">That API is currently entirely callback-based<\/a> and we&#8217;re curious whether game developers find that comfortable, or whether something that uses promises would be preferable. Please direct feedback either to <a href=\"https:\/\/github.com\/gladiusjs\/gladius-core\/issues\/127\" target=\"_blank\">this github issue<\/a> or find one of us in <a href=\"irc:\/\/irc.mozilla.org\/#games\">#games on irc.mozilla.org<\/a> to chat further.<\/p>\n<p>More information is available <a href=\"https:\/\/github.com\/gladiusjs\/gladius-core\" target=\"_blank\">on github<\/a>, including a link to our <a href=\"https:\/\/github.com\/gladiusjs\/gladius-core\/wiki\/Roadmap\" target=\"_blank\">short and medium-term roadmap<\/a> along with the code, some examples, a tutorial, and various ways to get in touch.<\/p>\n<p>&#8212; Alan Kligman and Dan Mosedale, on behalf of all the Gladius contributors<\/p>\n","protected":false},"excerpt":{"rendered":"<p>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. <a class=\"go\" href=\"https:\/\/blog.mozilla.org\/labs\/2012\/04\/gladius-a-modular-3d-game-engine-for-the-web\/\">Continue reading<\/a><\/p>\n","protected":false},"author":336,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[20250,19270],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.mozilla.org\/labs\/wp-json\/wp\/v2\/posts\/8385"}],"collection":[{"href":"https:\/\/blog.mozilla.org\/labs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.mozilla.org\/labs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/labs\/wp-json\/wp\/v2\/users\/336"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/labs\/wp-json\/wp\/v2\/comments?post=8385"}],"version-history":[{"count":0,"href":"https:\/\/blog.mozilla.org\/labs\/wp-json\/wp\/v2\/posts\/8385\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.mozilla.org\/labs\/wp-json\/wp\/v2\/media?parent=8385"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mozilla.org\/labs\/wp-json\/wp\/v2\/categories?post=8385"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mozilla.org\/labs\/wp-json\/wp\/v2\/tags?post=8385"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}