

This is an online SmoothLife simulator. SmoothLife is the generalization of Conway's Game of Life to a continuous domain, published by Stephan Rafler in 2011. Instead of cells that are alive or dead, every point of the grid has a value between 0 and 1. Instead of counting 8 neighbors, every point measures how full a small disk around it is (the "cell") and how full the ring around that disk is (the "neighborhood"). The two numbers decide whether the point is born, survives or dies, through smooth versions of the birth and death rules of the Game of Life.
From this rule comes the smooth glider: a round creature that can fly in any direction, not only along the lines and diagonals of the grid like the gliders of the Game of Life. Many other forms of life appear with other parameters: worms, paragliders, blinkers, webs, honeycombs and rotating hexagons.
Choose one of the 26 parameter sets of the original program, switch between discrete and smooth time steps, change the radii, the birth and death intervals and the shape of the transition function while the simulation runs, and draw or erase on the grid with the mouse.
You can download the current state as a PNG image, or create an animated GIF or a WebM video. Everything runs directly in your browser: nothing is uploaded to a server. You are free to share the generated images and videos anywhere. Attribution is not required but appreciated.
Stephan Rafler shipped his SmoothLife program with a long list of parameter sets, each with a short name describing what he saw. The 26 sets below come from that list. Every one starts from random disks, like in the original program, with a seed where its structures appear: try other seeds to see how they vary. Click on any set to start it.
SmoothLife was described by Stephan Rafler in 2011 in the article Generalization of Conway's "Game of Life" to a continuous domain - SmoothLife, and became famous through his videos of smooth gliders. It continues an older line of work: Larger than Life, by Kellie Evans, which gives the Game of Life a larger neighborhood, and RealLife, by Marcus Pivato, its limit when the neighborhood becomes infinitely large.
Rafler's idea is to give the cell itself a size. A point of SmoothLife is not alive or dead by itself: it is alive when the small disk around it is full, and dead when that disk is empty. Its neighbors are the ring around the disk. With an outer radius three times the inner radius, the ring is three cells wide, like the 3 x 3 neighborhood of the Game of Life. Rafler called the result the "generic" generalization of the Game of Life, and its glider the generic glider: it looks like both the glider and the spaceships of the Game of Life, and it can fly in any direction.
A close relative of SmoothLife is Lenia, the continuous cellular automaton of Bert Chan, whose creatures look like microscopic organisms.
On every step, every point of the grid is updated at the same time:
The transition function of the article is:
The disks and rings are computed with the fast Fourier transform, like in the original program, so the cost of a step doesn't depend on the radius: a ring of 60 cells is as fast as a ring of 10. That is why the sides of the grid are powers of two. The map next to the birth and death options draws s(n, m) for every n (from left to right) and m (from bottom to top): choose "The transition s(n, m)" in the "Show" option to see it applied to the grid.
The original program has more ways to build the transition function than the article, and many of its parameter sets use them:
| Option | Choices |
|---|---|
| Shape of the intervals | Moving interval (the article): one interval, whose borders move from [b1, b2] to [d1, d2] with the step in m. Two intervals, mixed by the step in m: the birth interval and the death interval are computed separately, and mixed by the step in m. Mixed linearly by m: the same, with m itself as the weight. Interval moving linearly with m: one interval, whose borders move linearly with m. |
| Shape of the steps in n and in m | The logistic function of the article, a hard step, a linear ramp, smoothstep (Hermite), a sine, the arctangent, the arctangent with a cosine wave, a logistic step that overshoots, and, for n only, logistic intervals with a dip or a bump in their middle. |
Below are all the options you can configure in this SmoothLife simulator.
| Field | Description |
|---|---|
| Parameter set | One of the parameter sets of the original program. Choosing a set sets all the parameters of the rule, the size of the grid and the random seed, and starts the simulation again. |
| Time steps and time step (dt) | Discrete (the new value is s(n, m)), smooth (the value changes by dt (2 s(n, m) - 1)) or smooth towards s (the value moves a fraction dt of the way towards s(n, m)). The same rule gives different forms of life in each mode. |
| Outer radius (ra) | The outer radius of the ring, in cells. Larger radii give larger and smoother structures, and need a larger grid. |
| Ratio of the radii (ra / ri) | The outer radius divided by the radius of the disk. The usual value is 3, like the 3 x 3 neighborhood of the Game of Life. |
| Width of the smooth border (b) | The width, in cells, over which the borders of the disk and of the ring go from full to empty. 0 gives hard, jagged borders. |
| Birth (b1 to b2) and survival (d1 to d2) | The fillings n of the ring at which an empty point is born, and at which a full point survives. |
| Step widths (αn and αm) | How smooth the borders of the intervals are (αn), and how smooth the switch from the birth interval to the death interval is (αm). |
| Shapes of the intervals and of the steps | The other ways of building the transition function of the original program, described above. |
| Start with | Random full disks with a radius from ra/2 to ra (the start of the original program), random noise, or an empty grid to draw on. |
| Amount of disks, points with noise and random seed | How many disks are placed (1 is the amount of the original program), the percentage of points that get a random value, and the number that places them: the same seed always gives the same start. |
| Columns, rows and size of the cell | The size of the grid, from 64 to 1024 points on each side (powers of two, for the fast Fourier transform), and the size of each point in pixels. The edges of the grid wrap around. |
| Speed | The number of steps per second. "Maximum" computes as many steps as your computer can while keeping the page responsive. |
| Clicking on the grid and radius of the brush | Draw full disks or erase, with a brush of the given radius in cells. |
| Show | The state f of every point, the filling n of its ring, the filling m of its disk, or the transition s(n, m) it gets on the next step. |
| Palette and smooth pixels | The colors given to the values from 0 to 1, and whether the pixels are smoothed when the cells are enlarged. |
| Animation | The format (animated GIF or WebM video), the number of frames, the number of steps between two frames and the number of frames per second. The animation starts from the current state, with the size of the image. |
Yes. The tool is completely free, there is no registration, and everything is computed by your own browser: nothing is uploaded to a server.
What is the difference between SmoothLife and the Game of Life?In the Game of Life, a cell is alive or dead, it counts its 8 neighbors, and the rule is a list of numbers of neighbors. In SmoothLife, every point has a value between 0 and 1, it measures the filling of a disk and of a ring around it, and the rule is two intervals of fillings. That is why the structures of SmoothLife look round and smooth, and why its gliders can move in any direction.
What is the difference between SmoothLife and Lenia?Both are continuous versions of the Game of Life. SmoothLife keeps the two numbers of the Game of Life, the state of the cell and the state of its neighbors, as the fillings of a disk and of a ring. Lenia, created later by Bert Chan, uses a single weighted ring and a growth function, and is known for its creatures that look like microorganisms.
Why did everything die, or fill the whole grid?Most parameter sets only live in a narrow range of parameters and starts. With a different seed, the disks may die out or merge into one big blob. Try another seed with the dice button, change the amount of disks, or choose the parameter set again to restore its parameters.
Why is the simulation slower with a large grid?Each step computes two fast Fourier transforms of the whole grid. A grid of 256 x 256 points takes a few milliseconds per step, a grid of 512 x 512 points about four times more, and a grid of 1024 x 1024 points about sixteen times more.
Can I download the animation as a video?Yes. In the "Download" section, choose "Animated GIF" or "Video (WebM)", the number of frames and the number of steps between two frames, and click on the download button. The animation starts from the current state of the grid.
Can I use the images and the videos commercially?Yes. The images and videos you generate are yours, and you can use them in any project.









