Public | Automated Build

Last pushed: 2 months ago
Short Description
Several implementations of Conway's Game of Life.
Full Description


Several implementations of Conway's Game of Life.


It's Python, so all you need is Python 3.6 and virtualenv (which you can install with pip install virtualenv or similar).

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

Just run ./cli. Run ./cli --help for options.

Running as a web application

Just run ./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 using the --style option:

  • translate (the default) uses matrix translation to calculate the next generation.
  • mapping uses a huge lookup table.
  • neural_network uses a basic 3-layer neural network, which requires training first.
    To train it, run PYTHONPATH=src python ./src/styles/


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/

Docker Pull Command
Source Repository