Author Topic: Anticanni (IB)(Elite)-02.03.07  (Read 4802 times)

Offline Elite

  • Bot Overlord
  • ****
  • Posts: 532
    • View Profile
Anticanni (IB)(Elite)-02.03.07
« on: March 02, 2007, 02:53:58 AM »
' Anticanni

' The first three genes are the anti-canni ones, and then the rest is the bot behavior. Only thing I'm not satisfied with is that that third gene is rather fragile:

def loc 971

' Epigenetic ID

cond
*.robage 0 =
start
.loc .loc store
.delgene inc
stop

cond
*.robage 0 =
start
.loc .memloc store
stop

' Eeek, a cannibot! Fire to blank his ID and mark him as an enemy

cond
*.nrg 1000 <
*.shflav 0 !=
*.shflav -2 !=
start
*.shang .aimshoot store
*.loc .shoot store
0 .shootval store
0 .shflav store
stop

' See food

cond
*.eye5 0 >
*.memval .loc !=
start
*.refveldx .dx store
*.refvelup 40 add .up store
stop

' Shoot food

cond
*.eye5 50 >
*.memval .loc !=
start
-1 .shoot store
*.refvelup .up store
*.refxpos *.refypos angle .setaim store
stop

' Move around

cond
*.eye5 0 =
start
*.maxvel *.vel 5 add sub 0 floor .up store
*.eye9 *.eye1 sub .aimdx store
stop

' Avoid conspecs

cond
*.eye5 0 >
*.memval .loc =
start
314 rnd .aimdx store
stop

' Reproduce

cond
*.nrg 6000 >
start
50 .repro store
stop

end
« Last Edit: April 22, 2007, 02:35:19 PM by Jez »

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Anticanni (IB)(Elite)-02.03.07
« Reply #1 on: March 02, 2007, 04:18:04 AM »
neat idea.  Any clue to long term behavior?

Offline Elite

  • Bot Overlord
  • ****
  • Posts: 532
    • View Profile
Anticanni (IB)(Elite)-02.03.07
« Reply #2 on: March 02, 2007, 12:49:39 PM »
A quick sim shows that it breaks quite quickly since the probability of the anticanni mechanism breaking far exceeds the probability of an actual cannibot arising. There's not enough need for it.

I thought of using a bot that randomly converted to canni a few percent of the time, but since cannibotism is disadvantageous in an environment of anticannis I'd expect the cannibot-inducing gene to break.

If poison affected conspecs then that could be used rather than the clumsy counterattack gene, but after modifying the code to do just that a while back I found that poison was too unforgiving - a stray shot could brush an anticanni and it would poison the 'attacker'. Then the resulting melee would result in more bots getting tagged, and it got messy pretty quickly.

A tiefeeder might have better luck, since a bot can instantaneously and precisely leech from the offending tie. Perhaps a second population of hostile tiefeeders could keep the leech gene unbroken, and then cannibots would be disadvantageous since their conspecs would simply be far too defended. Might even see the two populations evolving measures to prevent them attacking each other.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Anticanni (IB)(Elite)-02.03.07
« Reply #3 on: March 02, 2007, 10:30:31 PM »
I think the primary motive force for the development of cannibalism is the lack of predation.  What you need is a predator species that keeps anti-predatory genes alive.  Try changing your vegs so that they don't get any nrg from the sim, and wander around as a simple animal that's capable of killing the bots.  Have them repop when they get low.

Alternatively, you could build a super predator and prevent it from reproducing by using the veg population caps, though I'm not sure how to set that up with a food source.

Offline Jez

  • Bot Overlord
  • ****
  • Posts: 788
    • View Profile
Anticanni (IB)(Elite)-02.03.07
« Reply #4 on: March 11, 2007, 10:50:43 AM »
This is an ecosim bot?

[edit] nm, filed it as IB
« Last Edit: April 22, 2007, 03:17:29 PM by Jez »
If you try and take a cat apart to see how it works, the first thing you have in your hands is a non-working cat.
Douglas Adams