GithubHelp home page GithubHelp logo

hhy5277 / melonjs Goto Github PK

View Code? Open in Web Editor NEW

This project forked from melonjs/melonjs

0.0 1.0 0.0 66.34 MB

a fresh & lightweight javascript game engine

Home Page: www.melonjs.org

License: MIT License

HTML 1.03% JavaScript 97.45% Shell 0.02% GLSL 0.34% CSS 1.16%

melonjs's Introduction

melonJS

Build Status Build Size Dependencies Inline docs jsDeliver

A fresh & lightweight HTML5 game engine

melonJS

Copyright (C) 2011 - 2019 Olivier Biot

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 browsers (Chrome, Safari, Firefox, Opera, IE) and mobile devices
  • Fast Canvas and WebGL rendering on desktop and mobile devices
  • High DPI resolution & canvas auto scaling
  • Multi-channel HTML5 audio support and Web Audio on supported devices
  • Lightweight physics implementation to ensure low cpu requirements
  • Polygon (SAT) based collision algorithm for accurate detection and response
  • Fast Broad-phase collision detection using spatial partitioning
  • 3rd party tools support for physic body definition (PhysicEditor, Physic Body Editor)
  • Advanced math API for Vector and Matrix
  • Tween Effects
  • Transition effects
  • A basic set of Object Entities (to be extended)
  • Object Pooling
  • Basic Particle System
  • Basic animation management
  • Standard spritesheet, single and multiple 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, Isometric and Hexagonal maps (both normal and staggered)
    • Multiple layers (multiple background/foreground, collision and Image layers)
    • Multiple Tileset support
    • Tileset Transparency settings
    • Layers Alpha settings
    • Rectangle, Ellipse, Polygon and Polyline objects support
    • Tiled Objects
    • Flipped & rotated Tiles
    • Dynamic Layer and Object/Group ordering
    • Dynamic Entity loading
    • Shape based Tile collision support
  • System & bitmap fonts
  • Mouse and Touch device support (with mouse emulation)
  • Device motion & accelerometer support
  • Built-in support for CocoonJS and Ejecta
  • Asynchronous messaging support (minPubSub)
  • Basic GUI elements included
  • Customizable loader

Using melonJS

For your first time using melonJS, follow these tutorials :

You may find it useful to skim the overview found at the wiki Details & Usage

When starting your own projects, checkout the boilerplate

Download melonJS

The latest build (plain and minified) with corresponding release note is available for direct download here.

Alternatively, the latest version of melonJS can be installed through NPM :

$ npm install melonjs

Or can simply be added to your html, through a content delivery network (CDN) URL, using for example :

<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/melonjs.js"></script>

or the following for the minified version :

<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/melonjs.min.js"></script>

and of course the debug panel :

<script src="https://cdn.jsdelivr.net/npm/[email protected]/plugins/debug/debugPanel.js"></script>

Note: "official" CDN and NPM install are only available from version 7.0.0 and onwards.

Building melonJS

For most users, all you probably want is to use melonJS, and all you need then is just to download the latest built release to get started. The only time you should need to build melonJS is if you want to contribute to the project and start developing on it.

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

  • The Node.js JavaScript runtime and the NPM package manager

Once Node.js and NPM have been installed, you need to install build dependencies, by executing the following in the folder where you cloned the repository :

$ [sudo] npm install

Then build the melonJS source by running:

$ npm run build

The generated library will be available under the build directory.

Building the documentation

Similarly, you can build your own copy of the docs locally by running :

$ npm run doc

The generated documentation will be available in the docs directory

Testing

To run melonJS tests in node simply run the following:

$ npm run test

This will run the jasmine spec tests with the output displayed on the shell. Do note that the latest Chrome version is required, as the test unit will run the Browser in a headless mode (in case of failed tests, upgrade your browser).

WIP Builds

melonJS uses Travis-CI for automated testing and build uploads. The latest build artifacts can be downloaded from the melonjs-builds bucket.

Questions, need help ?

If you need technical support, you can contact us through the following channels :

For any other non technical related questions, feel free to also send us an email.

melonjs's People

Contributors

aaschmitz avatar agmcleod avatar dblk avatar dwkrueger2 avatar ellisonleao avatar giwayume avatar gravypod avatar insidiator avatar itsjavi avatar jdrorrer avatar jdutriaux avatar johnrayner avatar juhanapaavola avatar kaldjo avatar kibertoad avatar kkirsche avatar krojew avatar ld00d avatar ldd avatar matthewmmorrow avatar nvlbg avatar obiot avatar parasyte avatar pixelscripter avatar smuron avatar thedrumchannell avatar themanuz avatar xorinzor avatar yosuahamonangan avatar zoiba 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.