Home > Articles > Science & Technology > Conway's game of Life

Conway's game of Life

Now you can play Conway's Game of Life in your browser using a program written by Sean McManus

Hands holding a plant shoot in a clod of mud

The game of Life was developed by John Conway of Cambridge University and goes back over thirty years. It's a model for a simple ecosystem, but its basic rules give rise to surprising complexity.

The world is divided into squares which can be vacant or occupied by cells. With each passing generation, some cells will survive while others die. Cells can be born in empty spaces.

A cell's destiny is governed by how many neighbours it has:

  • A cell with four or more neighbours dies from overcrowding
  • A cell with one or no neighbours dies from loneliness and isolation
  • An empty space with three neighbours gives birth to a new cell
  • Cells with two or three neighbours survive to the next generation

Example evolution

This arrangement is stable. It doesn't lead to any births or deaths:

Screenshot of stable life system

But if we introduce just one cell inside the top right corner of the 'circular' structure, it starts changing. After two generations, it looks like this:

Screenshot after two generations

After four generations, it looks like this:

screenshot after four generations

After six generations, it looks like this:

screenshot after six generations

It evolves for about twenty generations in all before settling down to a new stable pattern with fewer cells, which looks like this:

Screenshot of new stable pattern

Example glider

There are many shapes that appear to crawl across the area. Here's one:

Screenshot of glider

You can find more examples of gliders and stable shapes by following the links below, but you might want to discover some for yourself first.

Play Conway's game of Life online

I've created a version of Life for you to play on this website. It opens in a new window. To play, move the mouse over the play area and click to add or remove a cell. Press the 'generate' button to evolve one generation. You can add and remove cells at any time.

Related links

Photo by Pexels

Credits

© Sean McManus. All rights reserved.

Visit www.sean.co.uk for free chapters from Sean's coding books (including Mission Python, Scratch Programming in Easy Steps and Coder Academy) and more!

Discover my latest books

Coding Compendium

Coding Compendium

A free 100-page ebook collecting my projects and tutorials for Raspberry Pi, micro:bit, Scratch and Python. Simply join my newsletter to download it.

Web Design in Easy Steps

Web Design IES

Web Design in Easy Steps, now in its 7th Edition, shows you how to make effective websites that work on any device.

100 Top Tips: Microsoft Excel

100 Top Tips: Microsoft Excel

Power up your Microsoft Excel skills with this powerful pocket-sized book of tips that will save you time and help you learn more from your spreadsheets.

Scratch Programming in Easy Steps

Scratch Programming IES

This book, now fully updated for Scratch 3, will take you from the basics of the Scratch language into the depths of its more advanced features. A great way to start programming.

Mission Python book

Mission Python

Code a space adventure game in this Python programming book published by No Starch Press.

Cool Scratch Projects in Easy Steps book

Cool Scratch Projects in Easy Steps

Discover how to make 3D games, create mazes, build a drum machine, make a game with cartoon animals and more!

Walking astronaut from Mission Python book Top | Search | Help | Privacy | Access Keys | Contact me
Home | Newsletter | Blog | Copywriting Services | Books | Free book chapters | Articles | Music | Photos | Games | Shop | About