Showing posts with label html5. Show all posts
Showing posts with label html5. Show all posts

Monday, March 26, 2012

15 Best HTML5 Game Engines


15 Best HTML5 Game Engines

HTML which stands for Hypertext mark-up language is supposed to be the main language for web pages. Hence the purpose of a web browser is to read the HTML documents and then compose them into either audible or visible websites. This technology also used to developing games, there are lots of HTML5 game engines by using developers can build different kind of attractive and advanced games for game lovers.

HTML5 is a language that used to create web pages, its fifth revision of HTML, a core technology of internet and basic language of designing. This advanced technology has some new features and tags that presents website designs with special effects and awesome layouts. HTML5 adds many new syntactical features.

These include the

and elements, as well as the integration of SVG(Scalable Vector Graphics) content. I have been searching the best game engines for developers and finally i got the best HTML5 game engines that provides the platform where developers can create games according to requirement.

This list introduced some best CSS, javascript and HTML5 game engines. Visit this list and choose the best one for your game development. Also share your thought in our comment section below.

1) HTML5 Game Engine

Construct 2 is a leading high quality HTML5 game engine. Tens of thousands of HTML5 game developers are choosing Construct 2 to make HTML5 games.

2) Clanfx

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.

3) Crafty js

4) CSS Game Engine

This is a free game engine developed for programming browser based games. It uses the Javascript language and CSS (Cascading Style Sheets) to dress up the page. They run pretty reliably together. Use this engine to create your own game.

5) Effect Games

Effect Games provides a suite of developer tools for creating and publishing web-based video games. The software is free, and includes an asset manager, level editor, sprite manager, environment editor, and publishing tools.

6) Entity js

Entity is an awsome all new javascript game engine. It focuses on flexibility, reusability and robustness. To make this happen Entity utilizies the, entity-component design where all logic is implemented in components and entities are created from adding or removing components.

7) Flash js

FlashJS was born at the crossroad of HTML / CSS and beautiful Flash objective model that is known by many interactive developers and fits great for game development. This library allows to develop HTML5 games and applications in the way that is similar to ordinary AS3 development.

8 ) Game Query js

gameQuery is a jQuery plug-in to help make javascript game development easier by adding some simple game-related classes. It’s still in an early stage of development and may change a lot in future versions.

9) Gamma js

Gamma is a new Javascript library which can be used to create 2.5D platform games for a web browser using the power of HTML, JavaScript, CSS and WebGL.

10) Geom

Geom is a JavaScript Game Engine that allows you to develop HTML5 Games in no time. Games created with Geom require no browser plugins or any software installations and work with old browsers that support only the Javascript.

11) Impact js

Impact is a JavaScript Game Engine that allows you to develop stunning HTML5 Games for desktop and mobile browsers.

12) Isogenic Engine

The Isogenic Engine is a modern web-based game engine that allows you to rapidly develop your next single or multiplayer game for the web. Isogenic does not require any browser plugins which means players can run your game without Adobe Flash or Microsoft Silverlight, straight from their web browser.

13) Jaws js

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.

14) GMP

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.

15) Ingenio JS

ingenioJS is a JavaScript / HTML5 game engine. Its structure allows independent rendering methods, such as WebGL, Canvas or DOM Elements.

Thursday, December 1, 2011

Html5 Webworkers Introduction

The idea:
Multi-threaded html5 games. Sounds easy enough...

A little bit more detail.
So just about any game can benefit from being multi-threaded.
As an example:
1 thread for handling client side physics. (box2d.js)
1 thread for updating the server (nowjs / socket.io / node.js)
1 thread for managing the scene graph (scenejs, amino, cake, etc)
1 thread for rendering background (ground, buildings, etc)
1 thread for rendering foreground (player, baddies, items, etc)
A main thread for pushing from the backbuffer to the front. (canvas, webgl, etc)

The list can go on and on, not that it should.  If a function is simple, quick, and not constantly running, chances are it shouldn't have it's own thread.  The benefit of running multiple threads is the holy grail of games: consistent frames per second under variable load.  That right there is a hallmark of great game designers.  So many times I'll pop in a game that is professionally made for a closed source single system (ps3, xbox) with very known hardware specs and at points in the game they're will be a frame per second drop (offline).  This could be debated and I'm sure it is other places.

And here is a little FPS loop (javascript):

var fps = 0, now, lastUpdate = (new Date)*1 - 1;

// The higher this value, the less the FPS will be affected by quick changes
// Setting this to 1 will show you the FPS of the last sampled frame only
var fpsFilter = 50;

function drawFrame(){
  // ... draw the frame ...

  var thisFrameFPS = 1000 / ((now=new Date) - lastUpdate);
  fps += (thisFrameFPS - fps) / fpsFilter;
  lastUpdate = now;

  setTimeout( drawFrame, 1 );
}

var fpsOut = document.getElementById('fps');
setInterval(function(){
  fpsOut.innerHTML = fps.toFixed(1) + "fps";
}, 1000);

I'm sure somewhere someone has come up with a hard fast rule about what a good fps is.  I just like to think that anything above noticeably inconsistent and slow.  My goal is almost always 30+ FPS for the composited flip, less than that and people will notice, less than 24 and people will really notice.

Here is a wonderful js file for FPS https://github.com/mrdoob/stats.js as always mrdoob is saving our butts.

So on to webworkers: a nice little tutorial: http://www.whatwg.org/specs/web-apps/current-work/multipage/workers.html and here: http://www.codediesel.com/javascript/introducing-html5-web-workers/

What are Web Workers

Web Workers are basically a API specification that lets you create background JavaScript threads to process CPU intensive tasks. Normally in browsers a single thread is created to handle all the JavaScript code. So whatever JavaScript code is run in the browser is executed in that single thread; whether you are doing some calculation or updating page elements. The downside of this is that some CPU intensive piece of JavaScript can render the page unresponsive or slow it to a crawl.
Web Workers alleviate this problem by letting you create multiple JavaScript threads that will run independent of each other, this will prevent one CPU intensive piece of JavaScript from interfering with the UI code.
And there you have it.  This post is just an introduction.  The eventual goal being an explanation of how to apply webworkers to just about everything.  But first I have to figure that out. ha.