Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cell physics based on color connections #117

Open
Enitoni opened this issue Jan 30, 2025 · 0 comments
Open

Cell physics based on color connections #117

Enitoni opened this issue Jan 30, 2025 · 0 comments

Comments

@Enitoni
Copy link

Enitoni commented Jan 30, 2025

This issue would require the implementation of #116 to work optimally, but the idea is to make colors have more of an impact on the physics and properties of cells to encourage more patterns and interesting evolution.

I am proposing a new feature that would allow you to adjust the physical properties of cell connections, based on color. For example, let's say that you have two cells, a green and a white cell, you would then be able to adjust settings for the physical properties of the connection between these cells:

  • Stiffness, which controls how rigid and strong a connection is, such as how far it will bend, or if not at all.
  • Length, the ideal reference length of the connection.
  • Elasticity, like stiffness but controls how far away the cell will be able to stretch.
  • Strength, determines how much force is applied before a connection breaks
  • Enabled, simply says if this connection is allowed or not. If false, a white and green cell simply would not connect.

There might be more settings you could add here, but the idea is to introduce physical rules that would encourage organisms to use more structure and less randomness in their genomes.

Additionally, new physical settings per color would be added:

  • Connection requirement, allows requiring min and max amount of connections for the cell to be connected.
  • Durability, determines how much force can be applied directly to the cell before it dies or loses a lot of energy.

Here's an example of which this could be useful: Say you wanted to make neurons "fragile" in a way so organisms would be more careful about how they use them. You could make it so that neurons have a high connection requirement, so it must be covered up by other cells and not exposed to the environment. You could also make it so that neurons don't connect to anything except themselves or a cell color with high structural properties (let's say white defenders) which has a high stiffness, high durability, and low elasticity. Then, finally you'd make neurons have a low durability which means that if they were to bump into things they would die very easily. This would encourage the organism to put neurons in the inner parts of its body and surround them with white defender cells to protect them, which would be sort of like "skin" or "bone."

You would have to disable these rules if the cells are under construction, since the connection requirement rule can be temporarily violated while a constructor is constructing the organism.

Let me know what you think, but I think having systems like this is crucial to encouraging more interesting patterns to evolve in the structures of organisms. By adding limitations and rules, the evolution has to work around them and come up with interesting solutions. That's how it works in real life, too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants