Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aduros/hydra
An HTML5 game engine for the many faces of mobile WebKit.
https://github.com/aduros/hydra
Last synced: 26 days ago
JSON representation
An HTML5 game engine for the many faces of mobile WebKit.
- Host: GitHub
- URL: https://github.com/aduros/hydra
- Owner: aduros
- License: mit
- Created: 2010-10-18T07:33:46.000Z (about 14 years ago)
- Default Branch: master
- Last Pushed: 2013-11-06T05:11:04.000Z (about 11 years ago)
- Last Synced: 2024-10-05T15:01:15.691Z (about 1 month ago)
- Language: JavaScript
- Homepage:
- Size: 10.2 MB
- Stars: 64
- Watchers: 9
- Forks: 13
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
Hydra
=====Hydra is a Javascript game engine for mobile browsers. It's been used in several
commercial HTML5 games:* [Block Dream](http://aduros.emufarmers.com/html5/blockdream) ([source](http://github.com/aduros/hydra/tree/master/projects/tetris/))
* [Fruit Link](http://aduros.emufarmers.com/html5/fruitlink) ([source](http://github.com/aduros/hydra/tree/master/projects/jam/))
* [Snow Bound](http://aduros.emufarmers.com/html5/snowbound) ([source](http://github.com/aduros/hydra/tree/master/projects/ski/))
* [Blast Effect](http://aduros.emufarmers.com/html5/blasteffect) ([source](http://github.com/aduros/hydra/tree/master/projects/chain/), WebKit only for now)
* [Playstore Games](http://playstore.vn/) (Who Wants to be a Millionaire, and Vietnamese card games)Status
------Work on Hydra has stopped, but the lessons learned on this project are going toward
[Flambe](https://github.com/aduros/flambe), a framework for rapid development of mobile and desktop
games.Design
------Hydra aims to be fast:
* Animations are implemented as CSS transitions, which can be hardware accelerated.
* All game updates are performed on a single setInterval callback.
* Games are compiled with Google's Closure Compiler in "advanced" mode, allowing aggressive inlining and dead-code elimination.Hydra also aims to be functional:
* Animations can programmatically be started, paused, and sequenced together.
* Games are composed from scenes, entities (which live in scenes) and tasks (which act upon entities).
* Has the usual collection of utility functions and classes, supplemented by the massive Closure Library.
* Needless abstractions are avoided, you should still know how to work with the DOM and skin your game with CSS.Platforms
---------Hydra currently has three heads:
* iOS 3+ (iPhone, iPod touch, iPad)
* Android 2.1+
* Desktop browsers: Chrome, Safari, Firefox, OperaBuilding
--------Hydra is still undocumented, filled with broken glass, and will eat your first
born child. If you still want to try to tame it:Download the Closure submodule:
git submodule init
git submodule updateUse [Rake](http://rake.rubyforge.org/) to build an example project:
cd projects/chain
rakeThe "chain" (Blast Effect) and "ski" (Snow Bound) games are probably the best
places to learn your way around by example.`rake` by itself will build the entire game for all supported browsers. For
development, you can use `rake js` to only build for the browser specified by
`DEFAULT_TARGET`. `rake css` will build only the CSS.