Evolving creatures using 3D particle life.

preview_player
Показать описание
An evolutionary model is applied to 3D particle life to create an amazing range of colorful creatures.
Рекомендации по теме
Комментарии
Автор

I am truly amazed by Particle Life. However, I would love to see a simulation that includes chemical reactions. For example, it would be fascinating to see interactions where blue particles combine with red particles to produce yellow and green particles, or something along those lines. I believe this would add an intriguing layer of complexity and realism to the simulation.

IceGame
Автор

I really like the aspect of the original particle life where particle type is conserved when creatures eat free-floating particles or other creatures, and add them to their structure. Like eating specific nutrients. It's a shame there's no easy way to do that in combination with the evolutionary aspects, as far as I can come up with. Maybe if each creature was defined by a "nucleus" particle that exerted an influence over nearby particles by modifying their base attraction values? Or maybe it would slowly transmute nearby particles to desired ones? Reproduction would be difficult to manage, too. In any case it seems like it would be a much more chaotic and complicated world which would be much harder to evolve in, so I think you made the right call with your simplifications here. You got some extremely cool results!

an_asp
Автор

9:18 It might be a good idea to introduce more particle interactions, like have special cases for parent cells and child cells so that the parent and child can spawn close together without immediately trying to rip each other apart. It could however just result in an organism that is efficiently able to consume its children.

flameofthephoenix
Автор

This is amazing work! I'm trying to do the same thing with a similar particle system (primordial particle system), and you have done a fantastic job on explaining how evolutionary particle systems work!

EmergentLifeArchive
Автор

Very neat. Looking forward to seeing how this project "evolves" 🙂

SimulationStarterKit
Автор

Came here from the reddit thread. Love it, lots of ideas...

First up, since "the many to many" force effects gets exponentially more expensive with more particles, you could optimise some out for better performance / more creatures. If particle connections had a timer or frame counter, two particles in very close proximity (overlapping) for a long time could merge - combining their size, masses and forces into a single larger particle. Most of your creatures have a central core of maybe a dozen particles, these would become a single large particle, and this alone could potentially halve computation per creature.

Second - particle specialisation. Lets take that single large particle and give it another function - it's the stomach - and only stomach particles can remove food from the world and "process" it into something else, but where particle specialisation gets really interesting is eyes. You could cull out a lot of calculations if only "eye" particles are even aware of external particles, even moreso if they were only aware of certain other particle types, eg eyes that see only food and eyes that see only other stomachs. By greatly reducing the number of seen particles, you could greatly increase the range they can see.

The "connection timer" idea that forms large stomachs from overlapping particles could also be used to determine and dynamically modify what is self and what is other, allowing structure to change over time, its the same principle as particle merging, only at extended range. Say a creature captured some food but never got it into the stomach to remove it, eventually the food becomes "self" and now you have motile food inside a creature, which might lead to predator/carnivore creatures that chase other creatures around....

This is getting long, but another idea is how food is distributed. it looks like when one is eaten you just move it randomly somewhere else... this favours slow, sluggish creatures. If the food spawned at the location of an existing food (eg food subdivides and grows like plants) it would mean that some areas get stripped of resources while others become resource rich, over time this would favouring creatures that explore.

Another potential particle specialisation is the reproductive organ, but how that might interact with stomachs, food, eyes etc. is.. well.. this comment is already long enough for youtube! :)

boggers
Автор

In this simulation the particles don't have to have an equal and opposite reaction, this is because each cell needs to be able to move, however it should be possible to achieve this without breaking Newton's law, if a particle isn't really just one particle but rather 100 and each one has a certain amount of energy you could define rules where particles in the back transfer their energy to the front then get left behind resulting in the cells shrinking in a way similar to a rocket where they leave a trail of dead particles behind when they move. Then there can also be a gradual break down of all cells where their rules will be dissolved over time and the cells will just become more food and get re-saturated with energy. Likely the way you would do this is by having particles have special rules for energy transfer, the amount of energy one cell tries to dump into another cell could depend on both the type of cell in question and the amount of pull on that cell. The problem is you would need to define rules for how a cell can transfer from one type of cell to another.

flameofthephoenix
Автор

As someone who is interested in math, physics, and computer science, this channel is a treasure.

In this model, organisms are discrete units for which different, special laws apply, while in real life, organisms are just emergent from the same laws of physics that apply to everything else. Is there a way to make an evolutionary model that is closer to real life in this respect?

metachirality
Автор

Hey! This was really cool. I wanted to do something like this but I don't know what tools I should use. Maybe C++ with 3d libraries? Could you tell me what frameworks and tools you used

oak___
Автор

can you recommend some books to learn dynamic simulation C/C++/Java and some related to domain knowledge i mean what should i learn to reach your level consider i know calculus and some math for computer science to a decent level like discrete structures etc

lattehour
join shbcf.ru