Q:

Framework for arcade game

I would like to write an arcade game ("clone" of River Raid game) in JavaScript, using <canvas> HTML element. And I'm looking for an HTML5 game framework for this purpose.
I need: 

loader screen
keyboard handling (arrow keys and space)
animated sprites
collision detection

I don't need WebGL (properly I would like to choose between WebGL render and Canvas renderer).
It will be also be nice if I could write a bot for this game (I need it for a project).
I've heard about Create.js but I don't know if it is good for my game. I have some experience with PIXI.js (without any other libraries) and tried to write a game with it but I got stucked after a few weeks.

A:

melonJS is a fresh & lightweight HTML5 game engine, which currently has the following features:

A fresh & lightweight 2D sprite-based engine
Standalone library (does not rely on anything else, except a HTML5 capable browser)
Compatible with most major browser (Chrome, Safari, Firefox, Opera, IE) and mobile devices
Device motion & accelerometer support
High DPI & auto scaling
Multi-channel HTML5 audio support and Web Audio on supported devices 
Lightweight physics implementation to ensure low cpu requirements
Polygon (SAT) based collision algorithm for accurate detection and response
Fast Broad-phase collision detection using spatial partitioning
3rd party tools support for physic body definition (PhysicEditor, Physic Body Editor)
Advanced math API for Vector and Matrix
Tween Effects
Transition effects
A basic set of Object Entities (to be extended)
Object Pooling
Basic Particle System
Basic animation management
Standard spritesheet and Packed Textures (Texture Packer, ShoeBox) support
A state manager (to easily manage loading, menu, options, in-game state)
Tiled map format version +0.9.x integration for easy level design
Uncompressed Plain, Base64, CSV and JSON encoded XML tilemap loading
Orthogonal, Isometric and Perspective tilemap support
Multiple layers (multiple background/Foreground, collision and Image layers)
Multiple Tileset support
Tileset Transparency settings
Layers Alpha settings - Rectangle, Ellipse, Polygon and Polyline objects support
Tiled Objects
Flipped & rotated Tiles
Dynamic Layer and Object/Group ordering
Dynamic Entity loading
Shape based Tile collision support
System & bitmap fonts
Mouse and Touch device support (with mouse emulation)
Built-in support for CocoonJS
Asynchronous messaging support (minPubSub)
Basic GUI elements included
Customizable loader

