This is a master thesis project by me, Mario Ranftl (@majodev). The goal was to create an application that's suited for conducting therapeutic exercises (and according to experts, it is!). It's a JS/HTML5 game and playable in browsers, but also runnable as standalone desktop application.
Physiogame uses the Leap Motion controller as its primary input device (playing via mouse/touchscreens is also possible). It tracks the progress of its users and provides statistics that can be later exported to CSV (e.g. to import the stats in Microsoft Excel) and JSON. The behaviour, visuals, input of the game and its objects (normal and special) can be highly customized, hence there are maaaaaany parameters to modify the look and feel!
~~Attention: No i18n! Only german texts for now.~~ Added i18n v1.1.0 Feb 23, 2014, Physiogame ships with German and English texts! :) Issues
All releases of Physiogame are here: (version 1.1.0, Feb 23, 2014)GitHub releases
How does it look?
`npm install -d` Building
Building 3rd party libs
Some libraries in src/vendor might need to be build manually (e.g. webfontloader via rake). Trace the error through the r.js optimization script if you encounter any errors or try to run setup before and consult your preferred js-dev-console.
Grunt build task
The grunt task
grunt build takes care of all js/css minifying and assets/templates copying to the folder
Running a build
Fire up your http-server in project root, e.g. simple http-server for node
localhost:8080/build and enjoy
Even though there is no require (from node-webkit) in the global namespace during startup, a normal r.js optimized build will crash in node-webkit! I'm using Why almond?almond to tackle these build problems for node-webkit (furthermore the result is 2kb smaller).
It's possible to do release builds for node-webkit via Releasinggrunt-node-webkit-builder for Windows, Mac and Linux in one step. Here's how it works:
That's it! Easy huh?!
needs Testingphantomjs bin in path!
Linksresolving r.js and leapjs error
Balloons Vectors by Stuart Bainbridge * Creative Commons Attribution-Share Alike 3.0 License. Assets
Alien sprites and explosion animation by PIXI.js team
- MIT License
Music by The Open Game Art Bundle (from Stratkat and Epic Battle Fantasy III)
- Creative Commons Zero License
Webfont Arvo by Anton Koovit
- SIL Open Font License, 1.1
Icons Hand and Arrow by Dave Gandy (Font Awesome)
- SIL Open Font License, 1.1
requirejs, almond, backbone, lodash Libraries
Modernizr, pixi, leapjs, keymaster, jquery, howler, webfontloader, loglevel, spinjs, polljs, bootstrap, text, handlebars, requirejs-handlebars, bootstrap-slider, Backbone.localStorage, csv, FileSaver, momentjs
http-server, chai, mocha, phantomjs, mocha-phantomjs, grunt-cli, grunt-contrib-watch, grunt-shell, grunt-contrib-copy, grunt-contrib-cssmin, grunt-modernizr, grunt-contrib-uglify, grunt-node-webkit-builder
Sublime Text 2, node-webkit, Adobe CS6 Suite, Texture Packer, Audacity, cfxr, XLD, Otomata, ImageOptim, ImageAlpha Tools
* @nischi * @jrburke * C.A.F. * Ranftl family * NICI <3 Thank you!
In cooperation with FH JOANNEUM Graz, Austria.
- advanced information management
- physiotherapy and
- occupational therapy
![Image](pics/majodev-logo-min.png?raw=true) Copyright and Licenses
Sourcecode: GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007
Assets: Attribution-ShareAlike 3.0 Unported
Please see LICENSE.md for further information of 3rd party licenses (used assets and libs)
(c) 2013-2014 Mario Ranftl (majodev).