JavaScript Libraries for HTML5 gaming

0800 156 0777

JavaScript Libraries for HTML5 gaming

Having created and run all of our HTML5 courses for the last four years, and having added our latest course - HTML 5 Games - to our stable, I thought it would be a good idea to run through some of the engines that I came across as regards HTML5 gaming engines, apps, and javascript libraries. And also to explain why I chose the libraries that I did to use in our courses.

There are quite a few JavaScript libraries available now, and more HTML5 applications are also becoming available. Here I have compiled a general list - it is not exhaustive by any means, but I found it to be a useful starting point when researching for the HTML5 courses that Highlander does. The pros and cons are strictly my pros and cons, yours may be different of course.

Generally I prefer to write all the code from scratch, but when you start getting into levels, physics, collisions, etc - there just is not the time. So I went searching for a game engine to work with. These are the main ones I found…

(n.b I have not personally tried all of these engines, as time available meant I had to rule some out based on their features, but try them out yourself and see which ones you like).

Criteria for choosing: 2d, good documentation, easy to use, and good examples. 

Applications 

Contruct 2

Excellent application for creating html5 games. You do not see the code, it is all done for you, so for me personally not the one, but it does allow you to create great games graphically. 

JavaScript Engines 

Impactjs

Powerful & popular, but you have to purchase this [$99].

melonjs

Nice looking lightweight engine.

raftyjs

Interesting engine, but I personally found it a bit difficult to get started with this, the documentation is a bit light.

enchantjs

Interesting, simple, game framework.

phaser

Desktop and mobile game framework. Lots of examples and good documentation. This is the engine I eventually went with myself.

Phaser Javascript library

voxeljs

Interesting engine, for creating 3D voxel games like minecraft.

processingjs

Not a game engine as such, more useful for data processing, but interesting none the less.  

Isometric Engines 

Isogenic Engine

Interesting isometric engine, but you have to purchase a license [£89 for a personal license].

Sheetenginejs

A nice isometric engine. Easy to pick up, and nice examples and documentation. 

Phsyics Engines

box2djs

Very popular physics engine. Difficult to pick up though as it is written in a non-standard manner. But very powerful. Also the documentation is difficult and there are many versions written in many languages.

physicsjs

Interesting physics library.

3D 

threejs

Excellent 3D engine. Thoroughly recommend this. Lots of examples and documentation available. This is the one I tend to use for 3D on the web.

goo create

Online 3D game creation tool - looks very nice.

playcanvas

Another online 3D game creation tool. Also looks great.

puzzlescript 

An html5, open source puzzle game engine.

So in the end I chose phaser as the engine to use. I found the documentation and examples easy to use and was able to get up and running creating simple games fairly easily. In the future I am hoping to do some more posts on using Phaser, and time permitting, some of the other JavaScript engines that I use.

If any of you know of any others I have missed, please let me know as I am always interested in what engines people use and why.