25 HTML5 and JavaScript Game Engine Libraries

In House Gaming Technology

During the past few decades, many game companies made their own game engines and kept that technology as in house, iterating on it as computers gradually improved and more advanced versions were required. Over the past several years, the cost of making an in-house engine has grown significantly, and more and more companies have begun to specialize in making either full game engines or game engine components to sell to other companies, rather than make games.

These kinds of companies are called middleware providers. The middleware providers can offer these products at very reasonable prices, and, for most game development studios, this creates a very clear “build versus buy” decision.

Engines like SCUMM by LucasArts and SCI by Sierra, for example, powered most of the adventure games that those companies released in the late 1980s and into the mid 1990s.

More recently, engines like id Tech (the engine that powers the Quake series of games) and the Unreal Engine started as in-house technologies, though they have recently evolved into middleware technologies as well. Game engines come in many different flavors and at many levels of programming expertise.

These game engines and are freely available for game designers by which to code up a game quickly and easily without having to build it from the ground up. The system which supports the design for the creation and development of video games is called a Game Engine. These leading game engines provide a software framework which developers use by which to create games for video game consoles and personal computers.

Purpose and Platform Creation

Their core functionality is typically provided through a game engine that includes a rendering engine ( or, “renderer”) for 2D or 3D graphics, a physics engine or collision detection ( and collision response ), sound, scripting, animation, artificial intelligence, networking, streaming, memory management, threading, localization support, and a scene graph. This process of game development is often economized, in large part, by reusing/adapting the same game engine to create different games, or to make it easier to “port” games to multiple platforms.

These Game Engines provide a suite of visual development tools in addition to reusable software components. Generally provided in an integrated development environment these tools enable simplified, rapid development of games in a data-driven manner. Game engine developers attempt to “pre-invent the wheel” by developing robust software suites which include many elements a game developer may need to build a game. Most game engine suites provide facilities which ease development, such as graphics, sound, physics and AI functions.

These Game Engines are sometimes called “middleware” because, as with the business sense of the term, they provide a flexible and reusable software platform which provides all the core functionality needed, right out of the box, to develop a game application while reducing costs, complexities, and time-to-market—all critical factors in the highly competitive video game industry.

Game Middleware Subsystems

As Game Engine technology matures and becomes more user-friendly, the application of game engines has broadened in scope. They are now being used for serious games such as : visualization, training, medical, and military simulation applications. These recent trends are being propelled by companies such as Microsoft to support Indie game development. Microsoft developed XNA as the SDK of choice for all video games released on Xbox and related products. This includes the Xbox Live Indie Games channel designed specifically for smaller developers who don’t have the extensive resources necessary to box games for sale on retail shelves.

It is now becoming easier and cheaper than ever to develop game engines for platforms that support managed frameworks. Some middleware programs contains full source code, whereas others just provide an API reference for a compiled binary library. Some middleware programs can be licensed either way, usually for a higher fee for full source code. Modern game engines are some of the most complex applications written, often featuring dozens of finely tuned systems interacting to ensure a precisely controlled user experience.

Recent Evolution of Gaming Engines

The continual evolution of game engines has created a strong separation between rendering, scripting, artwork, and level design. It is now common, for example, for a typical game development team to have several times as many artists as actual programmers. There are many resources for finding game engines, and in this article we would like to introduce you to 25 HTML5 and Javascript Game Engine Libraries for novice developers making their first Web games as for experienced coders building demos and prototypes.

 
 


1. The GMP JavaScript Game Engine

the_gmp_javascript_engine
GMP is great for making sprite-based, 2-D games, and it can easily power most retro-style arcade game designs. It is also well suited to making puzzles such as sudoku or gogopop. Check out the games on this site to see what it can do. Professional game developers will find GMP useful for making rapid prototypes during their game development cycle. Set up is quick, and changes can be viewed by anyone with a browser.
 

[zilla_button url=”http://gogomakeplay.com/” style=”black” size=”medium” type=”square” target=”_blank”] Source [/zilla_button]
 
 

2. Playcraft

playcraft

 

The Playcraft Engine equips you with a complete HTML5 game engine toolset that gives you everything you need to build your game and take it directly to market. The Playcraft Engine is unique – once you write your game you can easily convert it to many different platforms, including Facebook, plain old websites, and as a native Android or iOS application.
 
[zilla_button url=”http://getplaycraft.com/” style=”black” size=”medium” type=”square” target=”_blank”] Source [/zilla_button]
 
 

3. The ClanFX JavaScript Game Engine

clanfx-javascript-game-engine
 

clanfx is a 2D, tile-based Javascript game engine developed using Javascript and CSS. It currently works in Firefox, Epiphany and Opera browsers. Features include many animated sprites, spell effects, buildings, tiles/textures and basic game AI.
 

[zilla_button url=”http://sourceforge.net/projects/clanfx/” style=”black” size=”medium” type=”square” target=”_blank”] Source [/zilla_button]
 
 

4. Collie

collie
 

Collie is a Javascript library that helps to create highly optimized animations and games using HTML 5. Collie runs on both PC and mobile using HTML 5 canvas and DOM. Collie can stably process multiple objects using rendering pipelines and supports useful features including sprite animation and user events. Stably supports iOS and Android, and renders with an optimized method for each platform. Also easily responds to retina display.
 

[zilla_button url=”http://jindo.dev.naver.com/collie/index.html?l=en” style=”black” size=”medium” type=”square” target=”_blank”] Source [/zilla_button]
 
 

5. LycheeJS

lycheejs
 

lycheeJS is a JavaScript Game library that offers a complete environment for prototyping and deployment of HTML5 Canvas or WebGL based games inside the Web Browser.
Its architecture is independent of the environment which means it will run on any JavaScript environment, such as V8, Node, Spidermonkey etc. The only requirement for such a platform is a lychee.Preloader.

[zilla_button url=”https://github.com/martensms/lycheeJS” style=”black” size=”medium” type=”square” target=”_blank”] Source [/zilla_button]
 
 

6. UltimateJS

ultimatejs_com
 

UtimateJS is comprehensive HTML5 powered technology designed specifically to satisfy your cross-platform and cross-device game development needs.
UltimateJS is aiming to be the best HTML5 game engine for the beginner as well as for professional programmers.
 

[zilla_button url=”http://www.ultimatejs.com/” style=”black” size=”medium” type=”square” target=”_blank”] Source [/zilla_button]
 
 

7. Red Locomotive

Red-Locomotive
 

Red Locomotive is an open source JavaScript game engine designed for complex 2d and/or isometric games. It give developers the tractive effort they need by abstracting complex systems like game loops, pixel/cursor based events, frame rate management, sprite rendering, animation, and much more.
 

[zilla_button url=”http://robertwhurst.github.com/Red-Locomotive/” style=”black” size=”medium” type=”square” target=”_blank”] Source [/zilla_button]
 
 

8. Traffic Cone

trafficcone
 

Traffic Cone is a 2d and 2.5d (isometric) tile based game engine written for HTML5. It makes complex animations of sprites and tiles based worlds fairly simple.
 

[zilla_button url=”https://github.com/j03m/trafficcone” style=”black” size=”medium” type=”square” target=”_blank”] Source [/zilla_button]
 
 

9. Chester GL

github_com_funkaster_ChesterGL
 

ChesterGL (Chester Game Library) is a WebGL/canvas 2d game library that focuses on ease of use and performance. It supports a simple scene graph and provides a minimal interface for you to create games, and extend the library if you need. Current features: time based actions, simple scene graph, Tiled (tmx) map support, different shaders (webgl only), batched sprites.
 

[zilla_button url=”https://github.com/funkaster/ChesterGL/” style=”black” size=”medium” type=”square” target=”_blank”] Source [/zilla_button]
 
 

10. Pulse : 2d JavaScript Game and Graphics Engine

pulse_com
 

Pulse is an open source JavaScript graphics engine built by the Modulus team. It offers developers a simple framework to build HTML5 games, requiring only a few lines of JavaScript and a bit of HTML. It even has a simple to use plugin architecture allowing you to easily extend the core functionality.
 

[zilla_button url=”http://www.withpulse.com/” style=”black” size=”medium” type=”square” target=”_blank”] Source [/zilla_button]
 
 

11. Entity

entityjs_com
 

Entity is an awesome all new JavaScript game engine. It focuses on flexibility, re-usability and robustness. To make this happen Entity utilizes the entity-component design where all logic is implemented in components and entities are created from adding or removing components. Its supported on all major browsers and will be coming to mobile devices soon.
 

[zilla_button url=”http://entityjs.com/” style=”black” size=”medium” type=”square” target=”_blank”] Source [/zilla_button]
 
 

12. Write AS Code into HTML

flashjs_com
 

FlashJS is JavaScript graphics and game development engine with API similar to Flash one. It`s HTML5 game development tool, based on verified for years Flash methodology. Just write ActionScript 3 code inside of actionscript tag.
 

[zilla_button url=”http://flashjs.com/” style=”black” size=”medium” type=”square” target=”_blank”] Source [/zilla_button]
 
 

13. Akihabara

kesiev_com_akihabara
 

It is a set of libraries, tools and presets to create pixelated indie-style 8/16-bit era games in Javascript that runs in your browser without any Flash plugin, making use of a small subset of the HTML5 features, that are actually available on many modern browsers.
 

[zilla_button url=”http://www.kesiev.com/akihabara/” style=”black” size=”medium” type=”square” target=”_blank”] Source [/zilla_button]
 
 

14. GameJS

gamejs_org
 

GameJs is a thin library on top of the HTML canvas element. In addition to the drawing functions it has a set of generally helpful modules for game development.
 

[zilla_button url=”http://gamejs.org/” style=”black” size=”medium” type=”square” target=”_blank”] Source [/zilla_button]
 
 

15. Jaws HTML5 JavaScript Game Lib

jawsjs_com
 

Jaws is a 2D game lib powered by HTML5. It started out only doing canvas but is now also supporting ordinary DOM based sprites through the same API.
 

[zilla_button url=”http://jawsjs.com/” style=”black” size=”medium” type=”square” target=”_blank”] Source [/zilla_button]
 
 

16. Enchant.js

enchantjs_com_en
 

enchant.js is an HTML5 + JavaScript based game engine. It is a standalone library that enables cross-platform application development for PC, Mac, iPhone, iPad, and Android from just 30 KB of source code.
 

[zilla_button url=”http://enchantjs.com/en/?s=en” style=”black” size=”medium” type=”square” target=”_blank”] Source [/zilla_button]
 
 

17. GameQuery

gamequeryjs_com
 

gameQuery is an easy to use jQuery plug-in to help make javascript game development easier by adding some simple game-related classes. If you know how to use jQuery you almost know how to use gameQuery.
 

[zilla_button url=”http://gamequeryjs.com/” style=”black” size=”medium” type=”square” target=”_blank”] Source [/zilla_button]
 
 

18. Cocos2d-Javascript

cocos2djs_org
 

Cocos2d-javascript is a 2D game/graphics engine based on cocos2d-iphone but designed to run in the web browser. It uses the latest features available in HTML 5 allowing real-time rendering of 2D graphics without the need for plug-ins such as Adobe Flash. While HTML 5 is still new and not fully supported across all browsers it won’t be long before the vast majority of web users are able to enjoy all that it offers. When this time comes cocos2d-javascript will be an excellent way to develop games and applications.
 

[zilla_button url=”http://cocos2djs.org/” style=”black” size=”medium” type=”square” target=”_blank”] Source [/zilla_button]
 
 

19. MelonJS

melonjs_org
 

melonJS is the result of our enthusiasm and past experiments with Javascript, and came from the feeling that no simple, free and standalone library was available to develop games. And although still a work in progress, melonJS already allows to easily create some nice games.
 

[zilla_button url=”http://www.melonjs.org/” style=”black” size=”medium” type=”square” target=”_blank”] Source [/zilla_button]
 
 

20. Turbulenz

biz_turbulenz_com_developers
 

The engine libraries are implemented in optimized JavaScript supporting rapid iteration of game code and data. The engine executes directly in the browser and includes several interesting features.
 

[zilla_button url=”http://biz.turbulenz.com/developers” style=”black” size=”medium” type=”square” target=”_blank”] Source [/zilla_button]
 
 

21. Isogenic Engine

isogenicengine_com
 

The Isogenic Game Engine allows you to create games in both 2d and isometric and has built-in isometric depth-sorting, path-finding and even supports Box2d in isometric!
 

[zilla_button url=”http://www.isogenicengine.com/” style=”black” size=”medium” type=”square” target=”_blank”] Source [/zilla_button]
 
 

22. EaseUS

createjs_com_EaselJS
 

EaselJS provides straight forward solutions for working with rich graphics and interactivity with HTML5 Canvas. It provides an API that is familiar to Flash developers, but embraces Javascript sensibilities. It consists of a full, hierarchical display list, a core interaction model, and helper classes to make working with Canvas much easier.
 

[zilla_button url=”http://createjs.com/#!/EaselJS” style=”black” size=”medium” type=”square” target=”_blank”] Source [/zilla_button]
 
 

23. Crafty

craftyjs_com
 

Crafty is a JavaScript game library that can help you create games in a structured way.

[zilla_button url=”http://craftyjs.com/” style=”black” size=”medium” type=”square” target=”_blank”] Source [/zilla_button]
 
 

24. LimeJS

limejs_com
 

LimeJS is a HTML5 game framework for building fast, native-experience games for all modern touchscreens and desktop browsers.
 

[zilla_button url=”http://www.limejs.com/” style=”black” size=”medium” type=”square” target=”_blank”] Source [/zilla_button]
 
 

25. Squarepig

github_com_aeonofdiscord_squarepig
 

Squarepig is intended to be simple; as comfortable for novice developers making their first Web games as for experienced coders building demos and prototypes.
 

[zilla_button url=”https://github.com/aeonofdiscord/squarepig” style=”black” size=”medium” type=”square” target=”_blank”] Source [/zilla_button]
 
 

[zilla_alert style=”grey”] For a complete list of Game Engines and updates see more info here. [/zilla_alert]

One Response

  1. Garyk1968 March 20, 2013

Leave a Reply