July 1st, 2024

Conway's Game of Life for Curved Surfaces

Conway's Game of Life, a classic cellular automaton, inspires SmoothLife by Stephan Rafler. SmoothLife adapts Life's rules to continuous spaces using differential equations and sigmoid functions, providing a novel perspective on cellular automata.

Read original articleLink Icon
Conway's Game of Life for Curved Surfaces

Conway's Game of Life is a well-known cellular automaton with simple rules that create complex patterns. It has been a popular project for novice programmers since its invention in 1970 by John Conway. The game's rules involve cells transitioning between alive and dead states based on the number of neighbors they have. Recently, a generalization of the Game of Life to smooth spaces, called SmoothLife, was proposed by Stephan Rafler. In SmoothLife, the traditional grid of cells is replaced by an effective grid obtained through averaging over a disk. Transition functions are defined by differential equations derived from a smooth interpolation of the original Game of Life rules. The concept involves representing cell states and neighborhood counts with continuous values and using sigmoid functions for state transitions. The implementation of SmoothLife requires discretizing the field and solving for coefficients to approximate the solution. Rafler's work introduces a new perspective on extending Conway's Game of Life to continuous domains, offering a fresh approach to cellular automata simulations.

Link Icon 11 comments
By @quuxplusone - 5 months
The end of the post links to two jsfiddles:

> If you want to try out SmoothLife yourself in your browser, I made a few jsFiddles which illustrate the basic principle. Here is a Fourier based implementation that follows the discussion in this article pretty closely: http://jsfiddle.net/mikola/aj2vq/

> I also made a second WebGL/GPU based implementation that uses a discretization similar to that proposed in Rafler’s original paper: http://jsfiddle.net/mikola/2jenR/

The jsfiddles seem to still be alive, but the "Run" button doesn't work for me. Anyone have any luck with them?

By @lamsey - 5 months
https://art.muth.org/smoothlife.html#

webgl implementation of SmoothLife from the comments section of the YouTube video linked in this article

By @Aardwolf - 5 months
Since this is (at least approximately) invariant under continuous shifts, continuous rotations, and time, should there be some kind of conservation of momentum and energy be visible? At least the amount of white/black shade in cells isn't conserved as far as I can tell (unless perhaps the white is spreading out while fading to black over huge distances... but the grid is wraparound here so probably not the case here)
By @fallingknife - 5 months
That "smooth life" video was amazing! Really has an actual life feel to it.
By @DiscourseFan - 5 months
Calculus plus Conway's Game of Life = infinitesimal approximation of actual life while never reaching its full complexity! But the artifice is cool, its similar in many ways to Gaudi's work, except that Gaudi probably understood, in some way, that what he was doing was artificial, which is what makes it both so fascinating and disturbing at the same time: it plays with, and then expands life. We view this as a subjugation of life to architecture--now, of course, computer architecture. What if the infinite overwhelmed the finite instead? Then we could have a power unparalleled in history. But it would not be an infinity from the perspective of the finite; symbolized, but not represented. We could say, beyond infinity, like Buzz Lightyear!
By @dang - 5 months
Discussed (just a bit) at the time:

Conway’s Game of Life for Curved Surfaces - Part 1 - https://news.ycombinator.com/item?id=4808071 - Nov 2012 (1 comment)

By @lbeckman314 - 5 months
That same paper was also cited by Lenia [0,1], another family of "continuous cellular automata"!

[0] https://chakazul.github.io/Lenia/JavaScript/Lenia.html

[1] https://chakazul.github.io/lenia.html

By @thijsai - 5 months
I did a Swift+Metal implementation of SmoothLife a while back: https://github.com/tscheepers/SmoothLife-Swift
By @alvincodes - 5 months
Love it when more of the Internet discovers Mikola's work. This guy made so many nifty packages
By @cyanydeez - 5 months
What's important is there's a whole Conway wiki with an alien language that a LLM could learn to generate.
By @rossant - 5 months
(2012)