Game of Life implementation with a randomized initial grid state and drawn using TKinter.
Settings are placed at the top of the file for tinkering.
Typically, Game of Life grids are stored in a 2D bool array but I decided to store it in an array of integers wherein one bit represents one cell and different bitwise operations are used to access specific cell data. This could be more efficient than using a 2D boolean array, I wouldn't know. It's a lot more fun, however.