Code Monkey home page Code Monkey logo

gamejs's Introduction

GameJs

GameJs is a JavaScript library for writing 2D games or other interactive graphic applications for the HTML Canvas http://gamejs.org.

Usage

Depending on how you got GameJs:

Option 1: zip release

Extract the zip file and try the examples in the zip file over http://.

Option 2: Node package registry

After you installed gamejs, you can use a bundler like browserify to run your code on the client. Here's a small example:

cd ~/my-web-game/
npm install gamejs
npm install -g browserify
browserify ./main.js --out bundled.js

Option 3: using the git version

You will have to build GameJs. Go to the GameJs directory and execute this in a unix shell, cygwin or in git bash:

$ ./bin/build.sh

This should create the gamejs.min.js file in the GameJs home directory.

Minimal example

Load the gamejs.min.js file and tell the module loader where your "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() {
   var display = gamejs.display.setMode([600, 400]);
   display.blit(myImage);
   ....
});

More Help

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.

Bundle your application for production

A bundled game:

  • does not need to be served over http:// (unless it uses SurfaceArray)
  • has a smaller file size
  • has somewhat obfuscated code

To bundle all JavaScript files into one single file, use:

$./bin/minify-app.sh ./path-to-your-app/javascript/

You can also add a second argument compress. With compress, the resulting bundle file will be compressed for smaller file size as well as obfuscated.

minify-app.sh will create the bundled file app.min.js in your app's javascript folder.

With browserify

If you already have nodejs installed, this might be convinient:

npm install -g browserify
npm install gamejs

GameJs Contribution

Don't forget to ./bin/build.sh when modifying the source.

All applications use a bundled JavaScript file which contains all the GameJs source files; thus if you modify the files below ./lib your changes won't show up in the examples unless you re-build the source files with the ./bin/build.sh command.

Unit Tests

We use QUnit https://github.com/jquery/qunit for the GameJs unit tests. Execute the tests by opening tests/index.html.

JsDoc

For the JavaScript documentation system, RingoJs must be installed on your system.

$ ./bin/create-jsdoc.sh

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.