GammaJS, emscripten

2010-12-31 00:00:00 +0000 by Alex R. Young

GammaJS: A WebGL platformer game engine

Gamma (GitHub: Royce / GammaJS, MIT license) by Royce
Townsend is a library for creating browser-based 2.5D platform games. It
uses a few libraries like
RequireJS, and there's documentation that takes you through setting up

Creating a new project with Gamma basically looks like this:

require(['gma/base', 'gma/manager'],
    function(gma) {
        // The game specification is contained within this function.
        var manager = gma.manager();

The manager object
contains all the basic settings for a game, like the width, height, a
canvas element, and other higher-level objects like a list of levels.

This project has a lot of
, so if you're
looking into building a platform game with a traditional structure this
might take a lot of the drudgery out of getting a project started.


Speaking of games, emscripten
was released recently which is a LLVM-to-JavaScript compiler:

It takes LLVM bitcode (which can be generated from C/C++, using llvm-gcc or clang, or any other language that can be converted into LLVM) and compiles that into JavaScript, which can be run on the web (or anywhere else JavaScript can run).

I really enjoyed looking at the ray tracing
. If you want to
run the WebGL examples you'll need a compatible