Smoothlife
October 10, 2012 4:29 PM   Subscribe

SmoothLife is a continuous version of John Conway's Game of Life. When you tire of watching the hypnotic video you can read a technical description of SmoothLife on the arXiv. Then you can watch more videos of SmoothLife.
posted by escabeche (30 comments total) 54 users marked this as a favorite
 
Allow me to be the first to say that a) this is awesome and b) can somebody please post an explanation for laypeople.
posted by HeroZero at 4:44 PM on October 10, 2012


JHarris posted a great explanation of Conway's Life a while back.
posted by griphus at 4:46 PM on October 10, 2012 [1 favorite]


Beautiful, like white noise pooling at the bottom of a TV screen.
posted by Nomyte at 4:47 PM on October 10, 2012


griphus, this variation on the game runs on somewhat more complicated math. Instead of counting the number of occupants in neighboring squares, it measures the amount of stuff within some radius. This is why the shapes it generates are so natural-looking. It's amazing that you can still get persistent objects (e.g., gliders).
posted by Nomyte at 4:51 PM on October 10, 2012


The 3D related videos are even more amazing.
posted by DU at 4:51 PM on October 10, 2012


By the way, game of life is very easy and fun to program in a language like python or ruby. A few months ago I've spent about a week trying various randomness modifications to game of life algorithm. I was planning to use them to create background and growth patterns for a small roguelike.

Here's game of life code in python (not mine)
posted by rainy at 4:57 PM on October 10, 2012 [1 favorite]


omg, it's a video demoing something to do with art+computers, better throw on a drum n' bass soundtrack.
posted by victory_laser at 5:00 PM on October 10, 2012 [2 favorites]


omg, it's a video demoing something to do with art+computers, better throw on a drum n' bass soundtrack.

To be fair I managed to convince myself that the music was procedurally generated for a while...
posted by Strass at 5:01 PM on October 10, 2012


Check out Ch. 17 (pdf) of Michael Abrash's Graphics Programming Black Book if you are somehow interested in both Life and extreme! x86 assembly optimization.
posted by Ad hominem at 5:10 PM on October 10, 2012 [4 favorites]


The 3d pulsating gliders are awesome... looks very organic.
posted by Hairy Lobster at 5:25 PM on October 10, 2012




WOAH! And I thought the original was nearing uncanny!
posted by Matt Oneiros at 5:49 PM on October 10, 2012


I'm surprised the FPP didn't link to the Sourceforge page where you can download SmoothLife yourself.
posted by JHarris at 5:55 PM on October 10, 2012


I've been playing with it for the past two hours! The rules you come up with are easy to cut and paste from the config file, too. Like these:

2 2 12.0 3.0 12.0 0.100 0.303 0.325 0.334 0.551 4 4 4 0.028 0.147 // ring crystals and plasma
2 2 12.0 3.0 12.0 0.100 0.278 0.371 0.376 0.444 4 4 4 0.028 0.147 // cytogenetic wavefronts
2 2 22.4 3.0 12.0 0.100 0.222 0.141 0.403 0.728 3 4 4 0.028 0.147 // cocktail party for ghosts
2 2 12.0 3.0 12.0 0.115 0.166 0.173 0.101 0.226 4 9 4 0.028 0.147 // biphasic wobblers
posted by squidlarkin at 5:59 PM on October 10, 2012 [1 favorite]


JHarris posted a great explanation of Conway's Life a while back.

Yeah, but there are a couple of things about that comment I wish I could revise. My description of the FPP'd pattern's speed is incorrect, for instance. And there is a terrible paragraph early in it where I use the word pattern four times in close proximity.
posted by JHarris at 6:11 PM on October 10, 2012


Check this one out. (Notice: joke)
posted by JHarris at 6:13 PM on October 10, 2012


Pretty! The connection to Conway's Game of Life is tenuous at best. Really it's an extension of 2d two state cellular automata to continuous values and space. Nothing wrong with that, but Conway's Life is such a specific cellular automata it's weird the paper invokes it.
posted by Nelson at 6:44 PM on October 10, 2012 [1 favorite]


It's all fun and easy listening until one pattern gains sentience and wipes us out.
posted by Wataki at 7:29 PM on October 10, 2012


I'm surprised the FPP didn't link to the Sourceforge page where you can download SmoothLife yourself.


It's Windows only! for shame.
posted by BungaDunga at 7:34 PM on October 10, 2012 [1 favorite]


The irony, of course, being that the continuous evolution equations in the paper are sufficiently complicated that they have to be solved on a computer, with ones and zeros on a square grid.
posted by Johnny Assay at 7:43 PM on October 10, 2012 [3 favorites]


First, if they really want to adapt life to a continuous domain then it shouldn't have a clock. Updates should be continuous as well. Space is continuous, why not time?

Second, they make the state of each dependent on the state of the surrounding area. But shouldn't there be a propogation delay? A speed of light? It doesn't matter what the state of the distant cells were on the last clock cycle (or, see my previous sentence), but what they were a few clock cycles ago.

Honestly, I wish I had a little more free time (read: any) to explore these.
posted by It's Never Lurgi at 9:01 PM on October 10, 2012


I thought SmoothLife.exe was broken until I changed the config file so a different parameter set was on top (try "wowstuff mode 2"). Evidently the default is a 1D construct which isn't terribly interesting to look at. I wonder if there's a way to change the resolution...
posted by neckro23 at 9:39 PM on October 10, 2012


Second, they make the state of each dependent on the state of the surrounding area. But shouldn't there be a propogation delay? A speed of light?


In The Game of Life, anyway, there is a speed of light, it's the speed of the fastest glider- information has to be passed from one cell to the next, it can't skip cells, so there's a limit. My guess is there's an emergent speed of light for this thing, too.

And they can't be simulating a entirely continuous space- it has to be quantized at some level because we don't have infinite precision floats. And there's a planck time because you have to simulate "the time now" and "the time a little bit in the future." Heck even simulating reality requires some sort of time-step. Mathematically (I assume) the rules are actually continuous.
posted by BungaDunga at 9:43 PM on October 10, 2012 [1 favorite]


Ah, a concise explanation of how it works in a video- covers "how do you simulate a continuous space with a grid?" and smooth timestepping.
posted by BungaDunga at 10:07 PM on October 10, 2012


I can't wait to hear the musical version of this algo. Especially the 3-D pulsating gliders.

The future of simulation shall be rife with wonders.
posted by Twang at 10:13 PM on October 10, 2012


First, if they really want to adapt life to a continuous domain then it shouldn't have a clock. Updates should be continuous as well.

Yes, the third page of TFA talks about how they generalized it to continuous-time.
posted by hattifattener at 12:43 AM on October 11, 2012


In The Game of Life, anyway, there is a speed of light, it's the speed of the fastest glider

Not precisely true. The "speed of light," or c, in cellular automation, as with the real world, is the fastest rate at which changes may propagate through the universe. In Life, it's one cell per generation. The fastest glider is the smallest, the five-counter glider. It's speed is 1/4 c.
posted by JHarris at 1:59 AM on October 11, 2012 [2 favorites]


I shouldn't have used the term "speed of light". Let's say that you are writing a version of life in which your state is determined not just by the immediately adjacent cells, but by cells further away. Normally, in life, you take the state of the cells on the last clock tick and compute your new state. But! The cells further away are further away! It would take time for the knowledge of the more distant cells to reach you. For cells that are one step away, you use their state from the last clock tick. For cells that are two steps away, you go back two clock ticks.

That's what I'm talking about here. Has anyone tried that?
posted by It's Never Lurgi at 1:45 PM on October 11, 2012 [1 favorite]


That's actually kind of what happens in traditional Life, except the influence is felt through the medium of intervening cells. The state of neighbors two squares away does influence the current tile two turns from now. I recognize that you're talking about a rule that looks up past states, but in practice what you're doing is just a kind of delayed reaction. It turn out to be an interesting rule (it is difficult to say what's not interesting before you actually try it out), but it seems a little overcomplicated.
posted by JHarris at 3:29 PM on October 11, 2012 [1 favorite]


In the discrete version, though, there's a finite ∆x (one cell) and ∆t (one tick) that allows you to define a "speed of light." So far as I can tell, SmoothLife seems to have an infinite "speed of light"; the points that affect a given point on the grid can be up to a distance ra away, but they can affect the given point after an infinitesimally small amount of time. I'm not sure why this doesn't show up in the simulations, though, except perhaps to point to my comment upthread.
posted by Johnny Assay at 9:37 AM on October 12, 2012


« Older Nokia MeeGon tarina   |   Vamo Lo Pibe! Newer »


This thread has been archived and is closed to new comments