Recently I’ve been interested in games created using JavaScript. JavaScript is everywhere and works with a lot of devices and platforms including mobile devices that run on iOS, Android, Windows and FirefoxOS. On the web seems that games using HTML and JavaScript have started to replace those using older technologies like Flash. Here is a list of JavaScript libraries that I have seen recommended for creating games. To compile this list I looked at libraries that are free, preferably open source, actively updated and focuses mainly on 2D.
CreateJS
CreateJS is a suite of libraries that can be used to create interactive content using HTML5 and JavaScript. CreateJS is composed of several separate libraries: EaselJS, TweenJS, SoundJS and PreloadJS to handle functionality commonly needed in games and animation. Unlike the other libraries in this list CreateJS isn’t targeted at creating games. Instead it seem like it’s goal is closer to being a Flash replacement. It also has many integrations with tools. Adobe Flash CC is able to export directly to CreateJS.
CraftyJS
CraftyJS is a Javascript game engine that describes itself as a “flexible framework for Javascript games”. It features:
OpenSource
Works with all modern browsers including IE9
Uses Cavas or DOM to render entities
Small file size
Sprit map support
Collision detection
Pixi.js
https://github.com/GoodBoyDigital/pixi.js
Pixi.js is a lightweight 2D library that uses WebGL, falls back on Canvas and boasts fast performance for both. Some game engines make use of Pixi.js’ strong 2D support. Some of the features include:
Asset loader / sprite sheet loader
Masking
Filters
Easy to use API
Full mouse and multi-touch interaction
WebGL and Canvas rendering
Texture atlases
Kiwi.js
Kiwi.js is a fun and friendly open source HTML5 game engine. Some of Kiwi.js’ features include:
Canvas and WebGL rendering
Support for spritesheets, texture atlases and individual images
Entity/Component system
Multitouch support
State management
File management and loading
Melon.js
Melon.js is a free, open source light weigh JavaScript game engine. Some of its features include:
Lightweight physic implementation
Collision detection
Tween effects
Transition effects
Basic particle system
Spritesheet and packed texture support
State manager
Tile map integration
Panda
Panda is a free HTML5 game engine. It features:
Canvas/WebGL rendering
Particle engine
Tweening
Physics engine
Timers
Sound manager
Ability to organize code in modules
Phaser
Phaser is a fast, free and fun open source framework for games. Phaser is popular on GitHub. One thing that interests me about Phaser is it is one of the few game engines that has a set up guide using TypeScript. Some of Phaser’s features include:
WebGL & Canvas
Preloader
Physics
Sprites
Animation
Particles
Tilemaps
Camera
Plugin system
Quintus
Quintus is an “easy-to-learn, fun-to-use” JavaScript HTML5 game engine. Quintus seems to be a younger library, but I’ve seen it mentioned on several sites. Quintus also seems to cover the basics of a game engine, but is not as full-featured or refined as other game engines on this list.
Stage.js
Stage.js is a 2D HTML5 JavaScript game engine that is lightweight, fast and open source. Stage.js seems to include many of the basics for a game engine including the game loop, events, support for mouse and touch, texture atlas, images, animation and tweening.
In the future I hope to pick a few of these and hopefully one day create a simple game. If anyone knows of any good JavaScript game engines that are not on this list please let me know.
Comment
I haven't used some of these but I can say that Pixi is just plain awesome! I used it several times and it works well for games but it's also great for getting great performance in a 2d context. Awesome for interactive websites.
© 2024 Created by Daniel Leuck. Powered by
You need to be a member of TechHui to add comments!
Join TechHui