DailyJS

GammaJS, emscripten

Alex R. Young

Subscribe

@dailyjs

Facebook

Google+

frameworks games webgl

GammaJS, emscripten

Posted by Alex R. Young on .
Featured

frameworks games webgl

GammaJS, emscripten

Posted by Alex R. Young on .

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
Gamma
.

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();
        manager.storeLevels({});
        manager.init();
    }
);

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
documentation
, 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.

emscripten

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
demo
. If you want to
run the WebGL examples you'll need a compatible
browser
.