Bots and Simulations > Interesting behaviour bots
Alga pollinator
jknilinux:
--- Quote from: peterb ---hmm
the bot I'm working on doesnt get killed by it, or wasntg that the goal? (not a bot killing plant?)
not sure if thats the goal, or if the bot is finally doeing well.
It seams to win from several bots but some not.. its not an ultimate bot.
.. oh well that is.. maybe it could live together in symbiosis with a F1 killer.
Or is what I made a F1 killer, (I'm not that sure about classification neither)
-it doesnt do tie feeding, but it has poison, doesnt have a virus no slime, but does like pocorn
--- End quote ---
Peterb-
No, that wasn't the goal, although I'm sure you could easily modify it to kill any and all bots really quickly. This goes back to an old thread where I said that in any evosim, so long as the algae can evolve, they will ultimately evolve to kill all of their predators, since it's really just a contest of who will win- bots that start out simple but get free energy or bots that start out complex but need to eat other bots to survive. The problem is, it doesn't matter how they start out, evolution is working for the algae. There are two ways to solve this:
1: Give algae a handicap, such as inabilty to move, inability to shoot, etc... This is most like real biology- plants are stuck in a local evolutionary minima and will probably not evolve evasive movement for a few billion years.
2: Make algae want to keep their predators alive. The easiest way I saw for us to do this was to make the algae need the bots in order to reproduce, AKA require pollination. I thought this would be far more interesting. So, A. Pollinator was born.
Unfortunately, it does the opposite- It evolves to kill the predators faster. I still thought it was interesting, so I thought I'd show it off. We might still get it to work as intended, but that would require limiting genes, which would require mutation protection to survive evolution in an evosim...
Bacillus-
Yeah, that wasn't the intention...
peterb:
--- Quote ---Peterb-
No, that wasn't the goal, although I'm sure you could easily modify it to kill any and all bots really quickly. This goes back to an old thread where I said that in any evosim, so long as the algae can evolve, they will ultimately evolve to kill all of their predators, since it's really just a contest of who will win- bots that start out simple but get free energy or bots that start out complex but need to eat other bots to survive. The problem is, it doesn't matter how they start out, evolution is working for the algae. There are two ways to solve this:
1: Give algae a handicap, such as inabilty to move, inability to shoot, etc... This is most like real biology- plants are stuck in a local evolutionary minima and will probably not evolve evasive movement for a few billion years.
2: Make algae want to keep their predators alive. The easiest way I saw for us to do this was to make the algae need the bots in order to reproduce, AKA require pollination. I thought this would be far more interesting. So, A. Pollinator was born.
Unfortunately, it does the opposite- It evolves to kill the predators faster. I still thought it was interesting, so I thought I'd show it off. We might still get it to work as intended, but that would require limiting genes, which would require mutation protection to survive evolution in an evosim...
Bacillus-
Yeah, that wasn't the intention...
--- End quote ---
Intresting dough if my bot first eats (kills) the algey then it wouldnt be able to reproduce.
Hmm dough an intresting concept, maybe create an algey that monitors .pain and .nrg
so that if it almost dies then do a reproduce, and let the childs have a run a few seconds then stay in place.
When I test bots in first runs, I often take algea minimalis with an added gene that only moves in respond to pain or in respond to somethjing in eye5
like
cond
*.pain *.eye5 !=
start
30 .up store
stop
not that advanced, but plants shouldnt be too advanced.
Maybee thinking a seeds and .repro have somthing like
[div class=\'codetop\']CODE[div class=\'codemain\' style=\'height:200px;white-space:pre;overflow:auto\']
cond
*.robage 450 < (why is that robage instead of botage I wonder, it isnt a robot sim?)
*.pain 0 >
start
30.up store
stop
Cond
*.robage 450 >
*.pain 0 >
start
5 .repro store
stop
so only move if attacked, otherways grow in a group and have it only for young plants.
somewhere in the middle of having seeds and stable fixed plants.
Uh oh now I need to test this too...
.. Darwinbots is quite adictive I notice
peterb:
'New code ready..
'ALGEA-DEPRESIA(4G).txt
'
'Plants have feelings too
'by peterb
'
'(like some trees only reproduce with forest fire)
'This algey only reproduces when attacked.
'When attacked, it wil have offsrping that run away when shot if age < 450
'Once an older algey is attacked it also rotates (so offspring goes into various directions)
'Note it becomes intresting after the new generation of 1st plants
'then the yong ones are vulnerable
'They also dont spread too far, so you get grean areas, and wastelands.
'Bots who are not in those wastelands have a reasonable chance to survive.
'And maybe kill them all or keep in balance.
'Without beeing eaten this plant cannt survive.
'======================
def auw 100
def heal 101
cond
*.pain 40 >
start
200 .auw store
400 .heal store
stop
cond
*.robage 450 >
*.auw 1 >
start
15 .repro store
*.auw .aimdx store
*.auw 20 sub .auw store
stop
cond
*.robage 450 <
*.auw 0 >
*.nrg 2000 >
start
200 .dn store
*.auw 3 sub .auw store
*.tiepres .deltie store
0 .aimdx store
stop
cond
*.heal 0 >
start
.heal dec
else
0 *.auw store
stop
jknilinux:
The problem with putting in restrictive code like you did is that it tends to break extremely quickly in an evosim. That's why I suggested mutation protection for it. So I'm pretty sure the depressed algae will break it's restrictive genes in just a few thousand cycles. Alga pollinator has the same problem... From an evolutionary standpoint, why not just use .repro instead of waiting for a bot to find you?
Wait!
I have an idea-
Make the virus delete all the bot's DNA except for the virus! The virus already has all the code needed to find and fertilize more plants. That way, fertilization will NOT put bot DNA in the plant- just virus DNA. Also, put an antivirus gene in the bots, and keep it from breaking by having another plant in the evosim that shoots viruses that kill any bots without the antivirus gene in, like, 2 cycles. That way, they'll keep the antivirus gene (or die), and if a virus tries to get away with evolving to not delete all the bot's genes (which would let it make a hybrid veggy when it polinates), it'll be erased the next cycle by the antivirus gene. The bot-killing virus veggies can't really be kept from devolving their anti-bot virus code (unless there was a reason to keep it, like making the first veggy shoot them when it see them- then the anti-bot virus will infect the first pollinating veggies and kill them), or we could make their mutation rate 0. The only reason why they're there anyway is to keep the anti-bot virus around, and at least we'll have one veggy co-evolving with the bot.
jknilinux:
Okay, alga pollinator v 0.2
[div class=\'codetop\']CODE[div class=\'codemain\' style=\'height:200px;white-space:pre;overflow:auto\']'Alga_Pollinator_0.2
'By: jknilinux
'It infects bots with a virus that makes them pollinate it and spread the virus to other bots.
cond
*.robage 0 =
start
7 989 store
stop
cond
*.vtimer 0 =
start
3 .mkvirus store
stop
cond
7 *989 !=
start
*.thisgene 1 rnd 2 mult -1 add add .delgene store
*.eyef 0 =
10 .up store
not
*.refxpos *.refypos angle .setaim store
*.refvelup 30 add .up store
*.refveldx .dx store
-8 .shoot store
*.thisgene .mkvirus store
50 .vshoot store
stop
cond
*.eye5 0 >
*.refeye *.myeye !=
start
50 .vshoot store
stop
cond
*.eye5 0 =
*.refeye *.myeye = or
start
314 rnd .aimdx store
stop
cond
*.fertilized 0 >
*.nrg 5000 > 'Sometimes works better without this
start
33 .sexrepro store
stop
cond 'This may not be necessary
*.genes 7 >
start
*.mkvirus .delgene store
stop
end
The problem: The algae get infected by their own virus, so in a few cycles you see algae with one gene running around trying to pollinate bots... No idea why...
I mean, this virus cannot work in the veggies, since *989 = 7, right?
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version