JS游戏引擎
IMPORTANT! Wikified version of this page may be found here. Feel free to edit.
I put together a list of game engines available for JavaScript. It seems like there are heaps of those out there. And I’m sure I managed to miss some.
Since reddit is great and everything I thought it might be cool to try to make this a community effort. Having some sort of ready compiled list with a nice description of each engine would definitely help a lot.
If you don’t have anything better to do and want to help fellow redditors interested in JS game dev out, feel free to fork the list and modify it as you like.
Just to save some clicking around, here’s the whole list:
Game Engines
Name | Latest Release | Size (KB) | License | Type | Unit Tests | Docs | Notes |
---|---|---|---|---|---|---|---|
Akihabara | 1.3 | GPL2/MIT | Classic Repro | Intended for making classic arcade-style games in JS+HTML5 3 | |||
Aves | Commercial? | Obsolete. Company bought by Zynga. | |||||
bdge | Demo | ||||||
Canvex | FPS | ||||||
ClanFX | 0.0.1 | Tile based | |||||
Cocos2D | BSD | 2D | |||||
Crafty | 0.1 | 7.6 | GPL/MIT | Intended to be lightweight and modular 6 | |||
cssgameengine | Aimed for beginners | ||||||
Diggy | BSD | DHTML-based, abandoned | |||||
Effect Games | |||||||
Flax | Apache 2.0 | Not released yet. Uses GWT and HTML5. Focus on web-based gaming for GNU/Linux and Mac OS X. 8 | |||||
FlixelJS | 2D | Demo Port of Flixel (Flash) to JS.Announcement thread. | |||||
GameJs | 2011-01 | 20-80 | MIT | 2D | yes | JsDoc and Tutorials | CommonJs; integrates with RingoJs server (optional); similar to PyGame; Canvas only; |
gameQuery | 0.5.1 | MIT | Designed to be used with jQuery | ||||
GammaJS | 1.0 | MIT | 2.5D Platform | ||||
gTile | 0.0.1 (2008-07-21) | Tile based | |||||
The GMP Javascript Game Engine | 1.7.4 (2010-10-31) | GPL2/MIT | Emphasis on speed and simplicity, “easy to learn and use” 5 | ||||
Hydra | |||||||
Hydrax | |||||||
Impact | Commercial ($99) | 2D | |||||
Isogenic Engine | Isometric | ||||||
j5g3 | GPLv3 | Still WIP | |||||
Jaws | |||||||
The Javascript 2D Game Engine | GPL | Emphasis on gravity/physics/collision detection; uses HTML5 Canvas and ExplorerCanvas for IE support. Focus on limiting CPU usage. 4 | |||||
Javascript Gamelib | 2.10 | ||||||
jGen | Isometric | ||||||
jsGameSoup | v74 | LGPLv3 | |||||
js-verge | MIT | 2D | Demo | ||||
PropulsionJS | 1.1 | MIT | Uses HTML5 Canvas element. 7 | ||||
The Render Engine | 1.5.3 | MIT | Cross-browser; extensive API; open-source. 2 | ||||
Rocket Engine | Commercial | ||||||
Rosewood | 2D | ||||||
Sarien.net interpreter | GPL | 2D Adventure | |||||
SpellScript | Online/MUD | WIP | |||||
Tom’s Halls | 3.0 | Platform | |||||
Unity3D | Commercial (free version too) | JS backend | |||||
vegalib | LPGL | ||||||
xc.js | BSD | 2D |
3D Engines
Compared to full-fledged game engines these might be missing some features (AI, sound, game logic, network etc.) and you might need to use some other libs to provide these features.
Name | Latest Release | Size (KB) | License | Unit Tests | Docs | Notes |
---|---|---|---|---|---|---|
C3DL | 2.1 (?) | MIT | ||||
Curve3D | 1.0 | BSD | ||||
CopperLicht | 1.3.2 (?) | |||||
GLGE | 0.5.2 | |||||
JS3D | 0.1a (2007-02-05) | GPL | ||||
O3D | BSD | |||||
Pre3d | Demo | |||||
Sandy 3D | Apparently compiles to JS via Haxe | |||||
SpiderGL | ||||||
three.js | MIT |
Physics
- http://code.google.com/p/box2dweb/ – port of Box2D to JS
Animation
Name | Latest Release | Size (KB) | License | Unit Tests | Docs | Notes |
---|---|---|---|---|---|---|
sprite.js | VIEW | Created with goal of having common JS framework for dsktop and web. 1 |
Audio
Graphics
Canvas
Name | Latest Release | Size (KB) | License | Unit Tests | Deps | IE | SVG | Docs | Notes |
---|---|---|---|---|---|---|---|---|---|
Artisan.js | 17 | no | |||||||
burst | 56 | yes | Not maintained anymore | ||||||
CAAT | MIT | ||||||||
CAKE | 211 | no | |||||||
CamanJS | Basic filtering ops for Canvas | ||||||||
CanvasContext2DWrapper | Method chaining for Canvas | ||||||||
canto.js | 0.15 (2010-10-18) | 56 | yes | ||||||
canvas_library | Canvas abstraction | ||||||||
canvg | 78.3 | yes | yes | no | |||||
doodle.js | BSD | ||||||||
easel.js | 33 | MIT | no | no | no | yes | An attempt to create a Flash like DisplayList API for the Canvas element (making it pretty easy to manage a lot of items). | ||
fabric.js | 97 | yes | yes | yes | yes | Demo | |||
gury.js | 10 | no | yes | ||||||
HTML5 Canvas Library | 12 | ||||||||
Layered Canvas Library (LCL) | 21 | ||||||||
Mootools Canvas Library (MCL) | 8 | Mootools | |||||||
Pixastic | Basic image manipulation ops | ||||||||
processing.js | |||||||||
Raphaël | Designed for drawing vector graphics | ||||||||
Stackblur | Fast implementation of blur for Canvas | ||||||||
toxiclibsjs | LPGL2.1 | Works great with processing.js. | |||||||
Unveil.js |
Note that size comparisons may not be accurate due to compression (some libs don’t compress by default).
WebGL
- WebGLU – WebGL helpers
Color
- color.js – Color management utilities, MIT
Math
- Sylvester – vector & matrix
Other
- PlayMyCode – Online game creation community. Uses Quby (looks like Ruby) and compiles to JavaScript.
- Sphere RPG Engine – Designed for RPG creation. Uses JavaScript to script logic.
- playtomic – Commercial service providing analytics, leaderboards etc. services for games. Provides HTML5/JS API in addition to AS2/AS3 ones.
- Pixie – HTML5 based pixel editor. Demo