Hacker News new | past | comments | ask | show | jobs | submit login
Chip (samgentle.com)
250 points by sgentle on Aug 27, 2015 | hide | past | favorite | 36 comments



I really enjoy content like this on HN. No opportunity for vitriolic spats between dissenting opinions; just a cool thing that we got to see today.


This is a pretty fascinating pattern to watch once it settles. Does it have a name yet?

Some observations:

* The basis of stability seems to be horizontal and vertical alternating black/white lines.

* There are two obvious areas of activity: A region of 'chaos' and a region of 'order' (parallel lines).

* The parallel line region supports various gliders of various sizes. The smallest is a single pixel of change moving across a line, changing white to black or vise versa), the largest takes up 7 pixels at a time (in an area of about 7x12 it looks like). Interestingly, the larger one "moves" faster than the others. I think I see gliders of 1, 3, 5, and 7 pixel height. There may also be a mutation of the 7-pixel glider that causes it to go even faster (looks like it has an extended head compared to the other)

* The gliders interact with one another, either combining forces, neutralizing each other, or changing states to a glider of a different size (usually to a size smaller than the larger of the two)

* The gliders originate from the merger of the horizontal and vertical areas, starting (and ending) their life where the two regions collide

* When two gliders of the same size perfectly collide with one another, they completely neutralize. Any offset in size or orientation causes a smaller glider to spin away (likely representing the 'difference' in 'energy' between the two, whatever that means)

* There's also a 'blinker' that occurs when two alternating lines meet one another

* It appears to be a class IV cellular automata (https://en.wikipedia.org/wiki/Cellular_automaton#Classificat...)

Fascinating stuff. And so simple! Thanks for sharing the source.


Reminds me of some of the work Albert Omoss did for FITC Tokyo: http://albertomoss.com/work/fitctokyo2015


Amazing work, that is one multi-talented person.


That's beautiful, thank you for sharing.


>This is a pretty fascinating pattern to watch once it settles. Does it have a name yet?

Pretty sure the name is Chip, per the post / repo title.


Good point. Seems obvious now. I meant to say, does this "rule" have a name, but even then "Chip" suffices.


The behavior is also interesting at a larger scale. The regions of contiguous horizontal or vertical lines begin very small, and slowly increase in size over time.

I found a CA rule with similar behavior when I was playing them many years ago, although in that case, it was solid black/white regions instead of horizontal/vertical parallel lines.


It's very cool. I also notice that there is an area of chaos at the edge of the world, where the lines are perpendicular to the map edge. This can cause new areas to emerge and take over. For example, my current Universe has 3 distinct areas, but a 4th has emerged in the last 5 minutes from the right border that has expanded to the left.



Everybody knows Conway's game of Life, right? [1][2]

[1] http://www.conwaylife.com [2] http://www.cuug.ab.ca/dewara/life/life.html


Quite cool. Must not stare any longer. Must work.

>> Do you say "made" or "discovered" with cellular automata?

Discovered feels more appropriate, but I think they end up being the same thing.

Have you documented the system's rules anywhere other than the source?


I feel like the difference between "made" and "discovered" depends on how you get there. If you're tinkering with cellular automata, and you notice a rule that makes something pretty, I'd say you "discovered" it.

If, on the other hand, you study cellular automata until you have a deep understanding of their behavior, and you use that knowledge to determine a rule that will produce a particular aesthetic, you "made" it.

So by that reasoning, the rule was discovered. The program that renders it in a browser was made.


It gets into a pretty philosophical area. What's the difference between that and writing down an algorithm? Did you discover an algorithm or make it?


I think this sums it up nicely:

"The time-span in which the MCL process and MCL algorithm came to me was no more than five minutes. It was something that happened to me, not something wrought by me. It feels like a nice discovery, a phenomenon of nature."

-- http://micans.org/mcl/index.html?sec_discovery


Made the program, the program is an implementation of a discovery... it's a little of both.


2d cellular automata is quite vast. golly is a good tool.

http://golly.sourceforge.net


It could be Snow Crash. Memetic hazard, avert thine eyes!


Relax, I don't see anything that looks like a parrot.


Bet it's Turing complete. Many CAs are, and this one smells of it. :)


The embedded video at https://samgentle.com/posts/2015-08-21-universe-tuning doesn't work (it says it's private)


Oops! Fixed it. Unfortunately cellular automata looks terrible on video.


I'm currently building a 2D/3D simulation engine as part of my PhD - it's uncanny how incredibly simple physical principles generated output that has the "look 'n feel" of organic phenomena.


Can someone help me understand what the rel() function does?


It returns the value of a neighbor given an index, and an x and y delta value. So rel(20, -1, 0) would return the neighbor to the left (x=-1, y=0) of the 20th cell.


Uncaught TypeError: Failed to construct 'ImageData': Illegal constructor does not work


Looks to me like a constantly evolving maze. A shifting maze? Anyone watch the movie Cube (Cube is a 1997 Canadian science fiction psychological horror film, directed and co-written by Vincenzo Natali)?

This looks like a version of Cube, only in 2D.


Anyone else notice the DNE?


Try erasing the "Do not erase" sign by clicking it with your cursor "eraser". Cute :)


>Do you say "made" or "discovered" with cellular automata?

If it's your first time seeing it, then you have just discovered it. If you selected the parameters and coded the algorithm, then you also made it.


It Gave me nausea watching it.

Should have epilepsy warning.


I wouldn't be so sure... it is written in coffeescript after all. God forbid.


Detached from https://news.ycombinator.com/item?id=10131731 and marked off-topic.


It was just a joke, but fair enough lol.

edit: i'd just add that even though it's only a joke, a comment regarding (even if critical of) the language used to write the code is absolutely on topic.


CoffeScript is an abomination.

On the other hand, CofeeScript may have spurred many of the sweeping changes in ECMAScript 6 & 7.

On the other hand, are JavaScript classes actually a step backwards? Go doesn't have classes.

On the other hand, Go is an abomination.


You have too many hands.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: