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

gamejs's People

Contributors

4d47 avatar adriantoine avatar danielgtaylor avatar domasx2 avatar dorisenthecat avatar fmunshi avatar gilbert avatar jlfwong avatar lvcivs avatar oberhamsi avatar rejacobson avatar robi42 avatar sorki avatar systemstart avatar tnajdek avatar troyjfarrell avatar weeezes avatar

Watchers

 avatar

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.