GameJs is a JavaScript library for writing 2D games or other interactive graphic applications for the HTML Canvas.
Homepage: https://gamejs.org.
- gamejs.image loading image files
- gamejs.graphics image transformation (rotate, transform,...) and drawing with geometric shapes
- gamejs.font rendering text
- gamejs.event Recieve events for user input
- gamejs.audio Playback with multiple channels
- animate Spritesheets and animations
- tiledmap Load maps created with the Tiled map editor
- pathfinding A* Pathfinding
- pixelcollision Pixel perfect collision detection
- thread utilize WebWorkers
- math/noise random noise generator
- math/vectors
- math/matrix
- math/random random numbers and vectors
Load the "gamejs.min.js" script and tell the module loader where your game's main module lies (usually "./javascript/main.js"):
<script src="./public/gamejs.min.js"></script>
<script>
require.setModuleRoot('./javascript/');
require.run('main')
</script>
And inside "./javascript/main.js", you can require
gamejs
and start your game:
var gamejs = require('gamejs');
gamejs.ready(function() {
...
});
GameJs is a CommonJs package published on NPM. To use it with browserify install GameJs in your game's directory:
$ npm install gamejs
And install browserify, if you don't already have it.
$ npm install -g browserify
You can then bundle your application ("main.js") with all its dependencies - including GameJs - like so:
$ browserify ./main.js --out bundled.js
See the GameJs Website for more help or drop us an email in the Mailing List.
Example application can be found in the examples/
directory.
GameJs consists of CommonJs modules in ./src/
which we build and jshint with grunt. If you don't already have node and npm, install those. You will also need java
on your path for building the distribution file.
Install then grunt commandline interface:
$ npm install -g grunt-cli
In the GameJs folder you cloned, install the dependencies to build using npm:
$ npm install
Build GameJs:
$ grunt
This will create the gamejs-VERSION.js
file and a minified gamejs-VERSION.min.js
which you can use standalone in the browser, as demonstrated in the examples.