Closed jjonj closed 5 years ago
I think what you said sums it up quite well. Some important traits I can think of that a microbe can exhibit varying behaviours in are:
The levels of danger and such could be handled using variables (0 to 100?). If the danger level is low enough, it will ignore or attack. If the danger level is too high, it will flee. The threshold could be different for different species and in the case of a predator could also relate to the need of compounds (if the need is high, it will take a higher risk).
Searching for compounds could be done with a scanner function, but I'm not really sure how to code it. This could be done by having the function scan in a small radius from the microbe, and identifying all the compounds (heat, light, microbes?) within the radius. The microbe could then go to the closest concentration of the compound that the microbe needs most at that moment. Note:The radius shouldn't be too big, it would get unrealistic from a certain size on (also depending on the size of the microbe?).
How much it prefers to stay near members of its species could be handled by having 2 variables. Distance and type: distance: the distance between members of the species and type defines if it will stay near, neutral or will stay away. Distance isn't used when type is neutral. Distance means the furthest away a microbe will go away from its species when type is near. Distance means the closest a microbe will come to a member of its species when type is away. The microbe will ignore members of its species when type is neutral.
This is how I imagine the things that Nick stated will work.
Some thoughts:
Now to get in the nitty-gritty: for a risk-reward system to work, we need actual things to remember the risk/reward of. I suggest we use compounds for that -- since, if they're what we're using for environmental communication, they're the only option (and a good one too).
Whew, longer than I expected.
Good notes, but would you suggest delaying this until we have compound clouds then?
Also I wrote some stuff regarding my experiments with OpenVDB to you on skype
Mostly -- some basic framework could be figured out right now. The AI will likely no matter what need a few iterations to complete, from what I can tell; so having one (more, since what we currently have counts too kinda) iteration done before compound clouds wouldn't be too silly.
Ai has been improved and extended.
Features that the new AI should be able to handle:
More ideas are welcomed