melonJS

a fresh, modern & lightweight HTML5 game engine

MIT License

Downloads
996
Stars
5.7K
Committers
82

Bot releases are hidden (Show)

melonJS - v14.0.2

Published by obiot about 2 years ago

Fixed

  • Build: fix wrong distribution files being published on NPM
melonJS - v14.0.1

Published by obiot about 2 years ago

Fixed

  • Physic: fix faulty colllision detection under certain circumstances
melonJS - v14.0.0

Published by obiot about 2 years ago

Added

  • UI: New UIBaseElement class, a clickable container base UI element (thanks @wpernath)
  • UI: New UITextButton class, a clickable roundRect & Text base button (thanks @wpernath)

Changed

  • Core: Build process will now only output a ES6 Bundle and the TS Declaration, ES5 is now fully deprecated
  • Test Units: replaced the "old" ES5 based Jasmine+Karma framework by a modern ES6 based Mocha+Puppeteer one (thanks @L1lith)
  • UI: the base GUI_Object class is now deprecated and replaced by UISpriteElement, a Sprite based clickable element

Fixed

  • Build: fix typescript generation (d.ts), no more missing API or modules
  • Container: fix Container class initialization when no default viewport have been created
  • Core: fix a regression with Ejecta platform detection (following ES6 refactoring)
melonJS - v13.4.0

Published by obiot about 2 years ago

Added

  • BitmapText: melonJS will now throw a warning message in the console, instead of failing silently, if a Glyph is not defined for a given character (thanks @wpernath)

Fixed

  • BitmapText: fix kerning when scaling BitmapText objects (thanks @SiLiKhon)
melonJS - v13.3.0

Published by obiot about 2 years ago

Added

  • Documentation: enable offline documentation access with the latest webdoc 2.1 version

Changed

  • Readme: replace link to the latest tutorial
melonJS - v13.2.1

Published by obiot about 2 years ago

[13.2.1] (melonJS 2) - 2022-08-22

Fixed

  • Release date and version/change tracking

[13.2.0] (melonJS 2) - 2022-08-22

Added

  • Geometry: new base Point geometry object
  • Tiled: now properly support Point geometry if defined in a map

Changed

  • Core: replaced internal reference to the deprecated trim[Left/Right] methods by their trim[Start/End] equivalents
  • WebGL: dissociate the preMultipliedAlpha setting from the transparent one since those are 2 different things

Fixed

  • BitmapText: fix improper fillStyle initialization in BitmapText (thanks @wpernath)
  • Canvas: fix the "transparent" canvas mode with the canvas renderer (thanks @wpernath)
  • Sprite: properly apply a tint when passed through the settings to the constructor
  • WebGL: fix a regression with global opacity not being properly cascaded to texture in WebGL mode (thanks @wpernath)
melonJS - v13.1.1

Published by obiot about 2 years ago

  • Release date and version/change tracking
melonJS - v13.1.0

Published by obiot about 2 years ago

Added

  • Color: added a setHSL(h, s, l) and setHSV(h, s, v) method to the Color class
  • Tiled: add support for the new class property (note: melonJS will still set the deprecated type one for backward compatibility)
  • Renderer: Canvas rendering mode can now be forced by adding [#/&]canvas to the URL (similarly with WebGL1/2 already)
  • Vector: new moveTowards() method for [Observable]Vector2d/3d objects (limited to x and y axis for 3d vectors)

Changed

  • Renderer: the double-buffering option for the Canvas Renderer is now deprecated, this to better align both renderer and enable further improvements

Fixed

  • 9-Slice Sprite: fix resizing of a 9-slice sprite (thanks @NemoStein)
  • Tiled: fix missing text property in TMX Object documentation
  • Vector: fix lerp() not triggering the callback in ObservableVector2/3d objects
  • Renderer: fix the manual canvas scaling option (thanks @NemoStein)
melonJS - v13.0.0

Published by obiot over 2 years ago

added

  • Event: also provide a reference to the camera viewport being resized when emitting VIEWPORT_ONRESIZE
  • Unit Test: added base64 encoded data preload testing for image and audio assets
  • Utils: new isDataUrl() helper returning true if the given url is in the data:[<mediatype>][;base64],<data> format.

Changed

  • Core: full ES6 refactoring of me.device, and API clean-up (@see https://github.com/melonjs/melonJS/wiki/Upgrade-Guide#120x-to-130x-stable)
  • Game: refactoring of the global game into an instantiable Application object, with game now being the default instance of it (@see #1091)
  • Loader: onload and onerror callbacks are now optionals when directly loading assets (easier with base64 encoded assets)
  • Physic: World physic implementation is now properly tight to its corresponding parent application/game (@see #1091)
  • Physic: Gravity is now properly applied as a force, instead of directly modifying a body velocity
  • Physic: Gravity now properly takes in account the body mass
  • Physic: resulting force is now properly cancelled at the end of an update cycle (not required anymore to manually set it to 0 in user code)

Fixed

  • Doc: fix missing Timer documentation following previous refactoring
  • Loader: fix loading/preloading of base64 audio assets, and base64 encoded FontFace
  • Renderer: fix a regression with the masking features in the Canvas Rendering mode
  • Text: fix an uncaught exception when removing Text object from the game world that use offScreenCanvas texture caching (thanks @wpernath)
melonJS - v12.0.0

Published by obiot over 2 years ago

this release mostly contains the new melonjs logo/rebranding.

Changed

  • Loader: the default loading screen has been updated with the new melonjs logo
  • String: replaced own trim[left/right] functions with native es10 equivalent (with polyfill)
melonJS - v11.0.0

Published by obiot over 2 years ago

Added

  • Event: new DOM_READY event triggered when the DOM is loaded and ready (now used internally to trigger the onReady() function)

Changed

  • Renderable: update the Light2d constructor to allow creating elliptical shaped lights

Fixed

  • Core: fix an uncaught exception when using parcel (thanks @8Observer8)
melonJS - v10.12.0

Published by obiot over 2 years ago

Added

  • State: new get(state) function that return the instance to the Stage associated with the given state

Changed

  • Physic: simplify the collision api and implementation (removed collision.response that serves no purpose anymore)
  • Pooling: silently fail if internally failing at recycling body physic shapes

Fixed

  • Physic: fix a regression with Ellipse vs Polygon SAT collision detection
  • Text: make sure the optional x and y arguments of the draw method are set to a default value
  • TypeScript: fix and uniform draw method signature across all renderables
  • TypeScript: fix typings for the onCollision method
  • TypeScript: fix setMaxVelocity and setFriction method scope
  • Webdoc: fix wrong or missing argument names (Path2D.arcTo, Rect.centerOn, Texture.AdduVs)
melonJS - v10.11.0

Published by obiot over 2 years ago

Changed

  • Core: fix all rollup "$1" related duplicated declaration and/or export
  • Core: refactored Timer into an instantiable class with timer (namespace) now being the default instance of the Timer class
  • Doc: replaced JSDoc by Webdoc for documentation generation (huge thanks to @ShukantPal)

Fixed

  • Bounds: fix the addFrame() method
  • Core: fix a regression when accessing localStorage
  • Core: fix a regression when when running melonJS in node.js (undefined global reference in the roundRect polyfill)
  • Geometry: fix the RoundRect clone() method
  • Input: fix PointerEvent detection on Firefox for Android mobile (thanks @kutyamutya)
  • Renderer: fix a regression with strokeLine() in the CanvasRenderer
melonJS - v10.10.0

Published by obiot over 2 years ago

Added

  • Core: new CanvasTexture object to allow recycling canvas through the engine (text caching, default particles, effect, etc..)
  • Core : new experimental light effect that simply simulate a spot/point light for now (work in progress)
  • Color : allow overriding the alpha component with a specific value when calling toRGBA or toHex8
  • Renderer: support reverse clipping when applying geometry masks (alpha component of the masked area is ignored in legacy Canvas rendering mode)
  • Renderer: added multiple clipping region for masks (only works with overlapping region in legacy Canvas rendering mode)

Changed

  • TMX: replace use of eval() by Function() when parsing map including executable code
  • Core: replace internal calls to deprecated substr function with slice

Fixed

  • Renderable: mark renderable(s) as dirty when their pos or bounds are updated
  • Geometry: fix a regression with roundRect shape drawing
melonJS - v10.9.0

Published by obiot over 2 years ago

Added

  • Geometry : add a proper contains and other utility methods to RoundRect

Fixed

  • Renderer: fix clipping of RoundRect mask with the Canvas Renderer
melonJS - v10.8.0

Published by obiot over 2 years ago

Added

  • Geometry : new RoundRect geometry object
  • Geometry : new Path2D API to provide better abstraction when drawing primitives in WebGL

changed

  • Renderer: refactored the WebGL renderer to use the new Path2D API for primitive drawing

Fixed

  • Core: improve internal object recycling, to fix instance leaking or hoarding by the pool system
  • Input: fix a warning on using passive target disabling swipe on a WebView (thanks @zngb)
melonJS - v10.7.1

Published by obiot over 2 years ago

Fixed

  • Renderer: fix a crash on context restore when using the canvas renderer
melonJS - v10.7.0

Published by obiot over 2 years ago

Added

  • Core : new device.nodeJS to detect if running under node.js
  • Particle Emitter: added the possibility to define a specific tint and blend mode for particles
  • Renderable: new centerOn method to center a renderable around given coordinates
  • Renderer: added "additive" as an alias for the "lighter" blend mode
  • Renderer: listen to contextlost & contextrestored events in Canvas rendering mode (@see https://developer.chrome.com/blog/canvas2d/#context-loss)

Changed

  • Core : replace internal use of global window object by globalThis
  • Core : refactor the boot process, and device/feature detection/initialisation to better work within node.js (will still require jsdom and node-canvas)
  • Particle Emitter: refactoring of the Emitter class to directly extend Container instead of Renderable

Fixed

  • Particle Emitter: fix a regression in ParticleEmitter causing a crash, after es6 class reformatting
  • Particle Emitter: fix particle additive blend mode in WebGL
melonJS - v10.6.1

Published by obiot over 2 years ago

Fixed

  • Renderable: fix a regression in BitmapText when specifying a scaling size through the constructor
melonJS - v10.6.0

Published by obiot over 2 years ago

Added

  • Renderable : added the possibility to specify a blend mode per renderable
  • Renderer: added missing compatible/supported blend mode across the canvas and WebGL renderer ("normal", "multiply", "lighter, "screen")
  • Renderable : new (simple) word wrapping feature for Text and BitmapText classes

Changed

  • Renderable : refactor of Text and BitmapText to isolate metrics related features/functions and standardize the api between the 2 classes

Fixed

  • Container: mark a container as dirty when changing own child(s) order using MoveTo[Top/Bottom], move[Up/Down] and swapChildren
  • Renderable : fix NineSliceSprite bounding box not being properly scaled up
  • Renderer: fix blend mode in WebGL rendering mode
Package Rankings
Top 11.32% on Bower.io
Top 2.63% on Npmjs.org
Badges
Extracted from project README
Build Size Tree-shaking NPM Package jsDeliver Boss Bounty Badge Contributor Covenant Free Texture Packer TexturePacker PhysicsEditor ShoeBox Tiled Cordova Spine aseprite Melon Gaming Altbyte Pte Ltd
Related Projects