<a title="Conway's Game of Life" href="http://en.wikipedia.org/wiki/Conway%27s_Game_of_Life">Conway's Game of Life</a> is a popular zero player cellular automaton game devised by the John Horton Conway in 1970. Each cell has 2 states: live or dead. There are 4 simple rules that determine this:
	<li>
<ul>Any live cell with fewer than two live neighbours dies, as if caused by under-population.</ul>
<ul>Any live cell with two or three live neighbours lives on to the next generation.</ul>
<ul>Any live cell with more than three live neighbours dies, as if by overcrowding.</ul>
<ul>Any dead cell with exactly three live neighbours becomes a live cell, as if by reproduction.</ul>
</li>

The game makes for a fun evolution as the player sets the initial condition and then observes the evolution of the game.

From a programmer's perspective, the game is closer to an image processing algorithm. The "world" is a 2D image, where each pixel is a cell.
The state of a cell at a time is solely determined by the number of neighbours at the previous step.
The number of neighbours can be computed using a convolution kernel:
<a href="http://sandbox.arrayfire.com/wp-content/uploads/2014/12/kernel_CodeCogsEqn1.png"><img class="size-full wp-image-7582 aligncenter" src="http://sandbox.arrayfire.com/wp-content/uploads/2014/12/kernel_CodeCogsEqn1.png" alt="kernel_CodeCogsEqn" width="159" height="67" /></a>