Impact provides 2 types of [collision detection](http://impactjs.com/documentation/collision); static and dynamic collisions. Both of which are easily integrated into game development.
Ranked in these QuestionsQuestion Ranking
Easy to learn, based on Entities and Components, the later being class-like objects that entities inherit.
Has open function binding systems, allowing easy creation of custom components.
Pro Excellent collision detection system
Impact provides 2 types of collision detection; static and dynamic collisions. Both of which are easily integrated into game development.
Many plugins are available, including one called Impact++ which adds features like pathfinding and dynamic lighting.
Pro Level editor
Built-in map editor with support for tiling, collision layers, and actors.
Pro Extensive documentation available to support development
ImpactJS has an active user community that busily produces tremendous resources including videos, books, tutorials, walkthroughs and more. There are also comprehensive class documentation available.
Pro Truly cross-platform allowing developers to build for anything
Extending the reach of a game developed with ImpactJS is easy due to the cross-platform nature the framework. There are Considerations around performance, resolution and audio, however all can be appropriately addressed when in development. Works in the browser via Canvas, even on mobile. Easily translatable into a packaged app.
Con No IDE
If you like having some huge GUI akin to Gamemaker, Unreal, Unity, etc, Crafty is not for you.