Sunday, December 14, 2014

melonJS 2.0.2 maintenance release

The forum and chat have been very busy since we launched 2.0.0 last month. Some of the questions we've seen were actually bugs in the engine, so we've been able to strengthen the framework with the help of all you developers! A trend is starting to show, where game developers experimenting with melonJS are coming back to build more games with it, using new features and taking advantage of better performance characteristics along the way.

We're very proud of what we have been able to achieve with the 2.0.x series, and the list of bugs fixed proves that we already have a very stable foundation for building great games. The first maintenance release, 2.0.1, came out at the end of November, focusing almost entirely on bugs in Audio playback. The only critical fix in that release was a special hack required for proper support on CocoonJS.

Today, we're ready to launch 2.0.2, which fixes some other rare Audio playback issues, and some documentation improvements. Two critical bugs were fixed in this release; a regression caused by the CocoonJS hack, and an improvement that fixes IE9 support. Other highlights include fixing a regression with nested containers, and fixing a few uncaught exceptions. There is one change which is not backward compatible: we have removed me.ObjectSettings. The primary reason for the removal is because it was only intended for documentation purposes, but it could be abused in game code and cause some bad/confusing bugs.

Download here: https://github.com/melonjs/melonJS/releases/tag/2.0.2

The change logs for each maintenance release:

2.0.1

  • Core : fixed loading under CocoonJS when using Canvas+
  • Shapes : replaced the isometric magic numbers used for scaling, by proper and more accurate math constants (ldd)
  • Audio : fixed sound looping
  • Audio : fixed onend callback not being repeatedly fired when looping a sound
  • Audio : cleaned the onend callback when stopping a sound
  • Audio : added a me.audio.fade() function

2.0.2

  • Audio : automatically cleanup `onend` callbacks in `me.audio.play`
  • Audio : `me.audio.play` now applies the `loop`, `onend`, and `volume` properties only to the expected sound instance ID
  • Audio : fix `me.audio.unmute()`
  • Audio : updated to the latest Howler 2.0 build (various fixes and improvements)
  • Audio : added `instance_id` parameter to `mute` and `unmute` methods
  • Audio : updated documentation
  • CanvasRenderer : fixed an issue/regression with the `globalAlpha` functions
  • Core : fixed collision detection between `me.Ellipse` (circle) and `me.Line` shapes
  • Core : fixed renderable positioning with nested me.Container objects
  • Core : fixed an uncaught exception in IE9 with Float32Array
  • Documentation : fixed anchor positioning
  • Documentation : added anchor target highlighting
  • Documentation : fixes in me.Font, me.BitmapFont, and me.Entity
  • Entity : removed `me.ObjectSettings`
  • Font : fixed globalAlpha not being set when using `me.Font.setOpacity()`
  • TMX : fixed an uncaught exception when loading a map with an empty object layer (thanks @Tiagojdferreira)

Thank you everyone who has contributed to both of these releases! Even if it's just a question, we always learn so much from the community. Sometimes we learn about a bug we can fix, or performance improvements, and even new features come out of your feedback.

Most importantly, we're always looking forward to everything that you are making! Don't forget to send us a message @melonJS to show us your progress.

- the melonJS team

No comments:

Post a Comment