Microbe AI Self-Awareness

Calm down, I’m not talking about the singularity. I’m talking about how well the AI in the microbe stage can answer questions about itself, such as:

  • “How big am I?”
  • “Am I a plant?”
  • “Do I have a spike facing that way?”

My original impression was that the AI in microbe stage shouldn’t know these things. I interpreted the personality attributes (every species has a genetic level of activity, aggression, fear, focus, and opportunism) as the way a species learns what it wants to do through evolution. If and when the traits don’t match the physical body well, that species dies out and is replaced.

Plenty of recent feedback has given the opposite opinion: that if a microbe’s body requires it to play in certain ways, the microbe should always adapt and make common-sense choices. That can certainly be done from a code perspective, but it will result in a less pure evolution simulator, and diminish the role of the personality stats, if we care about that.

Thoughts?

1 Like

I’m just a graphics programmer but, to me I feel like a lot of the recent feedback with the AI feeling bad is due to an incomplete system. It was actually more complete when ‘Untrusted Life’ originally wrote it and apparently performed significantly better. I don’t think we should switch gears and embrace predictable meta builds and behaviors in the AI by simply hard coding them in but, rather using something of a mixed approach like planning out very large macro-level behaviors (ie a cell that can only consume X should seek out X probably; a cell that literally can’t move shouldn’t bother probably), maybe hard coding those, and also getting the current AI done in it’s actual intended form with more nuanced behaviors being generated procedurally like how it may get something. This means we need to actually focus on fixing and finishing what we have now rather than throwing our hands in the sky and making something silly but simpler like the 2D membrane algorithm (a very simplistic Convex Hull algorithm) which is just not very good and doesn’t make sense for what the team wanted but made it in because nobody wanted to mess with actual implicit surface algorithms. (I get it tbh)

This reminds me of how in the really old Thrive forums I sometimes browse through, people talked about getting rid of evolution all together and focusing on creativity because they simply didn’t want to finish auto-evo and made assumptions about it before it was even usable. Now, I think we would lose our entire audience/fan-base if we dropped auto-evo.

2 Likes

I’d prefer if the hardcoded info like I’m a plant were included in the species genome. The AI behaviour values sort of try to be like that, but they don’t mutate well enough and don’t get to impact the AI behaviour as much. I think that it might be worth it to try to improve those points before introducing entirely different way to make the AI not want to move much (thr being a plant thing).

1 Like

As far as I understand, right now AI species do not mutate beyond the first step of deviation from the player species. All species are direct descendants of the player, and never split off of other AI species.

As a result, behavior (When we were using Untrusted’s code) would only be slightly different than the default values assigned to the player’s species.
You might also notice that the appearance of AI species are always pretty similar to the player for the same reason. They can’t really diverge away from the player, only the player can evolve away from them.

Another thing to consider is the behavior editor, though the concept is still shrouded in uncertainty, it will likely be the method by which the player will modify their own species behavior. I imagine that the AI code will have to be modular, or set as a scale of values much like what Untrusted was going for.

My point here is that until we get atleast one of these things done, we should probably just focus on fixing what we have now. Otherwise it’s going to be rather hard to test or fully realize procedural changes.

Just to clarify, the auto-evo DOES branch NPC species, allowing the other species to get far from the player, in theory. There’s other issues with what auto-evo will actually have a reasonable chance of accomplishing though, for other reasons I don’t want to unwrap in this convo.

Species splitting is not implemented yet (other than making a copy of the player species entering the editor). But I think that the mutations generation code might anyway mutate the personality values of a species, but I’m not 100% sure that it does (I don’t have the code on hand to check it).