Crafty is currently one of the top solutions when it comes to free JS and HTML5 gaming engines.
Here are some key features of "Crafty":
· Cross-browser compatible
· Canvas or DOM rendering
· Demos and examples
· Sprite map support
· Entity-Component-System principles compliant
· Collision detection
· Small file size (weighing in at 15KB GZipped)
· Fire & Forget events
· HTML5 enabled browser
What's New in This Release: [ read full changelog ]
· SceneChange event triggered when a scene is played
· Crafty.storage added. It’s an abstraction over the different implementations of local storage providing basic save/load functionality across sessions
· New viewport functions: follow, centerOn, zoom, pan, mouselook
· Crafty.scene optionally accepts an uninit function as a third parameter when defining a scene.
· New isometric functions: pos2px, px2pos ,centerAt ,area,slice
· The API documentation is now more exhaustive than ever :-)
· .font is removed. Use .css to set style property instead.
· e.mouseButton added to all mouse events to normalize across browsers. Used like: if(e.mouseButton == Crafty.mouseButtons.RIGHT) …
· .destroy() now destroys all attached entities.
· MouseMove event added.
· DoubleClick event added.
· Text component supports canvas
· Text component supports evaluating a function with the entity bound to this.