doc | ||
docs | ||
resources | ||
src/cljc/mw_engine | ||
test/mw_engine | ||
.gitignore | ||
buildall.sh | ||
LICENSE | ||
project.clj | ||
README.md |
mw-engine
Core cellular automaton engine for MicroWorld.
Part of the overall MicroWorld system
While this code works and is interesting on its own, you also need at least mw-parser and mw-ui. There will be other modules in due course.
You can see MicroWorld in action here - but please don't be mean to my poor little server. If you want to run big maps or complex rule-sets, please run it on your own machines.
Version compatibility
There are substantial changes in how rule functions are evaluated between 0.1.x versions of MicroWorld libraries and 0.3.x versions. In particular, in 0.3.x metadata is held on rule functions which is essential to the functioning of the engine. Consequently, you cannot mix 0.1.x and 0.3.x libraries: it will not work.
Usage
Primary entry points are make-world and run-world, both in mw-engine.core. See source or generated documentation for details. Documentation can be generated using
lein marg
To build the whole system, place all MicroWorld projects in a common directory, and from that directory run buildall.sh. Alternatively, in each MicroWorld project directory, run
lein clean
lein compile
lein marg
lein install
and then from the mw-ui directory, run
lein ring server
License
Copyright © 2014 Simon Brooke
Distributed under the terms of the GNU General Public License v2