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.
- includes Toji's game-shim polyfills to smooth over browser differences
- easy to pull in some key libraries from github using James Burke's volo
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.
- 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
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 firstname.lastname@example.org: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.
- upcoming features (depending in part on user feedback): jshint, Mozilla Persona auth, Node.js server side piece
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: