This is an interactive sandbox which contains an implementation of Conway's Game of Life and several other Cellular Automata.
Note: This application was developed for the COMP5400 module at the University of Leeds. A supporting written report has been provided alongside this repository, which presents the work completed and discusses the use of Cellular Automata as a biological model. This can also be found in the docs folder.
- Python 3
- Install Python project dependencies:
cd src
pip3 install -r requirements.txt
- Run game_of_life.py
python3 game_of_life.py
The grid is where the automaton output will be displayed. Click on cells within the grid to interact with them.
Press this button to start or pause the automaton on the current generation.
Displays a list of automata to choose from.
Resets all cells in the grid to the default state.
Saves the current grid state to a file which can be reloaded later.
Load a previously saved file to the grid.
Move the slider to the right to speed up the rate of automata generations.
Advance the automata by one generation.
Several automata are included in the 'options menu,' which have different rules.
This is the standard ruleset for Conway's Game of Life.
Click a cell multiple times to change it's type. Each type is able to 'dominate' one type, but loses to another type.
Cells can be set to specific colors which interact with one another to form new varieties.
Cells propagate by following rules similar to those which determine crustacean shell patterns
Brian's Brain, another popular type of cellular automata which produces a lot of gliders.
A game in which cells play the Prisoners Dilemma and must decide between altruistic and greedy strategies.