Author Topic: Mutation Rates  (Read 7683 times)

Offline Elite

  • Bot Overlord
  • ****
  • Posts: 532
    • View Profile
Mutation Rates
« Reply #15 on: February 16, 2006, 11:46:42 AM »
Same here, definately a virus. The veggies were mutation-disabled.

The 'veg unfixing' thing is happening to me quite frequently now. I have to use a veg that refixes automatically.

 :wacko:

BTW: PY, that mutant virusbot isn't trying to vshoot gene 50; it's trying to vshoot a nonexistent virus with a range of 50. You need to .mkvirus first to fire a virus. I've got no idea how those genes are getting into the vegs. Altzheimering their shoot genes into .mkvirus maybe?

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
Mutation Rates
« Reply #16 on: February 16, 2006, 12:24:26 PM »
You are right. I dunno what the heck is going on.

I have a really strange scenario right now.
When I left the sim about an hour ago, all the bots were travelling at a pretty much uniform speed in all the same directions (plus the 180 degrees opposite direction of course)
Now they are suddenly zipping around all over the place at a bunch of different speeds. They all still go straight though.

I have one small family group who are shooting sideways at various different angles instead of straight ahead. I can't figure out quite how though.
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D

Offline Elite

  • Bot Overlord
  • ****
  • Posts: 532
    • View Profile
Mutation Rates
« Reply #17 on: February 16, 2006, 01:08:43 PM »
Evolution sims are so interesting.

Running one with this bot:
Code: [Select]
cond
*.robage 0 =
start
stop

cond
start
-1 .shoot store
stop

cond
start
20 .up store
stop

cond
*.refeye *.myeye !=
start
*.eye9 *.eye1 sub .aimdx store
stop

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

cond
start
stop

cond
start
stop

cond
start
stop

end
Lots of space for mutation here  :D

*Runs sim*

Yey, it works!

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Mutation Rates
« Reply #18 on: February 16, 2006, 01:51:38 PM »
There's a problem with viruses in 2.37.6 that I think explains what's happening.

See, mkvirus starts a timer if a valid gene number is used.

When that timer runs out, the virus at .mkvirus is copied and shot out.  If a gene is inserted in the mean time, where the mkvirus sysvar used to point to is now a different gene.

Meaning that the wrong gene can end up being copied.

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
Mutation Rates
« Reply #19 on: February 16, 2006, 02:34:35 PM »
I just had one start to swim backwards  :D

Mutated .up to .dn  B)
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D

Offline Elite

  • Bot Overlord
  • ****
  • Posts: 532
    • View Profile
Mutation Rates
« Reply #20 on: February 16, 2006, 03:43:36 PM »
Check out this bot:

Code: [Select]
'Animal Minimalis mod

def stress 50

cond
*.eye5 0 >
*.refeye *.myeye !=
start
*.refveldx .dx store
*.refvelup 30 add .up store
stop

cond
*.eye5 50 >
*.refeye *.myeye !=
start
-1 .shoot store
*.refveldx .dx store
*.refvelup .up store
stop

cond
*.eye5 0 =
*.refeye *.myeye = or
start
314 rnd .aimdx store
stop

cond
*.nrg 4000 >
*.stress 1 <
start
33 .repro store
stop

cond
*.nrg 4000 >
*.stress 0 >
start
33 .mrepro store
stop

cond
*.pain 50 >
start
.stress inc
stop

cond
*.pleas 50 >
start
.stress dec
stop
end

When stressed, it hyper-mutates it's offspring. Haven't tested it yet, just thought it was an interesting idea.

Heh, backwards  :lol:  there's always at least one bot doing something stupid  :D

I had one that used the reverse of animal minimalis' turning system - it span if it saw something and kept spinning it could see nothing in particular  <_<

Offline Elite

  • Bot Overlord
  • ****
  • Posts: 532
    • View Profile
Mutation Rates
« Reply #21 on: February 16, 2006, 04:31:45 PM »
Here's a good evo tip -

Double up key genes. Double up your repro genes so that big berthas cannot get rid of them so easily, and you can double restrictive genes so they can't be broken as easily.

I also sometimes add 'spare genes' and junk DNA to my evobots to give evolution more to play with.

Offline Elite

  • Bot Overlord
  • ****
  • Posts: 532
    • View Profile
Mutation Rates
« Reply #22 on: February 16, 2006, 05:23:40 PM »
Talk about junk DNA ...

cond
  *345  *192 ~=
 -9  *.velscalar >
 -9  *.velscalar =
start
stop

cond
 -9  *.velscalar >
 -9  *.velscalar >=
 -9  *.velscalar >=
  *.robage  0 <
start
  *889
stop

cond
 -9  *.nrg >
 -9  *.velscalar >
 -9  *.velscalar >
 -10  *.aimshoot >
 -9  *.velscalar >=
start
  *.refypos -1463
stop

cond
  *.tielen2 -447 >
start
  *421 rnd div  *.backshot -1169 dec
 div inc
 -288 dec
 div inc
 dec
 div inc
  *757 -1169  *420 div
stop

cond
  *.strbody  0 =
start
  *.in2 -1169 div rnd
stop

cond
  *.strbody  0 =
start
  *.in2 -1169 div rnd
stop

cond
 -91 -144 >=
start
  *334 -1  .shoot store
 inc
 inc
 div  *306 inc
 add  *515 dec
  163  202  *416 mult
stop

cond
start
  21 div  21 div div store
  *430  1 rnd -283  20  0 rnd  19  1 rnd dec
  1 rnd store
  *579
stop

cond
start
  21 store
 dec
 -375  *679  452  457  *.shsx  *853 store
 -977 div dec
 store
 -977 dec
 inc
 inc
 dec
 add div  977  *846
stop

cond
  *.refdx  730 !=
  *.body  745 %=
  *.memval  *.fixed !=
  *.memval  *.fixed !=
start
 add -392 add mult  447 add mult div  *.reffixed mult  *345 add  265  *.trefaimsx store
 rnd div  281  *.trefaimsx rnd  *237  *.reftie -614 dec
 rnd  *.hitdn dec
 dec
 rnd  448 rnd inc
  448 rnd sub inc
 -201 inc
 -201 rnd sub mult  *54  *.velscalar  *.trefxpos  173  *.myvenom store
 rnd  1488  *.eye9 store
  *.ypos -986 rnd store
  *.ypos rnd  662 rnd  *.eye1 add inc
 dec
 dec
 add  *.eye1  201 rnd add  774 dec
 dec
 mult inc
  *679 rnd inc
  *679 rnd  *519  *.shootval  *.sun  *.tielen3 inc
 store
 store
 div store
 div mult  *.hitdx  *129  6 -32 mult inc
 -24
stop

cond
  *.shootval  730 !=
  *.refdx  730 !=
  *.body  745 %=
  *.memval  *.fixed !=
  *.memval  *.fixed !=
start
 add add mult  447 add mult div  *.reffixed  *345 add  265  *.trefaimsx store
 rnd div  265  *.trefaimsx rnd  *237  *.reftie dec
 rnd  *.hitdn dec
 rnd  448 rnd inc
  448 rnd sub inc
 -201 inc
 -201 rnd sub mult  *54  *.velscalar  *.trefxpos  173  *.myvenom store
 add  1488  *.eye9 inc
 dec
  *.ypos rnd sub store
  *.ypos rnd rnd  *.eye1 add inc
 dec
 add  *.eye1  201 add  774  1032 -971 dec
 dec
  *679 rnd inc
  *679 rnd  *.shootval  *.sun  *.tielen3 inc
 store
 store
 sub div store
  *892  *129  6 -32 inc
 -24
stop

cond
  *.refeye  *.hitup !=
start
 -823 inc
 inc
 dec
 inc
 inc
 dec
 inc
  *.refdn dec
 dec
  *163 add  *.trefvelmyup dec
  *255  *.pleas mult -57 sub -56 rnd sub -56 rnd sub  *546 -56 rnd sub  237 -56  *435 rnd sub  *948 dec
  *948 dec
 mult div inc
  *258 add  748 -42 inc
 div  174 -1111 inc
  *.vtimer  418 div  *.eye1  *.numties sub  *.eye1  *.numties sub  *.eye1  *.numties sub -759  *.vtimer  *.eye1 dec
 div  402 div  *.trefvelyoursx  *.eye9  *.pwaste sub  *.eye1 sub  .aimdx store
  79  45 -666  283  *.trefage store
 -24 dec
stop

cond
  *977  *.myvenom >
  *.trefshoot  *.myvenom >
  *.fixlen  *.hitup >
start
  994 store
 rnd inc
  *.eye9  96 add  *.venom sub  *270 div  *270 store
 div  *270 div  *.velscalar  *.refpoison  *.velscalar  *.velscalar div  *.tieang sub  *270 add mult store
 mult -178  *.memval -237  *.deltie sub  *188  *948 rnd  *.vtimer  *172 mult -1388  *.setboy  34 -613  *892 -487  *994 sub  *.mydn  *892 sub inc
 sub  *.eye1  *892 dec
  *.eye1 store
  *892 sub add store
 div  *.shdx  435 div  *892 store
 dec
 add  *.trefvelyoursx  *.eye9  *.eye1 rnd  *.eye9  *.eye1 rnd  *.eye9  *.eye1 rnd sub inc
 dec
  *.eye9  *.eye1 -781  *.hitdn  *691 div -781  *.hitdn div -1173 -28 sub  *143 -601 -27 sub store
  *192  5 div div add  5 div inc
 div div inc
 div -850 dec
 -850 dec
  *561 rnd -24 -434 dec
stop

cond
  *.trefypos  *.trefdx !%=
  *.hit  *.hitdx =
  *.nrg  7868 >
  *.nrg  8017 !%=
start
 dec
  51  .repro store
  1 div  *75 dec
 sub  109 inc
 rnd dec
 mult store
 rnd  1400 -232 -375  *601 inc
stop

cond
  *.eye5  *493 !%=
start
  *29  129  *.trefxpos -1660  *71
stop

cond
start
 sub mult  129 dec
  *.in1  *.poisoned mult
stop

cond
  *986  *.dn <
start
 -330 rnd div -330 rnd div dec
 dec
  *.daytime inc
 dec
  *.daytime inc
 -609 inc
  *.refshoot
stop

cond
start
 -971 dec
 rnd -971 dec
 rnd  860 add inc
  174 sub sub  174 sub inc
 -784 dec
 rnd  *.trefdx sub sub  919 div rnd dec
 div rnd mult  *681  325
stop

cond
start
 -971 dec
 rnd  *222 -971 dec
 rnd  *59  870 sub inc
 -929 add div  507 sub rnd  *.trefshell inc
 -459 sub sub  *.tielen3  901 div sub add  *.trefnrg  919 div sub rnd mult  *681  *893  322
stop

cond
start
  *778 mult mult  *778  *.vshoot mult mult  *38 div  *874 dec
  *38 div sub div  *38 div  *362  254 add dec
 div store
 mult sub rnd inc
 -448  *.vtimer dec
 dec
  *.body -1143  101  358  205 dec
 div div -262 sub -184  *734 rnd dec
 mult  *.veldn -890  *38  205 div
stop

cond
 store
  *.shsx  *.refypos sub  *.refshoot  *38 sub dec
  *38 sub dec
 inc
  *433  *.myties inc
  *433  *38 inc
  *433  *38 inc
  *433  *.hitdn mult  .hitup store
  *.tielen4  *38  210 rnd
stop

end
« Last Edit: February 16, 2006, 05:24:19 PM by Elite »

Offline Endy

  • Bot Overlord
  • ****
  • Posts: 852
    • View Profile
Mutation Rates
« Reply #23 on: February 22, 2006, 09:41:32 PM »
If you really want to be restrictive:

Code: [Select]
'Last Gene
cond
*.dnalen *.dnalenInitial !=
start
.delgene inc
stop

You can also use *.thisgene to a good effect:
Code: [Select]
'Gene1
cond
*.refeye *.myeye !=
*.eye5 35 >
start
*.thisgene sub .shoot store
stop

Any mutants have to first figure a way around these before anything else can appear.