Really interesting topic. For about 5 years, I spent much of my hobby time writing a-life sims and messing with them. I wanted an "aquarium" that looked interesting that I could have running 24/7, constantly evolving. I guess I wrote maybe 10 sims from scratch in Unity, Java, Processing, and p5.js.
I have had (limited) success in getting emergent control and coordination behaviours. A couple examples:
I played with a "battleground" simulation, inspired by the "Gladiabots" game, where the entities were NN-based fighting robots organised in teams (4v4, 20v20 etc). Random sensor systems, random fire control systems, signal emitters, etc, hooked up to random neural nets where winning teams procreate and evolve/mutate. Over a LOT of generations (maybe like 20,000+), I'd see teams evolve what looked like coherent tactics, including teamwork, role specialisation, and time-based tactics/formations.
I had a "jellyfish" simulation, similar premise, with small aquatic animals of various "species" who could speciate, etc. The aquarium had qualities like light levels, food production, temperature zones, etc. You always have to be careful to not anthropomorphize too much, but I would clearly see battlegrounds develop and evolve, and successful species rise and fall with behaviours that (again over many thousands of generations) initially look like drunken sailors but evolve into what looks like basic behvaiours, at least at the level you may see in small multicellular organisms.
In my experience, getting emergent behaviours needs a difficult-to-optimize balance between system complexity and system stability. Every neuron, sensor, output, or attribute you add to the sim can cause a super-exponential growth in the "problem space" of your denizens. Behaviours that require any form of coordination take so much longer to evolve than uncoordinated behaviours because you tend to need to "get lucky" where both a signal and response evolve/mutate at the same time.
Another issue is that feed-forward networks are not great at temporal processing. Many basic behaviours require more temporal processing than I expected when I started building these things. I got these to evolve by having features like memory nodes, timer nodes, and recurrent nodes, but if I were to build another one, I'd experiment more with LSTM-like neurons and other recurrent/memory-based architectures.
In my experience (and with my horrendously under-optimised codebases), the amount of evolution you need to simulate is super-exponential as you grow the complexity of the sensors, outputs, and neural nets. In my playing around, doubling any single dimension almost always led to more than a 4x increase in the time you need to see new emergence. In my most complex sim, it got to the point where even tweaking a basic variable like temperature or day/night cycle would need me to run the sim for at least a day to properly observe the impact, and sometimes more like a week or two. I never really knew when the "evolution ceiling" was hit, which was part of the fun for me -- I love seeing a new behavior suddenly appear.
This ALIEN project is really interesting and it has a lot of cool ideas. I haven't played with it yet but I think it's going to be fun! The project I have been keeping an eye on is Neuraquarium, which has similar design goals to what I have built in the past.
Well yeah, it's big numbers! These sims (at least the ones I did) can never be compared to earth, because they make assumptions that start from maybe billions of years of simulated time, and then further make tons of ridiculous assumptions about life based on our observations from this one planet, and then they massively compress our physical reality from atomic and sub-atomic interactions to insanely granular abstractions in these sims.
("How much energy would it take to 100% accurately simulate our universe from the big bang to now" is a pretty interesting thought experiment though!)
I like that interesting period on Earth from maybe 4 billion years ago to maybe 500 million years ago, where we went from amoebas learning to duel to arthropods learning advanced dueling techniques. So any given one of my sims assumes a minimum of 10 billion years of priors, and assumes that it can compress millions and millions of generations and population diversity into a much smaller number.
I've had single sims where basic building blocks go from drunken amoeba to the earliest of pretty intelligent arthropods - so that's 3.5b years of evolution. But all sims are a massive tradeoff between fidelity and duration (fast/good/cheap), and the sims I like the most are the ones that cover an era that creates emergence in even a single aspect of the simulation. I guess most of what I'm interested in simulating is vaguely on the order of 100m years of evolution, over vaguely 7 days of real-time simulation?
I wonder if we could develop any kind of rigor around knowing what certain systems are capable of, or at least some kind of framework for testing things out and being able to catalog and compare them.
I believe the sims need to tend towards less assumptions, more primordial soup, and more running time. We only have one reference point (billions of years of basic shit swirling around) and I feel like we need to start closer to that rather than skipping a bunch of stuff because it's too hard. Making things with so much baked in structure/assumptions doesn't seem to be providing the learning that we need. (I'm speaking in a very general sense, I don't mean this to come off as personal about you or your projects, they sound cool!)
I have had (limited) success in getting emergent control and coordination behaviours. A couple examples:
I played with a "battleground" simulation, inspired by the "Gladiabots" game, where the entities were NN-based fighting robots organised in teams (4v4, 20v20 etc). Random sensor systems, random fire control systems, signal emitters, etc, hooked up to random neural nets where winning teams procreate and evolve/mutate. Over a LOT of generations (maybe like 20,000+), I'd see teams evolve what looked like coherent tactics, including teamwork, role specialisation, and time-based tactics/formations.
I had a "jellyfish" simulation, similar premise, with small aquatic animals of various "species" who could speciate, etc. The aquarium had qualities like light levels, food production, temperature zones, etc. You always have to be careful to not anthropomorphize too much, but I would clearly see battlegrounds develop and evolve, and successful species rise and fall with behaviours that (again over many thousands of generations) initially look like drunken sailors but evolve into what looks like basic behvaiours, at least at the level you may see in small multicellular organisms.
In my experience, getting emergent behaviours needs a difficult-to-optimize balance between system complexity and system stability. Every neuron, sensor, output, or attribute you add to the sim can cause a super-exponential growth in the "problem space" of your denizens. Behaviours that require any form of coordination take so much longer to evolve than uncoordinated behaviours because you tend to need to "get lucky" where both a signal and response evolve/mutate at the same time.
Another issue is that feed-forward networks are not great at temporal processing. Many basic behaviours require more temporal processing than I expected when I started building these things. I got these to evolve by having features like memory nodes, timer nodes, and recurrent nodes, but if I were to build another one, I'd experiment more with LSTM-like neurons and other recurrent/memory-based architectures.
In my experience (and with my horrendously under-optimised codebases), the amount of evolution you need to simulate is super-exponential as you grow the complexity of the sensors, outputs, and neural nets. In my playing around, doubling any single dimension almost always led to more than a 4x increase in the time you need to see new emergence. In my most complex sim, it got to the point where even tweaking a basic variable like temperature or day/night cycle would need me to run the sim for at least a day to properly observe the impact, and sometimes more like a week or two. I never really knew when the "evolution ceiling" was hit, which was part of the fun for me -- I love seeing a new behavior suddenly appear.
This ALIEN project is really interesting and it has a lot of cool ideas. I haven't played with it yet but I think it's going to be fun! The project I have been keeping an eye on is Neuraquarium, which has similar design goals to what I have built in the past.