Author Topic: Alga pollinator  (Read 8862 times)

Offline jknilinux

  • Bot Destroyer
  • ***
  • Posts: 468
    • View Profile
Alga pollinator
« on: November 17, 2008, 03:17:00 AM »
Hey everyone,

Here's my first bot!   

It's an algae that shoots viruses whenever a bot is nearby, and the viruses force the infected bot to "pollinate" (AKA fertilize) the veggies, so they can sexrepro! Pretty cool, huh? This is meant for evosims, although I'm sure even (especially?) the f1-bots will get killed instantly by these guys. Come to think of it, this should do pretty well in internet mode...

[div class=\'codetop\']CODE[div class=\'codemain\' style=\'height:200px;white-space:pre;overflow:auto\']'Alga_Pollinator
'By: jknilinux
'It infects bots with a virus that makes them pollinate it and spread the virus to other bots.

Code: [Select]
cond
*.robage 0 =
start
7 989 store
stop

cond
*.vtimer 0 =
start
3 .mkvirus store
stop

cond
7 *989 !=
start
*.eyef 0 =
10 .up store
not
*.refxpos *.refypos angle .setaim store
*.refvelup 5 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 >
start
33 .sexrepro store
stop
end

Let me know what you think!
« Last Edit: April 30, 2014, 02:46:21 PM by Botsareus »

Offline Peter

  • Bot God
  • *****
  • Posts: 1177
    • View Profile
Alga pollinator
« Reply #1 on: November 17, 2008, 10:44:00 AM »
Instead of a veggie that will be raped, this is a veggie that will rapes others. In the end you will have a veggie with only fightbot genes. Atleast I think that is the idea.

F1 bots instantly killed is not entirely the truth. Ofcource the veggies plan will succeed with most bots with probably multiple repops. But not inmidiate.

Veggies have a constant nrg income. Keeps a little unfair that they too can use all fighting power.
Oh my god, who the hell cares.

Offline jknilinux

  • Bot Destroyer
  • ***
  • Posts: 468
    • View Profile
Alga pollinator
« Reply #2 on: November 17, 2008, 01:00:48 PM »
Quote from: Peter
Instead of a veggie that will be raped, this is a veggie that will rapes others. In the end you will have a veggie with only fightbot genes. Atleast I think that is the idea.

F1 bots instantly killed is not entirely the truth. Ofcource the veggies plan will succeed with most bots with probably multiple repops. But not inmidiate.

Veggies have a constant nrg income. Keeps a little unfair that they too can use all fighting power.

I completely agree, peter. Veggies should have some sort of handicap to offset the fact that they get free energy- maybe at least really poor movement efficiency, or a slow maximum velocity.

Also, the idea was really to make a veggy that needs bots to survive... However, they pretty quickly develop the ability to fertilize themselves, so they just kill off all the bots.

Offline peterb

  • Bot Destroyer
  • ***
  • Posts: 148
    • View Profile
Alga pollinator
« Reply #3 on: November 17, 2008, 03:08:05 PM »
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


Offline bacillus

  • Bot Overlord
  • ****
  • Posts: 907
    • View Profile
Alga pollinator
« Reply #4 on: November 17, 2008, 06:55:25 PM »
Interesting idea you have there. I agree to some extent that plants should evolve defenses against predators (poison and the likes), possibly also lethal defenses, but plants raping and generally annihilating its predators is a little off the mark...
"They laughed at Columbus, they laughed at Fulton, they laughed at the Wright brothers. But they also laughed at Bozo the Clown."
- Carl Sagan

Offline jknilinux

  • Bot Destroyer
  • ***
  • Posts: 468
    • View Profile
Alga pollinator
« Reply #5 on: November 18, 2008, 02:55:38 AM »
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

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...  


Offline peterb

  • Bot Destroyer
  • ***
  • Posts: 148
    • View Profile
Alga pollinator
« Reply #6 on: November 18, 2008, 11:33:18 AM »
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...


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  


Offline peterb

  • Bot Destroyer
  • ***
  • Posts: 148
    • View Profile
Alga pollinator
« Reply #7 on: November 18, 2008, 02:05:22 PM »
'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

Offline jknilinux

  • Bot Destroyer
  • ***
  • Posts: 468
    • View Profile
Alga pollinator
« Reply #8 on: November 18, 2008, 04:49:46 PM »
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.
« Last Edit: November 18, 2008, 05:37:49 PM by jknilinux »

Offline jknilinux

  • Bot Destroyer
  • ***
  • Posts: 468
    • View Profile
Alga pollinator
« Reply #9 on: November 18, 2008, 05:22:46 PM »
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?
« Last Edit: November 18, 2008, 05:39:49 PM by jknilinux »

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Alga pollinator
« Reply #10 on: November 18, 2008, 05:51:15 PM »
You're doing 3 .mkvirus store to create the virus, but if an algae gets infected it might change the order of the genes which might cause some weird gene duplication that could cause problems.

Offline jknilinux

  • Bot Destroyer
  • ***
  • Posts: 468
    • View Profile
Alga pollinator
« Reply #11 on: November 18, 2008, 06:20:32 PM »
Thanks! Okay, this should fix it:

[div class=\'codetop\']CODE[div class=\'codemain\' style=\'height:200px;white-space:pre;overflow:auto\']'Alga_Pollinator_0.3
'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
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

else

*.vtimer 0 =
*.thisgene 1 sub .mkvirus 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
*.genes 8 >
start
*.mkvirus .delgene store
stop
end

But it doesn't...
« Last Edit: November 18, 2008, 06:21:50 PM by jknilinux »

Offline peterb

  • Bot Destroyer
  • ***
  • Posts: 148
    • View Profile
Alga pollinator
« Reply #12 on: November 18, 2008, 10:00:26 PM »
hm intresting so you want to keep the algea from evolving by using a gene system.
I gues the gene system could also get damaged.
While the purpose of sexrepro was I think to exchange DNA... hmmm ahm hm well maybe that works I duno
Your idea is the reproduction method will depend on it so it becomes an evolutionairy force.

That is to say... until theoreticaly sexrepro turns into .repro
But thats a small chance


Dough if you dont want any evolving at all you might also put in the
  • at the settings.

So I asume you still like it to evolve but be more depended on other bots.
As a kind of penalty for their so easy living method to get energy.
And you dont want them to win each time in the end...

Compared to what I wrote I'm curious how well does it live in a sim?
The algea I wrote cant do repro (unless there he's eaten/killed) so it needs bots to survive.
It depends so strong on it that in fact the DB fishtank can dye, an eco disaster.
Often I saw a verry low population, while other bots florished and killed them all.
Then there was only none or one left, and so next the animals died too.

I never tried that repro nor did I try viruses.. but I wonder what is the effect of mrepro ? I rarely see it used

Offline jknilinux

  • Bot Destroyer
  • ***
  • Posts: 468
    • View Profile
Alga pollinator
« Reply #13 on: November 18, 2008, 11:16:31 PM »
You're right, my second idea wasn't too good. The goal is an evolution-proof way of keeping the veggies from killing their overlords, but maybe we just can't do that here...

Well the way real life works is the prey need the predators to prevent prey de-evolution... look at the dodo- no predators, and in just a few million years it turned into a waddling buffet.

Wait a second...

I just came up with a third method- the prey kill themselves without the predators:
All veggies continually shoot venom. They are not immune to their own venom, so if there are too many, they kill each other. Then, there's a predator that has slight immunity to the venom, and keeps the algae from killing themselves by killing enough of them that they're widely separated.

So, we just need an instakill venom attack... Any ideas?

Not as fun as pollination, but oh well.


You mean how well does alga pollinator do? If you put it in there with A. Minimalis, it steals their genes in 200 cycles, kills them all in 500.

mrepro increases the chance of mutations occurring in offspring.

Offline peterb

  • Bot Destroyer
  • ***
  • Posts: 148
    • View Profile
Alga pollinator
« Reply #14 on: November 19, 2008, 11:55:29 AM »
Sory but I'd like to mention that I also liked your ideas.
Its slightly different aprouch to a problem (veggies have an easy life let them be more dependant on bots).
So I like what you tried, dont give up.
I'd like to see a good working bot using your ideas.
Good is when you say its ready

new ideas are always welcome I think; new ideas give new insights.