Thursday, September 4, 2014

melonJS 1.1.0 is here !

After more than 3 months, it’s now the time to unveil the exciting new features we have been slowly cooking since the last 1.0.0 release ! As you will see below, we have packed some new awesome stuff that will definitely bring a much more professional outlook to melonJS, and we hope they will get you excited as much as we do :
  • Inheritance : we have a new blazing-fast inheritance mechanism that greatly improve performances when creating and dealing with objects, if you are interested about it and looking for more details, you can also have a look at the in-depth article on Jason's blog
  • New entity design : we redesigned the previous implementation using a composition approach to provide a more modular approach, and enable faster execution time by lowering the amount of properties per object.
  • Advanced Shape support : melonJS now fully support non-rectangular (e.g. polygon, circle) shapes, including for pointer event and collision detection
  • SAT based collision detection : melonJS now implements collision detection and response based on the Separate Axis Theorem (see here for some literature on the topic), which provides a much more accurate collision detection and response
  • Fast broad-phase collision detection : using a spatial grid implementation (also known as QuadTree)
  • Collision filtering : it is now possible to finely define filtering rules for collision detection, so that your entities only collide with what they should collide with (e.g. a player entity does not need to check for collision with projectiles he is launching himself)
  • API Clean-up : some major part of the source code has been refactored, and few objects have been improved to provide a more slick and clean API
  • Bug Fixing : The usual batch of stuff that got better and faster as we fixed various bugs and issues
  • Documentation : Improved documentation with a new theme (thanks to codename) 
One big feature is however still missing here, which is the replacement of the current limited tiled based collision layer, by a shape based collision layer (now that we fully support non-rectangular shapes, and that we do implement a SAT based collision detection mechanism, it’s really a natural evolution), but this needs some further work that brings further breaking changes (especially on the entity/body objects), and we thought we should better phase this one in the next 1.2.0, and keep the same short “release” cycle (~3 months) for this one.

Full log of changes is of course, and as always, detailed here, and we also highly encourage you to carefully read the Upgrade Guide. Other usual download links, together with the online documentation are available through the melonJS website.

Last but not least I would like to thank everybody (and Andre and Ellison to name some, as they were the most active ones) for their awesome contribution on this release (either by submitting a patch, of providing feedback through development, like Brandon during the beta period) the melonJS community is getting stronger and more active everyday, and this list here above is the fruit of our growing team of enthusiasts  :)

 -- the melonJS team

No comments:

Post a Comment