wiki:DesignAndImplementation/JavaScriptLibraries

HTML5 Game Libraries

Games will be implemented using HTML, CSS, and JavaScript for maximum compatibility on any modern browser without plugins. The following table shows some browser-based game engines that may be useful. Because we will be releasing our work as open-source, engines with commercial licenses may not be suitable.

Engine License Rendering Compatibility Maturity Notes
 GameQuery  MIT DOM I had trouble loading some demos on Chrome and Safari. Around since 2009; 0.5 in July 2010. jQuery plugin. Small library, appears to be lightweight but functional for sprite animation.
 Propulsion MIT Canvas 1.0 in January 2011. Very little  forum activity. The only available demo is really lame, and the documentation is sparse (class reference only).
 Rocket Engine Commercial? Canvas, WebGL, falls back to Flash? ? Very little information, and still under development. Integrated editor environment.  Acquired by Disney March 2011. It appears professional/commercial so probably unsuitable for this project.
 The Render Engine  MIT Canvas and DOM Some demos don't work in Chrome. Around since 2008. 2.0 will enter beta "soon" as of  April 2011 Appears full-featured, particularly for an open-source library.
 Impact  Commercial Canvas Fairly active  forum community, good documentation. This seems to be a solid framework, but the license may prevent us from using it for this project.
 Effect Games  ? DOM (may be Canvas or WebGL in the future) Appears to be mature and well-supported. Must be developed and hosted on Effect Games servers?
 GMP (GogoMakePlay)  MIT or GPLv2 No sound. Really basic.
 CopperLicht Free but not open-source.  Commercial license for source code. WebGL 3D. Not really for 2D arcade-style games.
 Crafty MIT or GPL Canvas or DOM Some demos don't work in Chrome. ?
 GameJS Hosted on GitHub but license not listed. Canvas Port of PyGame to JavaScript.  Bandit Racer is a pretty full-fledged game games built with it that we could study.
 CAKE MIT Canvas Demos look slicker than most. Has an SVG parser.
 ForPlay Apache License 2.0 Canvas, DOM, WebGL If it's good enough for Angry Birds… Built on Google's gwt. Code in Java, cross-compile to HTML5, Java, Android.
 cocos2d-javascript  MIT Canvas Port of Cocos2D iPhone game library. Compiles games into a single JS file.

I'm (Daniel) somewhat familiar with Cocos2D so that one looks quite appealing. GameJS and Cake also seem like good choices.

Audio

HTML5 has the <audio> element, as well as access to the Audio API from JavaScript, but it seems that most current HTML5 game implementations fall back to a small Flash container for playing game sounds due to poor browser support for mixing multiple HTML5 sound sources. There are libraries for handling sound effects with automatic fallbacks to Flash on browsers lacking sufficient HTML5 capability, most notably  SoundManager 2.