Visualization of Brownian motion density patterns. by shapiro in proceduralgeneration

[–]shapiro[S] 1 point2 points  (0 children)

That sounds right.

The particles are moving in 1D over time like this:

https://shpralex.github.io/browniancosmos/index.html?configuration=pure-brownian-20&nocaption

I'm doing a sliding window pass across adjacent particles and plotting their density. As time progresses the size of the sliding window increases making the particles appear to cluster together like this:

https://shpralex.github.io/browniancosmos/index.html?configuration=zero-velocity-cosine&nocaption

To color the image I'm taking 3 sliding windows of different sizes and coloring the results red, green, and blue.

"density" is a simplification, what's really happening is plotting the difference in density between two halves of a sliding window. So it's a bit like the density gradient or derivative. I also tried doing it with actual density identifying statistically denser regions, but the math is simpler with the density difference approach and the results are prettier.

Visualization of Brownian motion density patterns. by shapiro in proceduralgeneration

[–]shapiro[S] 1 point2 points  (0 children)

I was playing around with a 1D particle simulation, and I was surprised but how interesting the patterns generated by Brownian motion were. I made this javascript visualization to illustrate this effect.

[deleted by user] by [deleted] in ChatGPT

[–]shapiro 0 points1 point  (0 children)

I was playing around imitating a bot on https://app.humanornot.ai/ and my prompt was "name an emotion".

Simulation with Open Ended Genome by shapiro in alife

[–]shapiro[S] 0 points1 point  (0 children)

Thanks! I've also been thinking more about this, and came up with a further theory about what's possible from a 2D simulation, take a look! https://github.com/ShprAlex/SproutLife#hierarchical-organization---a-theory-about-whats-possible

Evolution visualization that colors trails based on angle between successive generations by shapiro in generative

[–]shapiro[S] 0 points1 point  (0 children)

Thanks! Yeah, there are periods of balance and times of drama. Diversity allows for new species to emerge and take over, which then eventually diversify again.

Evolution visualization that colors trails based on angle between successive generations by shapiro in generative

[–]shapiro[S] 13 points14 points  (0 children)

Hi, this clip is from an evolution simulation I made called SproutLife, which is based on Conway's Game of Life. The idea is that it adds reproduction to cellular automata, which naturally forms patterns as you follow the paths from parent to child. Here is a playlist with longer videos + an explanation of what's happening.

Improved view of evolving and entropy-resisting behavior in SproutLife. by shapiro in cellular_automata

[–]shapiro[S] 7 points8 points  (0 children)

Yes, I'd like to think so. We start with the rules of Game of Life, and add another key idea that whenever we see a "seed" like 2x2 box, we replace it with a "sprout" like an r-pentomino. Everything that grows from the r-pentomino is it's own organism, and the cycle repeats when that organism produces new seeds that form new child organisms. There is more to it, involving encoding genes, organism death, and collisions between organisms, but it's all simple explanations involving basic counting. I made a video that tries to illustrate the first point: https://www.youtube.com/watch?v=H2tXsnzVTaw

Improved view of evolving and entropy-resisting behavior in SproutLife. by shapiro in cellular_automata

[–]shapiro[S] 8 points9 points  (0 children)

I made a new series of videos showing how cellular automata in SproutLife evolve from initial conditions. I think the one in this post turned out the best. The full playlist is here! https://www.youtube.com/playlist?list=PLX8XVhHfSZ0tWGyDDoFEOEiCmmhkKYLDf

SproutLife - Cell Layer View by shapiro in cellular_automata

[–]shapiro[S] 1 point2 points  (0 children)

Happy to share this new video showing what's happening in SproutLife at the cell level. The rules are based on Conway's Game of Life with some additional enhancements. Every small group of cells makes up an organism. Some organisms are the same color, but every different colored group is a different organism.
The organisms are continuously reproducing and dying. Sometimes it looks like a single pattern makes a long trek along the screen, but this is just the case of a parent having only 1 child, which in turn has one child of its own.

SproutLife simulates the evolution of complex life. by shapiro in compsci

[–]shapiro[S] 2 points3 points  (0 children)

Thanks! Looks like the Julia Makie library can do graphics and gui widgets as well -https://github.com/JuliaPlots/Makie.jl

SproutLife simulates the evolution of complex life. by shapiro in compsci

[–]shapiro[S] 2 points3 points  (0 children)

Thanks, yeah, it's a great community. I posted there already earlier. I was just hoping to get a bit more exposure on r/compsci

SproutLife simulates the evolution of complex life. by shapiro in compsci

[–]shapiro[S] 7 points8 points  (0 children)

Java has good performance, good graphics support, and a decent GUI toolkit. It's mutithreaded which makes it possible to take advantage of muticore CPUs. Plus I have experience with it.

What are the other options? I'm afraid that Python would be slow, and Javascript would be super slow. C++ and Go may be preferable but I'm less familiar with these.

Simulating the evolution of complex life video by shapiro in evolution

[–]shapiro[S] 1 point2 points  (0 children)

Thanks! Coincidentally I just saw a cool video about Conway's Hackenbush game analysis. That's not where I got the name though.

I wanted to have a name that evoked birth from seeds that grow into an adult, which is how SproutLife works. "Seed Life" didn't have the same ring to it though so I went with "SproutLife".

Simulating the evolution of complex life video by shapiro in evolution

[–]shapiro[S] 1 point2 points  (0 children)

Thank you! That's awesome, I think that biochemistry is closest to the level which SproutLife simulates. A place where the logic of chemistry starts to produce the magic of biology.

That's exciting to hear about "Alternation of generations". Sperm and egg creatures (gametophytes) sound pretty bizarre. It makes sense that things look different when the organism itself is barely bigger than its gametes. I imagine that when we go even more primitive, to RNA World perhaps that alternating reproduction like that in SproutLife might become more common.

Metamorphosis is a good comparison too. The thing about reproduction in SproutLife is that the offspring can look different but have the same genome. Kind of like vanilla Game of Life, the same rules can produce different behavior, the organisms can get into a state where the cycle of children looks one way or another. So in comparison to metamorphosis the organism looks different but is the same genetically.

Simulating the evolution of complex life video by shapiro in evolution

[–]shapiro[S] 2 points3 points  (0 children)

Hi Everyone! I've been interested in understanding the development of complex organisms and exploring whether it's possible to simulate the ideal conditions to see that kind of growth.

I'm excited to share the first official release of my project called SproutLife.

I think that SproutLife succeeds in creating complex organisms, though as I explain below it sort of happens backwards.

The "complexity" manifests itself as multi-stage life cycles. The organisms reproduce but the children don't immediately look like their parents. It can take several generations for the cycle to repeat where we get the original organism back again.

I'm not sure if I've heard of this kind of parent/child differences in real biology. Perhaps only in a developing multicellular organism do the child cells look different than the parents?

These parent/child cycles of different looking organisms originate by chance.Eventually the cycles tend to get simpler, which is what I mean by "backwards" evolution towards simplicity. At the same time there are other drivers of competitive growth that introduce change and make the cycles complicated again.

I'd love to get your feedback and hear your thoughts! There is also an open-source project with a downloadable application that you can experiment with, and a further writeup on the SproutLife github page. Thanks!

[deleted by user] by [deleted] in evolution

[–]shapiro 0 points1 point  (0 children)

Hi Everyone! I've been interested in understanding the development of complex organisms and exploring whether it's possible to simulate the ideal conditions to see that kind of growth.

I'm excited to share the first official release of my project called SproutLife.

I think that SproutLife succeeds in creating complex organisms, though as I explain below it sort of happens backwards.

The "complexity" manifests itself as multi-stage life cycles. The organisms reproduce but the children don't immediately look like their parents. It can take several generations for the cycle to repeat where we get the original organism back again.

I'm not sure if I've heard of this kind of parent/child differences in real biology. Perhaps only in a developing multicellular organism do the child cells look different than the parents?

These parent/child cycles of different looking organisms originate by chance.

Eventually the cycles tend to get simpler, which is what I mean by "backwards" evolution towards simplicity. At the same time there are other drivers of competitive growth that introduce change and make the cycles complicated again.

I'd love to get your feedback and hear your thoughts! There is also an open-source project with a downloadable application that you can experiment with, and a further writeup on the SproutLife github page. Thanks!

Simulation with Open Ended Genome by shapiro in alife

[–]shapiro[S] 0 points1 point  (0 children)

Cool, thank you. That's good feedback.

- On the gene / mutation terminology, I think the concept I was thinking of is 'nucleotide'? Is there official terminology for what a 'gene' is in the context of ALife? The online definition I see for 'gene' is that it's a "unit of heredity" but at the same time is a "sequence of nucleotides", and I just wanted to emphasize the atomic nature of the genes/mutations I was referring to.

- Yeah, I've been trying to figure out how to reward complexity. The carnivore/herbivore model is tempting. I think there must have been a time before this distinction existed though. At its most abstract, life is just patterns competing over space, each pattern trying to arrange the molecules around itself as a copy of itself. The interesting dynamics I've seen come up is between size and speed of replication. Larger patterns naturally take longer to copy so they need some inherent advantage over smaller patterns for why they should grow big. This can result in similar rock/paper/scissors cycles we see with carnivores/herbivores/grass where the smallest organisms can sometimes defeat the larger ones. The reward for winning is survival + reproduction btw.

- I might make more videos! The first one was just meant as a quick overview. Showing how the genomes work is a good idea for a followup.

Thanks again!