Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Cocos2d X | 17,409 | 19 days ago | 1,603 | C++ | ||||||
Cocos2d-x is a suite of open-source, cross-platform, game-development tools utilized by millions of developers across the globe. Its core has evolved to serve as the foundation for Cocos Creator 1.x & 2.x. | ||||||||||
Magictools | 11,958 | a month ago | 4 | mit | ||||||
:video_game: :pencil: A list of Game Development resources to make magic happen. | ||||||||||
Spaceshipgenerator | 7,280 | 9 months ago | 17 | other | Python | |||||
A Blender script to procedurally generate 3D spaceships | ||||||||||
Melonjs | 5,506 | 1 | 4 | 9 days ago | 70 | July 29, 2023 | 32 | mit | JavaScript | |
a fresh, modern & lightweight HTML5 game engine | ||||||||||
Imagineengine | 1,648 | 1 | 3 years ago | 11 | October 22, 2018 | 27 | other | Swift | ||
A project to create a blazingly fast Swift game engine that is a joy to use 🚀 | ||||||||||
Trenchbroom | 1,486 | 4 days ago | 384 | gpl-3.0 | C++ | |||||
Cross-Platform Level Editor | ||||||||||
Godot_heightmap_plugin | 1,393 | 8 days ago | 152 | other | GDScript | |||||
HeightMap terrain for Godot implemented in GDScript | ||||||||||
Spritedicing | 1,149 | 2 months ago | mit | C# | ||||||
Unity extension for lossless sprite texture compression | ||||||||||
Texturesynthesis | 818 | a year ago | 1 | other | C# | |||||
Texture synthesis from examples | ||||||||||
Laigter | 672 | a month ago | 13 | gpl-3.0 | C++ | |||||
Laigter: automatic normal map generator for sprites! |
melonJS 2 is a modern version of the melonJS game engine that was first released in 2011. It has been rebuilt entirely using ES6 class, inheritance and semantic, and bundled using Rollup to provide modern features such as transpiling and tree-shaking.
Note: migrating an existing project to melonJS 2 (version 10.0 and higher) will definitely break your game (ES6 semantic and inheritance, nodeJS event emitter, and no backward compatibility with deprecated legacy APIs), and you might want to read first this small step by step guide on upgrading to melonJS 2. If you are looking at the legacy version (9.x and lower) of melonJS, you can find it here under the legacy branch.
melonJS is open-source, licensed under the MIT License, and actively developed and maintained with the help of a small team of enthusiasts at AltByte in Singapore.
melonJS is a fully featured game engine :
Compatibility
Graphics
Sound
Physic
Input
Level Editor
Assets
And Also
melonJS is supporting the below tools and frameworks natively or through our official plugin(s) :
Tools integration and usage with melonJS is documented in our Wiki.
You may find it useful to skim the overview found at the wiki Details & Usage
When starting your own projects, checkout our ES6 x Webpack boilerplate or the TypeScript x Vite boilerplate
A few demos of melonJS capabilities :
More examples are available here
import * as me from "https://esm.run/melonjs";
me.device.onReady(function () {
// initialize the display canvas once the device/browser is ready
if (!me.video.init(1218, 562, {parent : "screen", scale : "auto"})) {
alert("Your browser does not support HTML5 canvas.");
return;
}
// set a gray background color
me.game.world.backgroundColor.parseCSS("#202020");
// add a font text display object
me.game.world.addChild(new me.Text(609, 281, {
font: "Arial",
size: 160,
fillStyle: "#FFFFFF",
textBaseline : "middle",
textAlign : "center",
text : "Hello World !"
}));
});
Simple hello world using melonJS 2 (version 10.x or higher)
To enable an offline version of the documentation, navigate to the settings page and enable offline storage
:
melonJS provide a plugin system allowing to extend the engine capabilities.
Here is the list of official plugins maintained by the melonJS team:
If you wish to develop your own plugin, we also provide a plugin template to help you get started.
The latest builds with corresponding release note are available for direct download here.
melonJS 2 now only provides an ES6 Bundle :
build | description |
---|---|
melonjs.module.js |
the ES6 Module (ESM) Bundle |
melonjs.mjs |
a tree-shakeable ES6 Module Directory |
types/index.d.ts |
typescript declaration files for the ES6 Module (ESM) Bundle |
Note: if you need your application to be compatible with ES5, refer to our boilerplate that provides automatic transpiling to ES5.
The latest version of melonJS can be installed through NPM :
$ npm install melonjs
And then import melonjs in your project using :
$ import * as me from 'melonjs';
Or it can simply be added to your html, using jsDeliver content delivery network (CDN) :
<!-- load the ES6 module bundle of melonJS v10.0 -->
<script type="module" src="https://esm.run/[email protected]"></script>
<!-- omit the version completely to get the latest one -->
<!-- you should NOT use this in production -->
<script type="module" src="https://esm.run/melonjs"></script>
Note: starting from the 10.0.0 version, the debug plugin is no longer provided as part of the melonJS library release, and has been moved to the official boilerplate
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.
If you want to start to be part and contribute to the project, make sure to read our Contributing Guide before starting submitting changes or new features.
Support the development of melonJS by becoming a sponsor. Get your logo in our README with a link to your site or become a backer and get your name in the BACKERS list. Any level of support is really appreciated and goes a long way !