To play the game, click here!
Conway's Game of Life is a famous cellular automata that simulates the evolution of a society made by very simple life forms.
The universe of the Game of Life constists in a two-dimensional grid of square cells, each of which can either be dead or alive.
When a generation passes, every cell interacts with its eight neighbours, which are horizontally, vertically or diagonally adjacent, changing it's state based on four different rules.
- Any alive cell with less than two alive neighbours dies, as if caused by solitude.
- Any alive cell with two or three alive neighbours lives on to the next generation.
- Any alive cell with more than three alive neighbours dies, as if caused by overpopulation.
- Any dead cell with exactly three alive neighbours becomes alive, as if caused by reproduction.
While having very simple rules, this game becomes very interesting when studying and applying patterns.
A pattern is a starting configuration choosen by the user, which then evolves in a very interesting way. Even the simplest of patterns can evolve into something huge.
The game has also been classified Turing Complete by mathematicians, meaning that it can emulate a completely working computer.
Here's an example of how a pattern can evolve into something cool looking!
This game's variant contains some tools to help you to track, evolve and setup your patterns.
- Generation, population and status statistics
- Completely automatic or step-by-step evolution
- A "drawing" tool linked to your mouse
- Simple click on a cell - Change the state of the cell
- Prolonged left click - Change the state of hovered cells into alive
- Prolonged right click - Change the state of hovered cells into dead
Any contributions you make are greatly appreciated!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/{FEATURE_NAME}
) - Commit your Changes (
git commit -m '{DESCRIPTION}'
) - Push to the Branch (
git push origin feature/{FEATURE_NAME}
) - Open a Pull Request
Distributed under the GNU General Public License v3.0. See LICENSE
for more information.