gin icon indicating copy to clipboard operation
gin copied to clipboard

gin - a simple & efficient HTML5 game engine

Welcome to send me feedback in github or "@huandu":http://twitter.com/huandu on twitter.

If you want to play with gin now, see "live demos":http://www.realdodo.com/gin-samples. Clone the "gin-samples":https://github.com/huandu/gin-samples project on github for sample source code.

h2. What's the gin

The gin is a Game Interactive eNgine. It's designed for HTML5 games on modern browser and mobile device.

gin is a light-weight engine. Unlike other engines, it doesn't require any OOP knowledge and pre-compile work. It is very straight forward.

Gin is also a kind of distilled beverage, but I've never tried it.

h3. Goals

The major goal is to implement most common features required by HTML5 game developers. It will include animation timeline, graphic layers and mouse/gesture/keyboard input support.

With gin, developers should be able to focus on game logic and graphic effects, just like programming in flash. It also implements MovieClip equivalent concept - the layers. Developers can move/resize/render layers independently.

gin caches all keyboard/mouse events. Developers must process these events inside beforerender/render callbacks rather than directly receiving events by adding listerners. It's a different thinking model comparing to other engines. This model will benefit a lot in long term.

I may add WebGL support in the future.

h3. Non-Goals

It will never include

  • Canvas scene graph api
  • Physical engine
  • Hit test
  • General purpose algorithms, e.g. Array.each. I don't want to waste my life.

It's highly recommended to use gin with other js frameworks to complete more tasks.

For instance, developers can use "jQuery":http://jquery.com/ to animate DOM elements. It also means, gin will not include any DOM element animation support.

I don't want to reinvent wheel. If I'm doing so, please let me know.

h2. Browser Compatability

The gin is tested on

  • Chrome 8/10
  • Firefox 3.6/4.0
  • Internet Explorer 9.0