One of my first coding projects at school was Conway's game of life, but I found the black and white a bit too boring so I pushed the assignment further by introducing RGB "genes", and give spawns a combination of their parents' colours (with random mutations).
It's very fun watching which "faction" might take over the board.
It eventually settles down to one large and unstable blob and another stable. Neither move so that's it. But before that it did what I had expected to see with objects meeting and merging
This is fascinating. It's like a more complex game of life than John connoway's. It's crazy that little creatures seem to form at such small scales easily with these parameters. It's almost like the parameters of our real universe intentionally made it difficult to form life, rather than easy as some people seem to think.
They are less creatures than molecules. Now, mind you, as some complex sets of rules approach steady state I can pretend they are far-flung stellar empires with colors ascribed to each type of system of government (and have).
What is fooling you is the motion. This is sustained because the system has no conservation principles built in. You can make A-B pairs where B is attracted to A, A is repelled by B, and off they go, zoom. Were the meta-rules devised such that conservation of energy or momentum and such were baked in to whatever system you devised, you would see less exciting structures which would more resemble a late-stage pentamino explosion in the Game of Life.
With a sufficiently large processor, I would like to see this in three dimensions and more options for force, such as dropping off as the inverse of r or r-cubed or even r * log(r), or some "repulsive at a distance, attractive at very close quarters" particles. I have a feeling that such a system would grind to a halt even with clever optimizations.
This version does everything in webgl shaders and keeps all state for the simulation in textures / uniforms. This allows it to simulate and draw more particles. Unfortunately it may not run on all devices because it uses some less supported webgl extensions.
I never considered it before, but by comparison this makes me realize that Conway's Game of Life is wave-based rather than particle-based. That is, in CGoL the rules apply to locations of the grid rather than objects traveling across the grid. I wonder if this system could also be constructed in a wave-based fashion?
Also, it seems like in this system the speed of light is infinite, since every particle acts on every other particle each frame, regardless of distance. In CGoL there is a speed of light, since cells can only influence their immediate neighbors each frame.
Looking at the 3d js version right now. This might be my most favorite thing since the original Conway's life or maybe the old Primordial Life screen saver from the 90's. Have you considered adding shader support? I'd love to see a slowed-down more "blobby" version running full-screen. Probably turn my mac into a space heater too, but right now that's a bonus ;)
If anyone is more interested in this kind of stuff, then I can recommend checking out "Smooth-life" and "Lenia", the latter of which has a couple different, more complex variants... "Flow Lenia" or "Particle Lenia" come to mind in relation to this particular (pun intended) topic.
I had a similar concept in mind when I started experimenting in 3D with what I now call "Altphy" (alternative physics), but I've not been able to really make it work as intended (really, is far from working). Also probably the logic and idea behind it too much for real time processing. I'm sharing it only because maybe pieces of that code (or the idea itself) can progress into something one day.
Even with such a basic system you immediately start to get self-organising little bubbles of life. If something had a way to replicate in these bubbles, you would have the first cell.
The project is quite cool. I found myself tweaking for some good amount of time.
But the thing is it does not demonstrate that complexity can come from simplicity.
To make a 'life' there are 8 parameters to be modified across a range and 'fine tuned' to get some tangible stable complex structure, all to be done by already conscious beings ( Users anyone? ). So much for simplicity
Mixing up Conway's game with colorful 'genes' is pretty wild, like coding with a rainbow palette. And about those blobs – it's like they're putting on their own little drama show, then just decide to chill. Also, gotta love the action and cool shapes in that simulation. It's like a mini superhero movie, but with shapes instead of characters.
What are the philosophical implications of these life models? Is it implied that life as we know it may also have a simple set of rules like this that generated it? Or is it just a game? (as in Conway's GoL).
Found some info here, seems like these are open questions [1].
I found a pretty fun set of rules: make a cycle of -0.4 between the colours (eg G->R, R->Y, Y->B, B->G in 3d or G->R, R->O, O->C, C->G in 2d) and set the other factors to 0.1.
The particles form semi-stable rotating rings until they get too close to another ring. It's quite fascinating to watch. Messing with the viscosity changes the stability and radius of the rings
Very cool -- shame I don't have a wall TV to just run it on. I was however, disappointed -- I saw it as a T-shirt brand "Particle Life" for physicists. The T-shirts would have slogans such as "After listening to you, I realize you're just an unfortunate jiggle in the quantum field, so I feel totally justified in ignoring everything you say"
[+] [-] franky47|2 years ago|reply
It's very fun watching which "faction" might take over the board.
Demo: https://genetic-life.surge.sh/
Source (ported from the original C++ into Rust/WASM): https://github.com/franky47/genetic-life
[+] [-] pbowyer|2 years ago|reply
It eventually settles down to one large and unstable blob and another stable. Neither move so that's it. But before that it did what I had expected to see with objects meeting and merging
[+] [-] thanhhaimai|2 years ago|reply
This one is really fun for me. It has a lot of actions and good shapes.
[+] [-] billytetrud|2 years ago|reply
[+] [-] at_a_remove|2 years ago|reply
What is fooling you is the motion. This is sustained because the system has no conservation principles built in. You can make A-B pairs where B is attracted to A, A is repelled by B, and off they go, zoom. Were the meta-rules devised such that conservation of energy or momentum and such were baked in to whatever system you devised, you would see less exciting structures which would more resemble a late-stage pentamino explosion in the Game of Life.
With a sufficiently large processor, I would like to see this in three dimensions and more options for force, such as dropping off as the inverse of r or r-cubed or even r * log(r), or some "repulsive at a distance, attractive at very close quarters" particles. I have a feeling that such a system would grind to a halt even with clever optimizations.
[+] [-] squigz|2 years ago|reply
[+] [-] ath92|2 years ago|reply
This version does everything in webgl shaders and keeps all state for the simulation in textures / uniforms. This allows it to simulate and draw more particles. Unfortunately it may not run on all devices because it uses some less supported webgl extensions.
[+] [-] dang|2 years ago|reply
Particle Life Emerges from Simplicity - https://news.ycombinator.com/item?id=34156592 - Dec 2022 (1 comment)
Particle Life Simulation - https://news.ycombinator.com/item?id=33680845 - Nov 2022 (1 comment)
Particle Life - https://news.ycombinator.com/item?id=21875720 - Dec 2019 (7 comments)
[+] [-] jasonjmcghee|2 years ago|reply
https://github.com/jasonjmcghee/compute-shaders
[+] [-] michae2|2 years ago|reply
Also, it seems like in this system the speed of light is infinite, since every particle acts on every other particle each frame, regardless of distance. In CGoL there is a speed of light, since cells can only influence their immediate neighbors each frame.
[+] [-] chuckadams|2 years ago|reply
[+] [-] grumblehound|2 years ago|reply
https://www.youtube.com/watch?v=BpN-DE3o6u8
https://bingdev.binghamton.edu/sayama/SwarmChemistry/
[+] [-] BirdbrainEng|2 years ago|reply
[+] [-] aDeveloperCase|2 years ago|reply
I had a similar concept in mind when I started experimenting in 3D with what I now call "Altphy" (alternative physics), but I've not been able to really make it work as intended (really, is far from working). Also probably the logic and idea behind it too much for real time processing. I'm sharing it only because maybe pieces of that code (or the idea itself) can progress into something one day.
source: https://github.com/aDeveloperCase/altphy
[+] [-] MagicMoonlight|2 years ago|reply
[+] [-] swarmlover|2 years ago|reply
[+] [-] shlomozippel|2 years ago|reply
[+] [-] utkarsh858|2 years ago|reply
But the thing is it does not demonstrate that complexity can come from simplicity. To make a 'life' there are 8 parameters to be modified across a range and 'fine tuned' to get some tangible stable complex structure, all to be done by already conscious beings ( Users anyone? ). So much for simplicity
[+] [-] LoryGilman|2 years ago|reply
[+] [-] emmanueloga_|2 years ago|reply
Found some info here, seems like these are open questions [1].
--
1: https://en.wikipedia.org/wiki/Artificial_life#Philosophy
[+] [-] sgentle|2 years ago|reply
The particles form semi-stable rotating rings until they get too close to another ring. It's quite fascinating to watch. Messing with the viscosity changes the stability and radius of the rings
[+] [-] jantypas2|2 years ago|reply
[+] [-] bezdomniy|2 years ago|reply
you can run it with: cargo run --release
No input yet, just randomly initialises params each run. But it runs with 4000 particles on my machine.