Several implementations of Conway's Game of Life.
This project uses Python and Anaconda. If you don't have Anaconda, follow the instructions to install it. You can use Miniconda if you'd rather not download the entire planet.
Then just run
make to create an environment and all the application dependencies.
It's probably easiest to start with the CLI.
Running as a command-line application
./cli --help for options.
Running as a web application
./web. It accepts the same options as
./cli, and you can set the
PORT environment variable to change the port.
You can configure the application to use a different style of iteration.
There are currently three styles, which can be specified on the command line (e.g.
translate(the default) uses matrix translation to calculate the next generation.
mappinguses a huge lookup table.
neural-networkuses a basic 3-layer neural network, which requires training first.
To train it, run
PYTHONPATH=src python ./src/styles/neural_network.py.
By default, Predestination generates a random, uniformly-distributed game the same size as your window, and then iterates from there. To use a file as the starting game instead, just pass it using the
--file option. You can see an example in test/fixtures/glider.life.