GoL.py

A Random Game of Life animation generator

Game of Life Animation

GameOfLife.py 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

GameOfLife.py

Written in Python, utilizing NumPy for mathematical operations

Matplotlib for the visualization and animation generation

and PySimpleGUI for the GUI

Game of Life GUI
Game of Life Animation

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

Reflection

My journey with Conway's Game of Life began in childhood when I saw it at a science museum. I was captivated by the animations, even if I didn't fully grasp the concept at the time. Over the years, my appreciation for the game's underlying beauty and complexity has deepened.

My first implementation was a simple text-based version with a fixed-size board. Initially the algorithm governing the cellular automata was very basic, naive, and slow. Through several iterations I gained valuable insight into optimization techniques and explored various approaches: different ways to solve the same problem.