Tuesday, March 8, 2011

Introducing melonJS



That's it, after all these months of work, I decided to officially give a fancy name to my library : so please welcome melonJS, my javascript game engine.

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

  • A fresh & lightweight 2D "sprite-based" engine (at least I hope to)

  • Standalone library (does not rely on anything else, except a HTML5 capable browser)

  • Compatible with most major browser (Chrome, Safari, Opera)

  • "Multiple" Audio Channel support

  • Basic physics & collision mechanisms (to ensure low cpu requirements)

  • A basic set (for now) of Object Entities (to be extended)

  • Manage basic animation (i'm looking into adding a proper spritesheet format to it, like TexturePacker)

  • A Game state "manager" (to easily manage loading, menu, options, in-game state)

  • Tiled map format version 0.6 integration for easy level design

    • Plain & Base64 encoded XML tilemap loading (compression not supported)

    • Orthogonal tilemap (isometric not suppported)

    • multiple tileset supported (one for regular tiled map, one for the collision engine)

    • Multiple layers (multiple background/Foreground layers, collision layer, “Parallax” layer)

    • Alpha settings (through the Opacity slider in Tiled)

    • Dynamic Entity loading (basically, the engine will instantiate JS object matching the object property name defined in the tilemap, and pass corresponding settings to it)



  • and others useful stuff like system & bitmap fonts, some basic GUI elements, a customizable loader, etc...


Although melonJS is still a big work in progress and in private beta, I wanted to share with you a small demo, designed using tiled, as you can see in the following picture :



and here is a quick video of the game running :







It's maybe not very clear on the video, but the game is actually running at a smooth 60fps :)

I have no plan yet to release it, as I still have a lots of things to fix, implement or optimize, and i'm actually waiting to finish a real game as a validation/test to my framework.

I'm very excited about this project, and I hope that you will be too !

Also, anyone willing to join the project is welcome, please drop me a message at "olivier dot biot at gmx dot com" if interested :)

Cheers !

2 comments:

  1. [...] plus profondément dans les possibilités offertes par HTML5, je vous conseille de jeter un oeil à http://olivierbiot.wordpress.com/2011/03/08/introducing-melonjs/, un projet plutôt sympa. 12 avr This entry was written by Lancelot, posted on 12 avr &Tue, 12 [...]

    ReplyDelete
  2. I’m very excited about this project, too.
    I hope it can support isometric map in the future.
    best luck

    ReplyDelete