[HN Gopher] Show HN: Game of Life on non-square topologies with ...
___________________________________________________________________
Show HN: Game of Life on non-square topologies with 2^32 update
rules
Hi HN, when learning Golang (and topology), I ported a simple GOL
in C (https://github.com/Jeadie/GoL) into Go. I then added a bunch
of features - Playing on other fundamental polygons
(https://en.wikipedia.org/wiki/Fundamental_polygon#Examples_o...) -
Considering all possible update rules (of which, there are many).
Looking to get back to this project soon. Would love some feedback
+ ideas.
Author : jeadie
Score : 60 points
Date : 2022-11-07 09:50 UTC (13 hours ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| pohl wrote:
| Penrose tilings
| Aperocky wrote:
| Shameless (related) plug: Check out broader cellular-automata sim
| with custom update rules you can define in json (and run the game
| on the page itself).
|
| https://aperocky.com/cellular-automata/
|
| This allows for more "block state" too in addition to just the
| black and white for GOL. Also allows some time based rules (i.e.
| change based off block age that it stayed unchanged).
|
| I've gravitated to essentially a file description (and the
| corresponding parser) to set up the rules - this makes making and
| adding rules easier.
| jeadie wrote:
| This is really neat. I had something like this in mind for
| Go-L. 1. Make the update rules more human
| readable/understandable 2. Move from binary to discrete options
| (and then as some have mentioned, to continuous values).
| mtsolitary wrote:
| This is amazing!
| Aperocky wrote:
| Thanks! It's pretty modular so adding additional functions
| should be easy - just in case anybody wants to do that.
| KevinDonnot wrote:
| See also SmoothLife, an amazing continuous version of Game of
| life. Integers are replaced by floats providing the same patterns
| with circular shapes. Here:
| https://conwaylife.com/wiki/OCA:SmoothLife
| jeadie wrote:
| This is neat and has so many ideas that inspired me for Go-L. I
| like the GPU and parallelism (and OpenGL). If I took it to a
| floating point concept, I'd love to do PDE modelling with it
| too.
| Sharlin wrote:
| Missed the opportunity to call it Gogol :)
| chewxy wrote:
| Look up the b/s format for specifying rules. It is a lot more
| flexible.
|
| Here's my version :
| https://github.com/chewxy/ll/blob/main/main.go#L176
|
| I also live coded this in a series of 3 videos:
|
| 1. https://youtu.be/5JArQO8YeRo 2. https://youtu.be/ZLUVAWb_31M
| 3. https://youtu.be/BIypQF7M9c8
|
| My approach differs from yours in that mine is entirely matrix
| driven.
| bmc7505 wrote:
| During a recent programming adventure, I discovered that finite
| elementary cellular automata with periodic boundary conditions
| can be simulated using matrix-vector multiplication with a
| circulant matrix and a strange kind of algebra, which I call a
| kernel algebra. [1] I wonder if this same idea could be
| generalized to higher dimensional automata on other topological
| surfaces.
|
| [1]:
| https://github.com/breandan/galoisenne/blob/8f0f1e9e4e02062c...
| jdauriemma wrote:
| You might also be interested in
| https://github.com/bignimbus/game-of-life-n
| eurasiantiger wrote:
| Can you extend it to non-uniform causal graphs with continuous
| state (as opposed to discrete)?
| zitterbewegung wrote:
| Golly is another way to explore 2d cellular automata and it also
| has a good UI. It is written in Python.
| sebstefan wrote:
| I don't understand how the border topologies change the game of
| life compared to when it's set on a regular plane
|
| You say it can be played on a variety of manifolds, but if the
| topology of a manifold "locally resembles Euclidean space near
| each point", considering that the game of life rules are always
| super local, then how does that change anything compared to a
| plane
| pfortuny wrote:
| There are interactions which are impossible in the square but
| are real in a torus or cylinder.
|
| For instance, periodic patterns may appear due to translations
| which do not in the square.
| autopilot23 wrote:
| You can see the change only at the boundaries of the grid. Away
| from the boundary it is just like regular game of life but at
| the boundaries the definition of 'neighbour cell' changes based
| on the way the grid is glued (i.e its topology)
| Someone wrote:
| For the torus, what you call the boundary is no different
| from any of the other cells. If you were to live on such a
| grid, you'd be able to find out that it's a torus and how
| many grid items there are, but you wouldn't be able to see
| any difference between the individual grid cells.
| Someone wrote:
| Earth is flat locally, too, but if you travel along a line for
| 40,000 km, you return to your starting point. That doesn't
| happen on a plane.
|
| For this, the difference similarly only shows up over longer
| distances. That means more iterations. Spaceships will return
| where they left off.
|
| Also, the specific topology matters: if a spaceship makes a
| tour around the world, it may appear to have flipped over on a
| Klein bottle.
| symmetricsaurus wrote:
| I don't understand the update rules as described in the readme.
|
| In an 3x3 neighborhood there are 2^9, not 2^5 states. So we
| should get 2^512 possible update rules, not 2^32.
|
| I think something similar is described in
| https://conwaylife.com/wiki/Rule_integer.
|
| I'm not sure that all of those rules are valid. We must have
| translational invariance. One way to do that is to only update
| the state of the central cell in each considered neighborhood. In
| that case 2^9 rules are enough. Are there other ways to define
| consistent rules for a CA?
| ballenf wrote:
| > One can conceive of other update rules. If one considers the
| five relevant cells...
|
| I think they're looking at alternative update rules. The one
| you question ignores diagonals.
| symmetricsaurus wrote:
| Conway's Game of Life does consider diagonals. Since they
| start and finish by talking about GoL I think they've made a
| mistake.
| jeadie wrote:
| I can't believe I missed this. I always wondered why
| getting the types of patterns mentioned in literature were
| hard. Will definitely need to make an update. Thank you
| gwbas1c wrote:
| Videos!
|
| I really don't understand the diagrams, and how they relate to
| the shape that each diagram is labeled as.
| erezsh wrote:
| You can't post something like that without screenshots. It's
| against Internet law.
| asicsp wrote:
| Or a recording, could use something like https://asciinema.org/
| or https://github.com/charmbracelet/vhs
| [deleted]
| gpcr1949 wrote:
| I may be misreading it, but doesn't the GoL as commonly
| understood also depend on diagonal neighbors (i.e. 8 direct
| neighbors)? In that case the rule space would explode beyond the
| 32 bit integer one. (to a 256 bit one)
| tanepiper wrote:
| Playing on Klein bottles? That sounds like The Flower Game?
| https://www.destinypedia.com/Flower_game
|
| (from https://www.destinypedia.com/Garden)
___________________________________________________________________
(page generated 2022-11-07 23:02 UTC)