Game of Life

A Random Game of Life animation generator

Game of Life is an implementation of Conway's Game of Life for Python

The user selects the size of the game-space and the number of generations

and specifies an output filename

The program then randomly selects a starting population for the game board

And generates a .gif animation of the resulting simulation

Game of Life.py

Is written in Python, utilizing NumPy for mathematical operations

matplotlib for the visualization and animation generation

PySimpleGUI for the GUI

The boards are generated pseudo-randomly, for some random fun.

Reflection

I was first introduced to Conway's Game of Life as a child, at a science museum near where I grew up. I... didn't get it. It didn't seem like much of a "game," at the time. But I liked watching the animations that resulted. With age, I've come to appreciate the beauty of the game.

My first implementation of the game consisted of solely text, and a fixed size board. The governing algorithm of the cellular automata was naive and quite slow. I went through a few iterations and learned a good deal about optimization and solving the same problem in a variety of ways with a variety of tools.

The board is programmed to "wrap" in a toroidal fashion. I found that generated more interesting animations. The initial state of the board is generated pseudo-randomly for some unpredictable fun.