So before I begin to discuss the actual implementation I created, I'm going to briefly explain what Conaway's Game of Life is.
"The game of Life, also known simply as Life, is a cellular automation..." Wikipedia, 2017
So, the game is a system that automates cells (or pixels) in a grid, based on a set of rules. Game of Life is a zero player game, meaning that its future states, progression and evolution is based off of the initial state the game/system was in.
A user interacts with the game by inputting or creating an initial state, then viewing how it evolves.
As in most games, there are rules that must be followed. However, these are not followed by the user, but by the cells. These rules determine whether the cell is dead (white) or alive (black)
- Any live cell with fewer than two live neighbors dies, as if caused by under population.
- Any live cell with two or three live neighbors lives on to the next generation.
- Any live cell with more than three live neighbors dies, as if by over population.
- Any dead cell with exactly three live neighbors becomes a live cell, as if by reproduction.
That's the basics of Conaway's Game of Life - more information can be found here.
So, onto my implementation of the Game of Life. At a trip home for a family event, I was talking to my cousin's boyfriend (studies Physics at UoN) who told me that he had spent some time developing a script in Python that implemented Conaway's Game of Life. This conversation sparked my interest, so that night, once I got home, I decided to attempt to implement it. Which is exactly what I did.
This project is only a small programming task, in respect to other projects I have worked on. However as I still include it, as no matter the size of project, it is important no matter what, and every project teaches you something that you didn't know.

