minimalist html5 template of infrastructure useful for most games
JavaScript
Pull request Compare This branch is 2 commits behind gladiusjs:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
node_modules Landed node version of qunit 0.5.1 Apr 26, 2012
test
tools Remove oneless.js, since the rest of the LESS stuff is gone May 3, 2012
www
.gitignore README updates and a .gitignore. Feb 17, 2012
README.md Fix Markdown syntax error May 22, 2012
package.json Volo add now puts libraries in the right place; requires volo 0.1.3 May 9, 2012
volofile Fix volofile to build and optimize libraries loaded by static script … May 10, 2012

README.md

barebones HTML5 game template

This template supplies basic infrastructure that a good web game can be built on, so that as the game developer, you can just get on with writing that game.

fast start

easy build & deploy

  • builds minified game configured for browser appcache using UglifyJS and almond.js
  • trivial to deploy to a live server (currently supports github-pages)

default best practices help your codebase scale

  • structured for maintainability using RequireJS
  • includes pre-configured QUnit test harness

easy to specialize

it should be easy to build higher-level, more specialized templates (e.g. for a simple canvas game, a game based on the Gladius engine, or an MMORPG) on top of this one.

prerequisites

  • be sure node.js and npm are installed and in your PATH
  • (optional) if you wish to deploy to github pages, ensure that git is installed and configured
  • Use npm to install volo into your path, if it's not there already:

    npm install -g volo

let's get started

Create and configure a new copy of this game template:

> volo create myNewGame gladiusjs/html5-game-template
Downloading: https://nodeload.github.com/gladiusjs/html5-game-template/zipball/master
Downloading: https://nodeload.github.com/toji/game-shim/zipball/master

Take a look around:

> cd myNewGame
> ls
README.md       package.json    tools           www
node_modules    test            volofile

Add any libraries that you intend to use. volo uses github's search API to find them and grabs the latest released version.

> volo add three.js
Using github repo "mrdoob/three.js" for "three.js"...
Downloading: https://raw.github.com/mrdoob/three.js/master/build/Three.js
Installed github:mrdoob/three.js/master at js/three.js

> volo add stats.js
Using github repo "mrdoob/stats.js" for "stats.js"...
Downloading: https://raw.github.com/mrdoob/stats.js/master/build/Stats.js
Installed github:mrdoob/stats.js/master at www/js/lib/stats.js

Do any development you like, putting tests into the test/ directory infrastructure if you wish. (Not shown :-)

Build a minified version complete with an appcache file:

> volo appcache
(...)

Deploy the built version to the gh-pages branch of suitably named repo:

> volo ghdeploy
Log in to GitHub to complete action (your password is not saved. It is sent over SSL to GitHub and converted to an OAuth token)
GitHub user name: dmose
GitHub password: 
Contacting GitHub...
  (...)
To git@github.com:dmose/monkeyGame.git
e5dbfd4..1296c81  gh-pages -> gh-pages
GitHub Pages is set up. Check http://dmose.github.com/monkeyGame/ in about 10-15 minutes.

misc

  • FAQ
  • upcoming features (depending in part on user feedback): jshint, Mozilla Persona auth, Node.js server side piece

credits

Main developers: Dan Mosedale and James Burke

This template is based on, and still shares code with, James Burke's create-responsive-template for volo, and leans heavily on volo. Thanks to the contributors to both volo and create-responsive-template.

Thanks to Alan Kligman for helping crispify various parts of the the documentation and what we're shipping.

Thanks also to the authors of the following: