Giter Site home page Giter Site logo

melonjs's Introduction

melonJS

A fresh & lightweight HTML5 game engine

Copyright (C) 2011 - 2013, Olivier Biot, Jason Oster

melonJS is licensed under the MIT License

About melonJS

melonJS is the result of our enthusiasm & experiments with Javascript, and currently features :

  • A fresh & lightweight 2D sprite-based engine
  • Standalone library (does not rely on anything else, except a HTML5 capable browser)
  • Compatible with most major browser (Chrome, Safari, Firefox, Opera, IE)
  • Multiple Audio Channel support
  • Basic physics & collision mechanisms (to ensure low cpu requirements)
  • Basic Vector Math
  • Tween Effects
  • Transition effects
  • A basic set of Object Entities (to be extended)
  • Object Pooling
  • Basic animation management
  • Standard spritesheet and Packed Textures (Texture Packer, ShoeBox) support
  • A state manager (to easily manage loading, menu, options, in-game state)
  • Tiled map format version +0.9.x integration for easy level design
    • Uncompressed Plain, Base64, CSV and JSON encoded XML tilemap loading
    • Orthogonal tilemap with built-in collision management
    • Isometric, Perspective tilemap support
    • Multiple layers (multiple background/Foreground, collision and Image layers)
    • Multiple Tileset support
    • Tileset Transparency settings
    • Layers Alpha settings
    • Tiled Objects
    • Flipped & rotated Tiles
    • Dynamic Layer and Object/Group ordering
    • Dynamic Entity loading
    • Solid, Platform, Slope and Breakable Tiles
  • System & bitmap fonts
  • Mouse and Touch device support (with mouse emulation)
  • Built-in support for cocoonJS
  • Asynchronous messaging support (minPubSub)
  • some basic GUI elements
  • a customizable loader, etc...

Building melonJS

To build your own version of melonJS you will need to install :

  • the Node.js JavaScript runtime and npm package manager
  • the Grunt task manager

Once the Node.js package manager has been installed (using the installer from their website), we need to install Grunt and the Grunt CLI (Command Line Interface), by doing the following :

Open a Terminal or a Commmand Prompt and type the following :

$ npm install -g grunt-cli

then we can install the melonJS required dependencies, by typing :

$ cd melonJS
$ npm install

Once all the above done, we are ready to build melonJS :

$ cd melonJS
$ grunt

Both plain and minified library will be available under the "build" directory.

Building the documentation

melonJS uses JSDoc3, the documentation processor, and requires Java to be installed, and a special JAVA_HOME environment variable to be set. E.g. for Mac OS X :

$ export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Home

And for Ubuntu:

$ export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")

JSDoc also requires specific dependencies to be installed :

$ cd melonJS/tasks/jsdoc
$ npm install

Then do the following to actually build the documentation :

$ cd melonJS
$ grunt doc

The generated documentation will be then available under the "docs" directory

Using melonJS

Follow the tutorial here to get started !

Note that due to the 'cross-origin request' policy implemented in most browsers (that prevents from accessing local files), you will need to either disable this security check (see the tutorial), or better use a "personal" local web server.

Questions, need help ?

If you need help, you can try the melonJS developer forum, or in #melonjs on irc.freenode.net. For any other questions, feel free to send us an email.

melonjs's People

Contributors

agmcleod avatar bsparks avatar dblk avatar eberan avatar finaiized avatar jdutriaux avatar jvalduvieco avatar lsix avatar nvlbg avatar obiot avatar parasyte avatar shaneriley avatar smuron avatar thurn avatar vegar avatar

Watchers

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