EnjoyTime (life in French) is my take on Conway's Game of Life. The app allows players to create randomized Game of Life boards, as well as pick from almost 1000 patterns and run them on their device.
The Game of Life is a zero-player game, meaning that its evolution is determined by its initial state, requiring no further input. A player interacts with the Game of Life by creating an initial configuration and observing how it evolves.
John Horton Conway is a British mathematician active in the theory of finite groups, knot theory, number theory, combinatorial game theory and coding theory. He has also contributed to many branches of recreational mathematics, notably the invention of the cellular automaton called the Game of Life. Conway is currently Professor of Mathematics at Princeton University.
The rules are rather simple, each cycle:
every live cell that is surrounded by 2 or 3 live neighbours lives on
every live cell that is surrounded by less than 2 or more than 3 live cells dies (of underpopulation or overpopulation, respectively)
every dead cell that is surrounded by exactly 3 live cells is resurrected
The game goes on cycle after cycle until the board is solely composed of stills and oscillators.
The cell in the top right corner is going to die of underpopulation because it has only 1 neighbour. The cell in the bottom left corner is going to die for the same reason. The cell in the middle will live on because it has 2 neighbours.
The cells in the top left and bottom right corners will not be resurrected because they each have 1 neighbour. The dead cell in the middle will be resurrected because it has exactly 3 neighbours.
Resulting grid after 1 cycle
The app includes over a thousand patterns that can be loaded and run. A pattern is a given initial board that evolves in an interesting way. There are several major families of patterns: oscillators, stills, gliders, and more.
All the patterns used in this app come from the website www.conwaylife.com, which is a great source of information for everything to do with the Game of Life.
I built this app as a mean to sharpen my iOS development skills. I chose the Game of Life because I find the idea and the infinite possibilities fascinating, especially given the simplicity of the rules.