[HN Gopher] Game of Life, simulating itself, infinitely zoomable
___________________________________________________________________
Game of Life, simulating itself, infinitely zoomable
Author : surprisetalk
Score : 906 points
Date : 2024-03-23 13:24 UTC (9 hours ago)
(HTM) web link (oimo.io)
(TXT) w3m dump (oimo.io)
| zenmaster10665 wrote:
| Wow that is so cool. Fractal game of life! Is this just a very
| specific configuration that repeats in a fractal way?
| monitron wrote:
| Yes! The delightful reason why this configuration can repeat
| within itself is that this Game of Life pattern is a machine
| with the rules of Game of Life built into it. It's calculating
| and displaying the game step-by-step. If you watch the
| machinery you can see the "data" flying around between cells
| and then the cells turning on and off.
|
| This pattern isn't _unique_ - you could certainly come up with
| infinitely many more machines in Game of Life that do the same
| thing. But yes, most Game of Life patterns aren 't fractal like
| this.
| a-ungurianu wrote:
| This is awesome and very mesmerising.
|
| Is the ability to do this tied to the fact that Game of Life is
| Turing-complete, or is there a weaker/stronger property that
| allows for this?
|
| Also, does this count as a "quine"?
| dartos wrote:
| You can think of it like that. I think that makes sense.
|
| You can build structures within the GoL rules that implement
| the GoL rules, so...
| Filligree wrote:
| People have built explicit turing machines in GoL, so it
| certainly _is_ Turing-complete.
| moritzwarhier wrote:
| > Is the ability to do this tied to the fact that Game of
| Life is Turing-complete
|
| sounds like GP is aware of that fact :)
| Filligree wrote:
| I _think_ that was edited in. Not sure at this point.
| OscarCunningham wrote:
| It needs to be able to compute, but also to be able to place
| cells in such a way as to 'display' the result one level up.
| SamBam wrote:
| I'd say it's certainly in the spirit of a quine. I feel like
| Hofstadter would love this if he isn't already aware of it.
| samatman wrote:
| It can't be a stronger property, the essence of Turing-
| completeness is that a Turing-complete automaton can simulate
| any other Turing-complete automaton, including itself.
|
| Whether an automaton, capable of scale-invariant self-
| simulation, but not exhibiting Turing-completeness, is even
| possible, is a very interesting question. I don't know the
| answer.
| inthemiddle wrote:
| Previous discussion:
| https://news.ycombinator.com/item?id=33978978
| nico wrote:
| This is really cool, leaves me wondering about the fabric of the
| universe itself
|
| Could we be living in a infinitely recursive simulation?
| a-r-t wrote:
| If anyone is interested in reading about this idea, I recommend
| Stephen Wolfram's "A New Kind of Science" [0] and Max
| Tegmarks's "Our Mathematical Universe" [1].
|
| [0] https://www.wolframscience.com/nks/
|
| [1] https://space.mit.edu/home/tegmark/mathematical.html
| hackinthebochs wrote:
| Oh no what have you done
| kossTKR wrote:
| Seems most likely, but why is there anything at all to begin
| with?
|
| .. a feeling deep in the pit of my stomach.
|
| Does anyone else sometimes get these "intuitive flashes of
| insight" - like your brain configures itself in a pattern that
| "lifts the veil".
|
| I've been thinking of starting meditating to stabilise or
| cultivate this state if possible because i've feel like i've
| been losing this slightly psychedelic ability since i was a
| kid.
|
| Most often i get it in the hypno/hypopompic phases, sudden
| flashes of eureka that disappears just as fast, like a loud
| echo of "wow this is existance", "time is unbelievably deep",
| "demensions and perspective are bizarre in essence", "is this
| just a fraction of a shared dream" etc.
| mentos wrote:
| My thought is that 'things just exist' and the problem is the
| dimension we experience things in.
|
| Does that make any sense?
| a13o wrote:
| If you wanna get really lost, consider how the 'aha' feeling
| could itself be illusory and indicative of nothing at all.
| Similar to how everything in a dream is convincingly real. Or
| how ideas sound better when you're high. 'Aha' is not a
| reliable narrator.
|
| My challenge to people chasing 'aha', is to see how long you
| can stay in the present moment.
| a_cardboard_box wrote:
| Why shouldn't stuff be allowed to spontaneously come into
| existence? Why should there be any rules at all to begin
| with? If there is truly nothing, then there isn't any rule to
| force the nothing to stay nothing. So the question becomes
| "how was the universe chosen to be _this_ way, rather than
| some other way? ". The choice must be made, but there is no
| objective reason to prefer any option over any other.
| "Nothing exists" is a simple answer, but simplicity is not
| _objectively_ preferred.
|
| I think the presence of this subjective choice forces a
| subjective experience into existence with the free will to
| decide it. Though I haven't a clue how the characteristics of
| the experience are chosen - that's also a subjective choice.
| It's subjective choices all the way down.
| TomSwirly wrote:
| Requiring infinite amounts of information to explain a finite
| universe? Occam's Razor comes down pretty hard on the side of
| "no".
|
| People have tried to explain the universe with cellular
| automata and so far none of these systems has even been
| consistent with our current observations of the universe, let
| alone predicting some new behavior that would allow us to prove
| or disprove that the theory was true. (If your theory doesn't
| predict anything new, it's not a new theory at all!)
|
| Requiring infinite recursion of cellular automata would seem to
| make the whole problem much harder...
| mseepgood wrote:
| Since when is the universe finite?
| krapp wrote:
| The Big Bang involved a finite amount of energy and created
| a finite amount of matter. New energy cannot be created.
| Therefore the universe is finite.
| Kranar wrote:
| You're kind of just making stuff up here. In particular
| the assertion that the big bang involved a finite amount
| of energy is entirely unfounded.
|
| It's not that your statement is false, but that there is
| absolutely no consensus on the matter.
|
| Some physicists make strong arguments that at the big
| bang the total energy of the universe was 0:
|
| https://en.wikipedia.org/wiki/Zero-energy_universe
| dekhn wrote:
| Most current models of the universe suggest that it
| occupies a volume and has a finite number of particles. But
| these are just models based on observations and
| constraints.
| Kranar wrote:
| There is no dispute that the observable universe is as
| you describe, but there is absolutely no consensus as to
| whether the universe is finite or infinite.
| krapp wrote:
| The observable universe _is_ the universe, for all
| intents and purposes.
| Kranar wrote:
| That's not true in the context of big bang cosmology.
| It's true that today we would not be able to observe
| things beyond the observable universe by definition, and
| so there's not much purpose in reasoning beyond today's
| observable universe, but the observable universe changes
| over time and when reasoning about the early universe
| there would be differences between a finite universe and
| an infinite universe.
| Kranar wrote:
| One of the interesting takeaways of this simulation is that
| it isn't built upon an infinite amount of information.
|
| This simulation is a finite amount of information being used
| to describe an infinitely large simulation.
| mistermann wrote:
| > Requiring infinite amounts of information to explain a
| finite universe? Occam's Razor comes down pretty hard on the
| side of "no".
|
| A system whose fundamental nature can be modified /
| controlled _by ideas spawned within the system itself_ would
| be extremely cool.
|
| I think a decent argument could be made that we may be in
| just such a system.
| politician wrote:
| PBS SpaceTime just did a piece on the theory of a holographic
| universe yesterday.
|
| https://youtu.be/DoCYY9sa2kU
| SigmundA wrote:
| https://en.wikipedia.org/wiki/Turtles_all_the_way_down
| breuleux wrote:
| I agree that this is really cool, but this is a very contrived
| situation where the entire universe is arranged in such a way
| as to form a sort of fixed point. The vast majority of
| configurations of the Game of Life or of the real world are not
| fixed points and would break the clever tricks that are used to
| make this.
|
| Also, because the simulation is infinite and speeds up and
| simplifies itself as you zoom out, you don't properly
| appreciate the fact that every layer is a thousand times slower
| than the layer that simulates it and contains a thousand times
| less cells (I don't know if it's a thousand). If you transposed
| this to the real world, it would take one kilogram of computing
| substrate an hour to simulate one gram of matter for 3.6
| seconds and that's kind of useless.
| HarHarVeryFunny wrote:
| Well, we don't have the tech to build such a simulator
| ourselves, so we'd have to be a leaf node of the simulation
| tree, that has yet to run long enough to discover how to spawn
| the next levels. But I guess not all leaves are successful at
| spawning - some just self-destruct.
| monktastic1 wrote:
| Obligatory: https://qntm.org/responsibility
| screamingninja wrote:
| Does not work for me in Firefox: `Uncaught TypeError: c[b[k]] is
| undefined`. Opens normally in the other major browser.
| tedivm wrote:
| Weird, I viewed it on firefox with no issue. MacOS, latest
| version of firefox, mostly just privacy blocking extensions.
| Cheer2171 wrote:
| Same, does not work for me on Android Firefox
| TomSwirly wrote:
| Does work on FF, MacOS 14.3.1 (Sonoma :-/)
|
| (Some extensions conflict with some webpages, too...)
|
| One day we will get it together so every computer program works
| on every computer, if we don't collapse our ecosystem first.
| kleiba wrote:
| Does not work for me either, Firefox on Windows. But I'm
| getting a different error: this.frames.vb[k] is undefined
| hetman wrote:
| Weirdly it works fine for me in Firefox but just stays loading
| forever in Chrome.
| nalinidash wrote:
| I had to disable Enhanced Tracking Protection AKA ETP from
| firefox to run it.Otherwise it is stuck on loading screen.
|
| Though it is working with uBlock origin(default settings)..
| rezmason wrote:
| I've downloaded saharan's repo and poked around the Life
| Universe project in Chrome and FF-- it seems that the pixels
| representing the compressed animation are retrieved through a
| Context2D::drawImage call, and are different in Firefox and
| other browsers.
|
| It makes sense that ETP would mess with the pixels output
| from a drawImage call, to fight fingerprinting.
|
| Maybe the ImageLoader can be replaced with a more direct PNG
| decoder stapled to a fetch(). If I can make that work
| tonight, I'll create a pull request; this is how I meet the
| coolest people.
| monktastic1 wrote:
| For me it never loads on Android Chrome.
| matsemann wrote:
| Firefox it shows "Loading..." but never goes on. On Chrome
| the page never even loads. Weird.
| kilroy123 wrote:
| Same in Brave.
| nojs wrote:
| This is amazing, more detail about how it works:
| http://b3s23life.blogspot.com/2006_09_01_archive.html?m=1
| waitforit wrote:
| And by the author of this version:
| https://blog.oimo.io/2023/04/10/life-universe-en/
| destring wrote:
| That's so clever. Nothing stands as particularly
| revolutionary but the author brilliantly solved all the
| problems to deliver the final product. They are only a
| undergraduate student as well, they have a bright future
| ahead.
| Recursing wrote:
| Why do you write that they're only an undergraduate
| student? They just finished their PhD
| https://twitter.com/shr_id/status/1770769090719731873
| kzrdude wrote:
| This is mind blowing; I'm lucky that I've seen hashlife and life
| in life before, that these additional layers by themselves don't
| leave me stunned for days.
| HackerLemon wrote:
| Works on Edge but doesn't appear to be working on Firefox
| dreen wrote:
| works fine for me on ff/w10
| jader201 wrote:
| I'm assuming this is only achieved by "cheating" in some way?
| That is, I don't see how giant pixels can come and go, at a
| zoomed in level, without breaking the rules of Conway's game of
| life?
|
| Still cool, but more curious to understand how this works, and if
| it's actually able to pull it off "legitimately".
| teraflop wrote:
| Yes, this is legitimate, and there's no cheating.
|
| If you zoom in sufficiently, you can see that the "giant
| pixels" are really streams of spaceships, arranged in carefully
| positioned rows and columns that annihilate each other along
| the pixel's diagonal. These streams can be turned on or off to
| form the "display" component of each pixel, which is controlled
| by other parts of the pattern that do the actual computation.
|
| As you zoom in or out, the simulation speed changes. A pixel
| _seems_ to undergo a discrete state change when zoomed out, but
| when you zoom in and slow down, you can see how that change is
| actually executed by many underlying computational steps.
|
| Other links in this thread go into more detail about how it
| works. The cleverest part is that the simulation is done in
| (more or less) "constant time" per frame, no matter how deeply
| you zoom or how fast you accelerate time.
| TomSwirly wrote:
| That is a good summary, but of course, there is "cheating" to
| do the infinite amounts of work required in a finite time!
|
| The board appears as if there exist at any time infinite
| levels of cellular automata going all the way down running
| things. In fact, they only compute one level deep and then
| short-circuit to using the "hardcoded" rules of Conway's
| life, and simply pop up the higher or lower levels on demand.
| teraflop wrote:
| That's a fair point, but I don't consider that "cheating"
| any more than Hashlife [1] (which it's based on) is
| cheating. It's an ingenious trick that guarantees that
| what's displayed is exactly the same pattern _as if_ all of
| the infinitely-many higher and lower levels had been
| simulated, in finite time. The rules of the cellular
| automaton are never broken, only elided.
|
| In a metaphorical way, it reminds me of the "tying the
| knot" trick in pure functional languages like Haskell, to
| turn an infinite computation into a finite data structure.
|
| [1]: https://en.wikipedia.org/wiki/Hashlife
| ShamelessC wrote:
| You may not consider it as cheating, but that's a
| reasonable interpretation barring pedantry and is likely
| what the parent comment was referring to.
| Kranar wrote:
| It's no more cheating than the fact that 1 = 1/2 + 1/4 +
| 1/8 + 1/16 + ...
|
| Despite the fact that you can never actually add up an
| infinite number of terms one by one, you can however,
| compute what the limit of the sum will be in a finite
| amount of time. The same principle applies to this
| simulation, in which it is computing the limit of the
| process.
| samatman wrote:
| Eliding intermediate strings of a term rewriting system
| when you can prove the answer without them isn't cheating
| in any sense of the term.
| Aurelius108 wrote:
| Agreed, I think the key here is that the Game of Life is
| structured enough that many computational steps can be
| elided in this way. If it was more chaotic, this couldn't
| happen. The realization that GoL can be used to run one
| GoL cell in isolation is the brilliance here I think.
| Once you can decompose one single cell into GoL, you can
| also compose GoL into one cell and save computational
| cycles. Then suddenly it can be GoL all the way down.
| karmakaze wrote:
| I don't know the "tying the knot" trick, but I imagine it
| to be something like a proof by induction of self-
| simularity being exploited to share computation at
| different zoom levels.
| breuleux wrote:
| I might be missing something, but I don't think you even
| need Hashlife for this. The pattern is regular enough
| that you could just flat out store a static (x, y, t,
| state) map of a single cell and apply it fractally in
| order to compute the state of any part of the map at any
| time in constant time. You don't even need to simulate it
| at all.
| thatguysaguy wrote:
| Welllll, there seems to at least be some mathematical
| cheating in that this is representing a non-well-founded
| set. (Declare each pixel to be the set of subpixels at
| the next level down defining it, this forms an infinite
| descending chain).
| EdwardCoffin wrote:
| A digression for anyone interested in Hashlife: I want to
| recommend Gosper's original paper [1] over the various
| other explanations of it. It is brief (6 pages), lucid,
| and was the paper that finally made me understand how
| hashlife works.
|
| [1] https://www.lri.fr/~filliatr/m1/gol/gosper-84.pdf
| nolist_policy wrote:
| More intuitive if you zoom out:
| https://www.youtube.com/watch?v=xP5-iIeKXE8
| epiccoleman wrote:
| There's a seriously incredible article on the guy's site where
| he explains how it works! It's very much worth a read, really
| cool stuff.
|
| https://blog.oimo.io/2023/04/10/life-universe-en/
| spacebacon wrote:
| It feels like cheating due to the first generation grid already
| being a complex pattern of spaceships, pulsars, breeders and
| replicators I think.
| mvcalder wrote:
| For the experts in the house: would it be possible for this to
| wrap around, so the highest and lowest level join? A torus of
| GoLs? Can such a thing, assuming it exists, have a finite number
| of layers? Just curious, this is amazing.
| dbdudbdiddjc wrote:
| What does that mean
| rpastuszak wrote:
| I guess what they mean is that the "zoom" would be cyclic,
| e.g. at the same time the game zoomed at 1x would look like
| the game zoomed at 101x, zoomed at 2x would look like 102x
| etc...
|
| Totally different thing, but this makes me think of looping
| procedural animations, which are achieved by sampling noise
| on a circle (or walls of a cylinder in a 3d noise space).
| supriyo-biswas wrote:
| At a very high level, this is simulating the Game of life at
| the appropriate resolution level based on an algorithm whose
| input parameters are the zoom level and your location in the
| space, similar to a fractal pattern. So I'm not sure what you
| mean by a "torus" of GoLs.
| adrianmonk wrote:
| Have you heard of the thought experiment where a 2D plane is
| finitely sized instead of infinitely sized, but as you travel
| within the 2D plane, if you get to one edge, you wrap around
| to the opposite edge? Even though its size is finite, you can
| pick a direction and go that way forever.
|
| If you sit in 3D space and look at this finite 2D plane, then
| it looks like (say) a rectangle. That's displeasing because
| from inside the plane, it's continuous, but from the outside,
| it looks discontinuous.
|
| One way to get rid of that annoyance is to map the plane onto
| a torus. Then it looks continuous from the outside. It's no
| longer flat, which is un-plane-like, but you can't have
| everything in life.
|
| Anyway, the zoom level of game of life is an infinite number
| line. But what if it repeats and can be represented as
| something that wraps around? You could think of it as a line
| segment that you wrap around into a circle (to join the two
| ends). So the same concept as mapping the plane onto a torus,
| except 1D instead of 2D.
| 4ad wrote:
| It can't have a finite number of layers because of an argument
| very similar to the uncountability of reals.
| adrianmonk wrote:
| If there is a pattern that repeats, that pattern can have a
| finite length.
| 4ad wrote:
| Such patterns are of measure zero due to the uncountability
| of the reals.
| lostmsu wrote:
| So they still can exist. I don't think they meant that
| any such configuration would run, just one.
| 4ad wrote:
| The empty board is a repeating pattern of length one.
| svara wrote:
| Yes but the question is whether there are repeating non
| empty patterns. I don't think you've answered this? I
| don't know but I think that's a fascinating question.
| lostmsu wrote:
| The question was related to the simulation of game of
| life linked by the OP. E.g. Can a full simulation of game
| of life simulate itself.
| adrianmonk wrote:
| I believe the comment above is talking about the game
| running as a simulation within another instance of the
| game. Each instance of the game has a state. Game G1 has
| state S1, game G2 has state S2, etc. I think they're
| asking if there's any S1 that can be chosen so that S2 =
| S1.
|
| You might need 2 or more layers, so whatever number of
| layers you need (if this is possible, you'd have some
| sequence infinite sequence (moving through layers) like
| (S1, S1, S1, ...) or (S1, S2, S1, S2, ...) or (S1, S2,
| S3, S1, S2, S3, ...).
|
| The length of the repeating pattern (subsequence) is
| going to be a positive integer, so I don't think real
| numbers are relevant, if that's the question.
| samatman wrote:
| To dispose of this briefly, the cardinality of computable
| functions is 0, and Life is a computable function. Although
| the parent question is underspecified (some good guesses as
| to what specifically is meant in sibling comments), no
| variation on that question could increase the number of the
| result.
| ordu wrote:
| Well... if we wrap around without meddling with time, it will
| be impossible. On the lowest level cells are switching much
| more frequently than on the highest level.
|
| But if we allow ourselves to bend time, then probably... It
| would be like you zoom out and go back in time. My guess it is
| possible, but I still cannot wrap my head around infinite
| spatial dimensions of the field. We need infinity for that
| because without it will hit the problem of different cell count
| on the lowest level and the highest (which are represent the
| same sequences of states of GoL). I see no possible problems to
| buils such a "torus" but to be sure one needs to really prove
| it.
| grugagag wrote:
| Im mindblown and deeply thinking about existence now. Will
| probably end up with a headache if I continue so
| indrex wrote:
| This proves it won't take much to simulate reality.
| p0w3n3d wrote:
| Indeed. Life and universe and everything is 42
| xyst wrote:
| Watching some squares advance in this universe reminds me of the
| corporate grind.
| aidos wrote:
| That is an absolutely beautiful bit of work.
| dvh wrote:
| ERROR> https://oimo.io/works/life/main.js(37): Uncaught Error:
| assertion error
| nbittich wrote:
| unfortunately it doesn't load: Uncaught TypeError: c[b[k]] is
| undefined add https://oimo.io/works/life/main.js:49 yg
| https://oimo.io/works/life/main.js:37 kf
| https://oimo.io/works/life/main.js:60 onload
| https://oimo.io/works/life/main.js:223 Ug
| https://oimo.io/works/life/main.js:223 kf
| https://oimo.io/works/life/main.js:60 R
| https://oimo.io/works/life/main.js:59 R
| https://oimo.io/works/life/main.js:60 Cb
| https://oimo.io/works/life/main.js:33 Vg
| https://oimo.io/works/life/main.js:73 <anonymous>
| https://oimo.io/works/life/main.js:242 <anonymous>
| https://oimo.io/works/life/main.js:242
| doug_durham wrote:
| Works on Safari for me.
| linkergames wrote:
| I get the same error on Firefox 124.0. It works on Chrome 121
| to 123.
| y-c-o-m-b wrote:
| I'm getting the same error in Firefox
| state_less wrote:
| This reminds me of nested dreams, where you wake up from a dream
| in your bed, only to slowly realize you're still dreaming and
| wake again in the same bed.
| rolisz wrote:
| Heh, I think my record is three level deeps (dream inside of a
| dream inside of a dream). Inception ftw.
| waltbosz wrote:
| Sometimes I have them at seemingly infinite levels of depth.
| Also the time dilation feels enormous. It feels like I've
| been dreaming for days.
| jessekv wrote:
| Can you elaborate more about the time dilation?
|
| I've had dreams about waking up in succession, but have not
| experienced a time dilation.
|
| Do you dream you are falling asleep, having an inner dream,
| and waking up again to the outer dream, to discover less
| time has passed than expected?
| maxcoder4 wrote:
| This honestly sounds concerning. I would get mad if I
| regularly experienced seemingly days long sleep
| interspersed with fake awakenings.
| jessekv wrote:
| The worst is when this happens when you need to use the toilet.
| After walking to the toilet for the nth time, how do you know
| for sure you won't wet the bed?
| CHMODX wrote:
| I love this. Does this use a technique similar to what Noita devs
| did, and I guess most game devs, to only process visible areas?
| vbezhenar wrote:
| Incredible. Looks like DNA.
|
| For some reason I want the ability to put a pixel and watch how
| it destroys the world :)
| mickdarling wrote:
| Adding one pixel at any level is the equivalent of adding me or
| infinite numbers of pixels, smaller and smaller levels.
| However, I think if you add in the pixel in a empty space at
| its level, it would simply disappear. I don't think it would
| cause any havoc. But, this is not an actual game of life. This
| is a PNG of many steps in a game of life. The computation power
| for actually making it a real game of life would be pretty big.
| monitron wrote:
| I think the coolest thing about this is the way time works. One
| step at each level is computed using a large number of steps at
| the level below. So as you zoom out you are sinking into an
| exponential vortex where each step takes days, years, millennia
| to change.
|
| But ingeniously, the simulator smoothly scales its speed as you
| zoom, totally erasing the fact of time. I wish there was an
| indicator somewhere of how much game time was going by per real-
| life second.
|
| EDIT: ...but in order to do that you'd have to declare one of the
| levels to be the "bottom" level, the one that runs in real time,
| and that would ruin the fractalness of it all...
| px43 wrote:
| For some reason what really sticks out to me is how when you
| zoom out, you always come out of a different part of the
| circuit, so it doesn't feel like the normal repetitive fractal,
| you're seeing all the parts of the machine from different
| chronological angles or something.
| Mogzol wrote:
| Interestingly, the author's blog post [1] mentions that this
| is due to technical limitations and not specifically done by
| choice, although I do like the effect.
|
| > When we zoom in, we discard the information of the largest
| meta-metapixel, so it is not always possible to reconstruct
| the same scene when we zoom out again.
|
| > Since zooming in and out can be continued indefinitely, we
| also realize that we need infinite information to accurately
| represent "our current position".
|
| [1] https://blog.oimo.io/2023/04/10/life-universe-en/
| dontreact wrote:
| Well you could just say the level you start at is real time and
| the second hand moves slower for lower levels and faster for
| higher levels?
| hateful wrote:
| Exactly - time is relative to our reference frame, so that
| would be the best arbitrary choice.
| monitron wrote:
| This is fun and has a great symmetry but my brain breaks at
| the idea of the infinitely fast and large computer that
| would be required to run it all :)
| mickdarling wrote:
| Imagination is fun. I'm pretty sure I can make your brain
| break a little bit more. Imagine they're all looped and
| there is no bottom level fastest super infinite computer.
| andoando wrote:
| Its the universe! https://m.youtube.com/watch?v=ycvlJ9XMd
| 94&pp=ygUWc2ltcHNvbnM...
| ForHackernews wrote:
| Reminds me of https://www.youtube.com/watch?v=0fKBhvDjuy0
| mistermann wrote:
| Or this:
|
| https://youtu.be/4TI1onWI_IM?si=uBt9Gob0gqnFk8lP
| layer8 wrote:
| The levels are stationary with respect to each other
| though, so in the same reference frame.
| sfn42 wrote:
| I'm fairly sure it's all an illusion.
| floatrock wrote:
| My read on the author's explanation story is he _did_
| actually solve the "consistency with time" and "consistency
| in position" problems that would make it a "rounds up to
| real-looking" at some zoom seam.
|
| It's not cheating, but the trick is it's pre-computed.
|
| Basically the structural patterns repeat, and you can pre-
| compute the patterns (which are also the sub-patterns), then
| basically tile the configurations and their transitions
| "across time". A naiive approach takes a few TB to store it
| all, but there's some clever optimizations that can bring it
| down. Finally once a "solution" through the tiling space was
| found, the author encoded it into a 4 mb png and built a
| display with some clever shaders.
| samstave wrote:
| Pardon my poor vocabulary to describe the following:
|
| But if the patterns are precomputed at whatever timescales,
| the patterns repeat in a predicable interval, based on the
| scale of time..
|
| So, I wonder what each layer of pattern looks at from a
| perspective of a prime or true prime number scale digit...
|
| Like if real-time baseline is 1 - and if you look at the
| pattern in a still frame at position scale 1. What is the
| pattern look like at time scale of the primes and true
| primes?
|
| Whereas the primes and true primes are known discretes, so
| one could think of them as discrete dimensions of timescale
| based on the pattern represented at timescale position 1
| (real-time)
|
| And what if timescale at position 1 is some reflection of
| the pattern at the primes and true prime timescales...
| (assuming a dimension simply means the rate at which times
| flow at that energy level)
|
| Does that make sense?
| floatrock wrote:
| The hows-it-done article describes the meta-pixel pattern
| concept then gives you the "clock-ratio" of the periodicity:
|
| > In addition, the pattern has a period of 35328, so advancing
| 35328 generations will cause the generation at the meta level
| to advance by 1.
|
| I would even say this time dilation is _necessary_ because the
| pattern 's self-similarity is across time, and if the two
| levels operate at different clocks, you _need_ to slow down the
| next level as it comes up to the self-similar animated view of
| the prior level.
|
| In other words, the structure at level n requires 35328
| iterations of the self-similar structure at level n+1, so if
| you're bringing n+1 up to the self-similar view of n, you need
| to slow down n+1 as it's coming up to also hit the time-based
| self-similarity.
|
| I wonder then if there's something like a time-invariant
| constant, maybe along the lines of the "computational
| complexity" of any view remains constant across all levels of
| zoom.
| jhrmnn wrote:
| Note that this is also how our own world works. Typical time
| scales of processes get faster as the length scales shorten.
| Somehow it feels inevitable for a dynamic multiscale structure.
| leetcrew wrote:
| armchair physicist moment: isn't this a straightforward
| outcome of c as a global "speed limit"? effects can't
| propagate faster than c, so I would expect that interaction
| "latency" decreases linearly with scale.
| layer8 wrote:
| In the real world, there is a limit set by the speed of light
| and the Planck scale. And more generally, physics is very
| much _not_ scale-invariant.
| edwinjm wrote:
| That's because gravity slows down time.
|
| So the higher you go, the less you're impacted by gravity, the
| faster times goes.
|
| See https://en.wikipedia.org/wiki/Gravitational_time_dilation
| layer8 wrote:
| Since the grid is infinite, it should be possible for one level
| to to be completely identical in its history to the next level.
| Thus you could identify all levels with each other to really be
| the same level. Then both space and time are circular in their
| scale. (The now-single level could nevertheless still be non-
| repeating both in space and time!)
| gregorymichael wrote:
| My subconscious reaction when first zooming in was: "f---- you."
| They've taken something I've been familiar with for 20+ years and
| completely blown my mind. One of the coolest things I've seen on
| here in a long time.
| archibaldJ wrote:
| i think the freedom of zooming in and out is what deeper level of
| meditation feels like
|
| computationally, what appears as the experience of
| "consciousness" is thus Anatta (not-self)
|
| https://en.m.wikipedia.org/wiki/Anatta
| gdubs wrote:
| This is beautifully executed.
|
| Game of Life must be the first simulation I ever took on as a
| programmer -- and have revisited it over the years.
|
| To this day it continues to come up in my mind when people muse
| about things like consciousness. Is there a magic dust to us? Or
| are we the result of simple rules playing out in a grand stage?
| anvandare wrote:
| As the laws of physics do not seem to stop at the borders of a
| skull, there is no sovereignty of the Self. But no one minds a
| thought thinking itself its own thinker, as there is no one at
| all. Just a thought.
| cscurmudgeon wrote:
| https://en.wikipedia.org/wiki/Hard_problem_of_consciousness
|
| > As the laws of physics do not seem to stop at the borders
| of a skull
|
| There doesn't need to be a magic dust for consciousness, it
| could still be a primitive compatible with existing physics.
| See what Roger Penrose worked on.
| Nevermark wrote:
| Or not a primitive but just emergent phenomena.
|
| I.e. an intelligent computing engine which learns to model
| both its environment and itself, with some degree of access
| and control of its internal processes including when it
| considers itself.
|
| At the point of clear, continuous practical self-awareness,
| how could it not be "conscious"? It will experience it's
| self's awareness of it's self-awareness.
| mistermann wrote:
| Cognitive services are disabled (or have bugs injected)
| when consciousness is pointed at itself.
| voiceblue wrote:
| You might enjoy watching the emergent behavior in the execution
| of this 256 byte program - a mind is born [0].
|
| [0] https://www.youtube.com/watch?v=sWblpsLZ-O8
| MrYellowP wrote:
| This gave me a feeling of infinite computing power.
| gbolcer wrote:
| Okay, this is amazingly cool.
| whartung wrote:
| So, do you think this was a twinkle in the back of Conways mind
| when he was scheming and coming up with the game?
| samatman wrote:
| Probably not! I draw your attention to a paragraph from
| Gardner's column which introduced the Game of Life:
|
| > _Conway conjectures that no pattern can grow without limit.
| Put another way, any configuration with a finite number of
| counters cannot grow beyond a finite upper limit to the number
| of counters on the field. This is probably the deepest and most
| difficult question posed by the game. Conway has offered a
| prize of $50 to the first person who can prove or disprove the
| conjecture before the end of the year. One way to disprove it
| would be to discover patterns that keep adding counters to the
| field: a "gun" (a configuration that repeatedly shoots out
| moving objects such as the "glider," to be explained below) or
| a "puffer train" (a configuration that moves but leaves behind
| a trail of "smoke"). I shall forward all proofs to Conway, who
| will act as the final arbiter of the contest._
|
| https://www.ibiblio.org/lifepatterns/october1970.html
|
| A related question is whether, after Bill Gosper won that
| conjecture a month later with the Gosper Glider Gun, did Conway
| _then_ suspect that Life could be simulated in Life. I haven 't
| been able to dig up a definitive answer but I suspect it's
| "yes".
| asow92 wrote:
| Reminds me of the animations in The Animatrix
| PhilipRoman wrote:
| Interesting to see it's written in Haxe, a language I've never
| heard before. I've been looking for a "hacker's language" which
| could fit in practically any niche and this might just be it.
| With optional static typing, compilation to multiple targets
| (notably C++) I really don't understand why it's not more
| popular. Seems like a really pragmatic language whose designers
| understood the needs of developers.
| zengid wrote:
| I believe Haxe was made to replace flash. Not sure why it isn't
| more popular, but it has a lot of folks from the game community
| that use it.
| OmarShehata wrote:
| I was a big believer in Haxe, it seemed perfect. The main
| issue I and many people had at its inception was that the
| ecosystem was very fragmented. The promise was "write once,
| run everywhere" (which is what we had with Flash), but each
| platform you wanted to actually compile on was a whole
| process, often undocumented, with lots of caveats, and having
| to hunt for third party community wrappers to do the native
| integrations you want etc.
|
| This was ~10 years ago, I'm sure the current state of the
| ecosystem is very different (no idea), but this is the reason
| why I was never able to adopt it, and I heard the same thing
| from dozens of Flash creators at the time.
| tombert wrote:
| Haxe is pretty neat, and worth playing with if you haven't. I
| don't do games so I haven't done much, but it kind of feels
| like "What if ActionScript 3 was allowed to break out of the
| Flash world, and keep evolving?".
|
| At some point I should really do more with it and make a game
| or something.
| LeftHandPath wrote:
| It looks neat. Reminds me of a lot of ideas I had of making a
| way to tightly couple classes/logic between PHP (server side)
| and JS (client side) when making websites and web apps.
|
| It came up a lot when making HTML-based forms. I'd define them
| all in PHP, but the experience is best without a page load, so
| typically I define some typescript object to send the form via
| Ajax. I got tired of having to define all the field names in
| both places (awful for maintenance), so instead typescript uses
| AJAX to ask the server for the list of inputs it needs to grab
| and send.
|
| It sounds like Haxe could be a much nicer way to do stuff like
| that: https://haxe.org/use-cases/web/
| zilti wrote:
| Sounds like a job for HTMX
| earslap wrote:
| Haxe is pretty established, but not well known. Perpetually the
| underdog. And totally awesome. It also has macros where you can
| transform the AST! You can do some amazing compile time stuff
| that very small number of languages support, and the features
| are pretty mature. If you want a hacker's language but don't
| want a lisp give Haxe a shot.
| waltbosz wrote:
| I wonder how this app is perceived by people who under stand the
| rules of Game of Life, verses people who don't understand the
| rules.
|
| I showed it to my kids and they were amazed and mesmerized, but I
| know they can't grasp the complicated cellular automata that is
| happening.
| posix86 wrote:
| It's not complicated though
| catlifeonmars wrote:
| That's the beauty of cellular automata. Simple interactions
| can give rise to complex effects.
| waltbosz wrote:
| The rules of the game are simple enough to explain, when I
| said complicated I meant the interactions of the system as a
| whole.
|
| I mean, I don't really understand how a glider gun works.
| samatman wrote:
| Glider guns have a period of 30, so you could work them out
| on one tablet of graph paper if you wanted. Or just let a
| computer do it frame by frame and pay attention.
|
| This isn't a rebuke at all btw, it's a suggestion, this is
| a fun and edifying way to spend some time. Don't know if
| your kids are old enough for it yet, or have the interest
| to play along, but you might enjoy it.
| andoando wrote:
| Few thoughts:
|
| 1. What happens if we artificially change the value for a cell? I
| imagine it would ensue chaos and the changes would eventually
| propagate to every level. Would love to see this.
|
| 2. Would it be possible to have each cell be a different
| stimulation while still acting as Conways Game of Life in a
| greater zoom. I imagine yes, so long as the simulation respects
| its boundaries and turns on and off at the correct times. I
| wonder what limits there are to this.
| jamiek88 wrote:
| > What happens if we artificially change the value for a cell?
| I imagine it would ensure chaos and the changes would
| eventually propagate to every level. Would love to see this.
|
| Is this analogous to cancer? Would be interesting to see it
| develop and even if any 'correction' or 'immune system' type
| effects happens.
| andoando wrote:
| I suppose in a sense it would. Would be really interesting to
| explore that with different input values and see what
| happens. I imagine some changes would result in the whole
| thing eventually collapsing and others would maybe get self
| corrected. My guess is a any single change would collapse it
| either entirely or at least break the simulation of the game
| of life, while two changes might self correct each other.
|
| I also wonder what happens if we make changes not just to the
| initial configuration but at different iterations. After
| iteration 2, change x. It'd be like interweaving functions.
|
| Hmm really getting curious about trying this out myself.
| Nevermark wrote:
| I don't think a change with effects rippling out would be a
| cancer.
|
| Cancer self-replicates whereas this would simply be either
| fast catastrophic failure for all levels above, or a change
| whose effect got suppressed (either died out, or maintained
| but doesn't change next level behavior) and only had limited
| temporary impact.
| andoando wrote:
| I think he meant it in the sense that its a mutation that
| propagates indefinitely. But yeah its a loose analogy.
| catlifeonmars wrote:
| Why would you expect corrective effects to occur?
| OscarCunningham wrote:
| The level you change the cell in will be destroyed by a wave of
| chaos radiating outward from the original damage, leaving
| boring 'ash' patterns in its wake.
|
| The levels below that one will be unaffected, faithfully
| simulating the chaos happening above them using their unbroken
| technology.
|
| The levels above that one will no longer be simulating the Game
| of Life. The broken part of the levels below will appear as a
| faded spot, neither white nor black, growing forever but
| exponentially slower each level you go up.
| jiggawatts wrote:
| Reminds me of false vacuum decay.
| jamiek88 wrote:
| Folks, this is one where you really have to try it not just read
| the comments (as I usually just do).
|
| I nearly clicked away but went in and was fricken _mesmerized_ by
| this.
|
| It's incredible.
| hesdeadjim wrote:
| Absolutely incredible.
| canjobear wrote:
| Indeed. Just looking at and zooming around is incredibly
| thought-provoking.
| J_cst wrote:
| I mainly read comments too... :)
| drewfis wrote:
| Makes me wonder if there's even smaller building blocks of the
| universe. Smaller than Photons, Gluons, Neutrinos, Electrons,
| Quarks and we just can't 'zoom in' enough to know about them.
| jordanpg wrote:
| [Stephen Wolfram sits up.]
| catlifeonmars wrote:
| Does it matter, if they have no discernible difference or
| effect than our current "simpler" models?
| OscarCunningham wrote:
| If our 'fundamental' physics is actually emergent from a
| lower layer then we might expect that our laws are actually
| leaky abstractions. Very occasionally things at the lower
| level will happen in an unusual way that causes the laws of
| physics to be broken at our level.
| catlifeonmars wrote:
| Does this count as a quine?
| canjobear wrote:
| Is this the simplest construction of a self-simulating game of
| life?
| OscarCunningham wrote:
| No. The centre of each meta-cell is full or empty to display
| the state of the cell. You could remove all that and it would
| still be simulating the Game of Life, it would just be hard to
| tell what was happening without zooming in.
| mattxxx wrote:
| very beautiful application of games of life as computational
| tools, simulations of simulations of simulations.
|
| you're hired
| brrrrrm wrote:
| Stuff like this always makes me think: what super structure do
| our brains form? Always end up concluding it's the economy
| fnordpiglet wrote:
| This simulates my layman's understanding of the holographic
| principle.
| for_i_in_range wrote:
| Whelp, there goes my afternoon.
| ordu wrote:
| Is it possible to build a macro simulation of the world of
| quantum mechanics? And then macro-macro...
|
| BTW I think it is not possible but what is the difference between
| GoL and QM that makes QM so narrowly bound to a nanoscale.
| ziofill wrote:
| Physicist here: yes, it is theoretically possible, but
| practically impossible because the complexity of a classical
| simulation of a quantum system scales exponentially in the
| physical size of the system.
|
| It would be practically possible if the problem has useful
| symmetries, like only allowing 2-dimensional Hilbert spaces
| (qubits), and a set of possible transformations (e.g.
| Clifford+T gates) as we do in quantum computing. In fact one of
| the things we actually do that resembles what you are
| describing is quantum error correction, where codes are
| concatenated until the rate of logical errors becomes low
| enough.
| davelondon wrote:
| Oh my lord this is amazing.
| scotty79 wrote:
| For me this is an illustration that the simulation hypothesis is
| silly. Lower level of simulation doesn't need to have any api-s
| or system calls. There is no way to hack anything about
| underlying simulation nor learn anything about it or even about
| it's existance.
| darreninthenet wrote:
| Think my brain just exploded
| anoncow wrote:
| That entire website is something.
| cochleari_major wrote:
| I find the following asymmetry interesting: if you pick a random
| spot and start zooming out, you will pass through interiors of
| both dead and living cells in some ratio. But if you start
| zooming in, pretty much all of the cells you pass through will be
| dead.
| SamBam wrote:
| Except that even in dead space when you zoom in you find the
| borders of all cells, and each of those borders is just as
| alive as any other live cell. I kept feel like, if I zoomed in
| to either an always-on cell or an always-off cell I would enter
| into something noticeably more static, but actually each one
| was just as alive as any of the universe around it.
| Snoupy wrote:
| Out of all the ways to replicate a game of life inside a game of
| life, there has to exist a "most efficient" one for a given size
| and speed. Something maybe akin to Carnot efficiency. I wonder if
| aspects of the maximum ratio of scale for space and speed apply
| to all "simulation inside simulation". And does it say something
| about our reality? Maybe Planck length is the smallest unit of
| length and lightspeed is the maximum speed irl and that tells us
| about what we can simulate and could be simulated from lol
| blendergeek wrote:
| Flick the scroll wheel a few times and it will zoom out
| continuously. Amazing!
|
| I want this (continuously zooming out) as a screensaver 20+ years
| ago (or today, I can probably figure out how to enable
| screensavers on a modern Linux system). It would be amazing.
| reactordev wrote:
| I moved the time multiplier slider to 0.2x and scrolled quickly
| out. When I did I got stuck in this slow outward zoom that
| allowed time to tick and it presented the most beautiful
| infinitum simulation of life I've ever seen. My gosh this is
| cool. It just goes on and on and on forever!!!
| andrewfromx wrote:
| the designer version:
| https://www.tiktok.com/@alirezashahbazi.art/video/7122391438...
| chrsw wrote:
| Fascinating
| GalaxyNova wrote:
| Wow! This is one of the coolest things I've seen in a while.
| cdchn wrote:
| I mean this in the best way possible, this is the best mind-trip
| I've seen in weeks.
| cryptoegorophy wrote:
| There is a video by veritasium that concludes with this
| animation. It gives you goosebumps.
| wigster wrote:
| coincidentally bumped into this time axis GoL animation today:
| https://www.instagram.com/reel/C2hoRnFsmQW
| imranq wrote:
| Dang this is super cool - here is the github link for anyone to
| see how it works: https://github.com/saharan/works/tree/main/life
| flockonus wrote:
| I was trying to figure out how they coded the game in the game,
| and it seems all code is "running" from the grid's lines..
|
| Let alone they coded it, how do you go about debugging and unit
| testing such code?
___________________________________________________________________
(page generated 2024-03-23 23:00 UTC)