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
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 one is really fun for me. It has a lot of actions and good shapes.
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.
Oh, there's one of those too! I don't see ways to change the falloff though, just the magnitude...
https://hunar4321.github.io/particle-life/particle_life_3d.h...
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.
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)
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.
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.
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
Found some info here, seems like these are open questions [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
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.
Rotting is caused by living organisms. Being eaten is caused by living organisms. Disease is caused by living organisms.
They could not die until death evolved. They could be physically destroyed but that’s not that likely.
Is there reproduction? Is there evolution? Is there death? It appears not. Those are essential to life.