1. General JS Game Engine
Canvex is an experimental browser-based FPS game engine in the HTML
<canvas> tag, which be believed to work in the following browsers, on any operating system and with no external plugins.
Diggy is a DHTML Game Engine (DGE).
The engine is perhaps best suited to creating adventure and roguelike style games, but may also be used to create 2D virtual world representations of communities and geographical locations.
Now at version 4, the 2D engine now uses HTML 5′s canvas tag, and Google’s ExplorerCanvas to get it working in IE. The canvas is fairly widespread these days, so it should be supported fairly widely.
Brent Silby has built upon the official 2.09 version of the Gamelib released by Scott. He says his improvements are:
- properties for sprites such as jumping, falling, fallspeed, etc.
- tile handling for backgrounds and platforms. It’s basically the same as the sprite module, but (of course) the tiles are not updated on each cycle to save speed. "This is incomplete but I have used it in my games," he says.
- the old V2.09 gamelib modules have been kept in a separate folder
- Support for any type of two dimensional game development.
- A clear separation between different parts of the framework.
- Support for collisions between any convex polygons.
Propulsion is licensed under the MIT License.
Sarien.net interpreter is 2D Adventure JS game engine based GPL license.
Unity 3 is a game development tool(JS background, include commercial and free version) that has been designed to let you focus on creating amazing games.
The aim of GLGE is to mask the involved nature of WebGL from the web developer, who can then spend his/her time creating richer content for the web.
JS3D is a library which allows you to have interactive 3d objects on your website, such as the spinning cube at the top of the page. The 3d effect is created using actual text, try selecting the text on the cube above! This is different from the approach of, for instance, these folks, who have made a better quality renderer, which is much more processor intensive. To see more functionality scroll to the demo section.
Sandy is a Flash 3D engine, available in 3 versions: AS2, AS3 and haXe(to JS).
SpiderGL provides typical structures and algorithms for realtime rendering to developers of 3D graphics web application, without forcing them to comply with some specific paradigm (i.e. it is not a scene graph) nor preventing low level access to the underlying WebGL graphics layer.
The sprite.js framework lets you create animations and games using sprites in an efficient way. The goal is to have common framework for Desktop and mobile browsers.
sprite.js has been tested on Chromium, Firefox, Android emulator and Opera.
Using HTML5 and Flash, SoundManager 2 provides reliable cross-platform audio under a single API
CAAT: Canvas Advanced Animation Tookit CAAT in essence is a multi-instance director-based Scene graph manager.
- method chaining
- relative coordinates
- SVG path commands
- turtle graphics
- easier specification of drawing attributes
CamanJS is an attempt at providing a simple to use interface for dynamically manipulating images completely in JS. It strives to provide much of the basic functionality you would find in something like Photoshop. By this I mean, image contrast, brightness, levels, saturation, etc.
Wrapper for HTML5 Canvas Context 2D properties and methods, enabling chaining.
It’s intended to be simple, small and not add new functionalities besides method chaining, it doesn’t overwrite the native prototypes/objects and can be used interchangeably with native Context2D methods/properties, works just as a wrapper to native calls.
- Use the Canvas drawing API with sprites and a scene graph.
- Event handling and dispatch for objects.
- Nodes maintain transforms, bounds, and other useful properties.
- If you’re coming from ActionScript 3, you’ll feel right at home!
gury.js is a jQuery inspired canvas utility library.
Fabric.js is a framework that makes it easy to work with HTML5 canvas element. It is an interactive object model on top of canvas element. It is also an SVG-to-canvas parser.
Using Fabric.js, you can create and populate objects on canvas; objects like simple geometrical shapes — rectangles, circles, ellipses, polygons, or more complex shapes consisting of hundreds or thousands of simple paths. You can then scale, move, and rotate these objects with the mouse; modify their properties — color, transparency, z-index, etc. You can also manipulate these objects altogether — grouping them with a simple mouse selection.
The layer manager also allows for each layer contained to be promoted, or demoted over another layer. The layer manager, and each layer, and item contained, is defined with a draw function. The draw function executes user defined code to draw the item, layer, or each layer contained consecutively.
This library provides functionality to manage and interact with the content of a html5 canvas element. It emulates layers and items that can be manipulated and managed and provides mouse-events to the items.
Processing.js is the sister project of the popular Processing visual programming language, designed for the web. Processing.js makes your data visualizations, digital art, interactive animations, educational graphs, video games, etc. work using web standards and without any plug-ins.
You write code using the Processing language, include it in your web page, and Processing.js does the rest. It’s not magic, but almost.
Unveil is a data exploration and visualization toolkit that utilizes data-driven software design.
WebGLU is both a set of low-level utilities and a high-level engine for developing WebGL based applications. WebGLU is designed such that a developer can focus on the end result with a minimum of fuss and code, but doesn’t hand hold developers who want more control. This is achieved by exposing the raw GL object and also many lower-level functions for working with it and the WebGL API.
color.js can be used in any ECMAScript environment as it does not make use of the DOM. color.js is very useful on the server-side and the client-side, The color.js CSS module defines all of the standard CSS colors for use in color.js.
It includes classes for modelling vectors and matrices in any number of dimensions, and for modelling infinite lines and planes in 3-dimensional space. It lets you write object-oriented easy-to-read code that mirrors the maths it represents.