- Better documentation for internals, including HashMap and DrawManager.
- Crafty.module supports uppercase versions (RELEASE etc.) and now uses craftycomponents.com as default repo
- .color() now acts as a getter
- Rename .delay to .timeout and introduce a new Delay component that is smarter about game pause etc.
- Fix the play sound forever issue
- Crafty.isPaused() returns whether the game is paused or not.
- Better support for tween chaining
- Remove the div representation when DOM component is removed from entity. This enables you to switch between DOM and canvas without polluting the dom.
- .toggleComponent added
- .getDomId added to DOM component
- .dragDirection added to Draggable component
Filed under html5 crafty version release gamedev game
- Crafty.module() is used to load community components from craftycomponents.com
- Crafty.math added with lots of vector, matrix and other useful functions.
- randRange() renamed to math.randomInt()
- persist component renamed to Persist
- 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.
- Better handling of pausing/unpausing when the user changes tabs
- Crafty.audio.mute can take a bool.
- Lots of bug fixes
Thanks to Soren for overseeing this release!
I have been making more interesting games as of late. One of them being a multiplayer 2D Minecraft clone with infinite and destructible terrain. The other being a GTA2 clone or driving simulator with a small town to drive or walk around in.
See the demos page to have a play.
The latest version of Crafty has been released.
_SAT now also returns normal of side hit.
- Changed keys are passed as data for the Change event.
- Added support for circle collision with
Crafty.circle, which behaves like Crafty.polygon.
- Added
TweenEnd event. It takes the Tweened property as an argument.
- Added HTML component.
- Fixed touch control support
- Bug with randRange
There has been quite a few small changes that fix bugs but no API changes. See the commit log for more information.
Download now at Crafty
New version about to be released and with that comes a new API. Well not too bad but for one, every single event is now in CamelCase. This includes MouseDown and EnterFrame. Apologies as you will have to change all existing bindings to these events.
The current changelog is:
- CSS 3D transforms
- .attach() takes multiple objects
- Fixed bug with getClientBoundingRect in FireFox
- DOM elements get components added as classes
- Fixed Canvas redraw bugs
- Animate renamed to SpriteAnimation
- Added basic mobile support
- Fixed mousedown triggering twice
- Draggable bugs fixed
- Sprite takes a tile height if not square
There are lots of great features in the works that you can find on the GitHub Issue Tracker or on the Google Groups. These include a merge of Tween and SpriteAnimation with keyframe support, mirroring entities and more.
Going to release the next version very soon, 0.4.3. The change log is as follows:
- CSS 3D transforms
- .attach() takes multiple objects
- Fixed bug with getClientBoundingRect in FireFox
- DOM elements get components added as classes
- Fixed Canvas redraw bugs
- Animate renamed to SpriteAnimation
- Added basic mobile support
- Fixed mousedown triggering twice
- Draggable bugs fixed
There are a few API changes (the last I promise) but the docs will reflect this.
I have decided that all forum like activity will go through Google Groups rather than my SimpleMachineForums for many reasons:
- SMF is very hard to skin
- Requires registration (yet another account) and OpenID is too much work for one man
- Very prone to spam
OK that’s only three but that’s enough. Google Groups isn’t as great as I’d like but it’ll do.
So from now on, any questions you’d like answered, feel free to post to the Crafty Google Groups.
I have ported all the demos (except Elevator Action) to use the latest version of Crafty. I was getting lots of emails about users trying out the demos but seeing lots of errors with the new version so this should help everyone out.
Most of the changes were minor API differences and some were optimized with the newer features. Take a look!
Note: If the demos are not working, you should clear the cache
This release has a lot of bug fixes and not many new features. Take a look at the changelog for a complete view:
- Faster redraw for rotated entities and repeating background in canvas
- Added a
Crafty.settings object
- Smaller game loop
- Started mobile support (not ready yet)
- Fixed a bug with DOM z-indexes being lower than the canvas
- Added a smaller setter function. Removed getter
- Removed unused components, Group, Health and Score.
- Fixed rotation bug for IE6
.css bug fixed
- Added a namespace for DOM methods (
Crafty.DOM)
- Fixed bug with viewport triggering mousedown twice
- Mouse events take into account the viewport
- Bugs in Draggable component fixed
- Fixed Full screen mode resize bug
Download
Expect some down time as I am porting over all the demos to the latest version.

Working on a new strategy based war game.
Earlier I reported issues with requestAnimationFrame when changing tabs or changing the window and that using it’s counter-part cancelRequestAnimationFrame seemed to fix the issues.
After more tests it is concluded that this is not the issue.
Getters and setters added and a major bug fixed where the stage would be removed after window blur. It will now pause the game. If you do not want the game pausing, simply set Crafty.dontPauseOnBlur to true.
A settings object will be added shortly.
Download
Filed under html5 javascript game game engine