Collide is an event-based simulation of elastic collisions between balls. It demonstrates how a single OCaml code base can run on multiple platforms (see below). And it's mildly entertaining to watch.
It's licensed under the MIT license. Its source code is on GitHub.
Questions? Remarks? Bugs? Want to contribute? Open an issue!
Just go to http://jacquev6.github.io/Collide.
Native applications can be installed using OPAM:
$ opam pin add --yes Collide https://github.com/jacquev6/Collide.git
You can then run the command-line application (generating video frames):
$ collide_cli --help
And the graphical application:
$ collide_gtk
Thanks to Apache Cordova, Collide is available on the following app stores:
It should be easy to publish as an iPhone, BlackBerry or Windows Phone app, but I have not tried.