Bots and Simulations > Evolution and Internet Sharing Sims
Randombot evolution sim
Beanspoon:
--- Quote from: Numsgil on April 05, 2012, 04:29:19 PM ---If you plan on leaving them on for a while, it's sometimes better to just buy a new stripped down computer with a core i7, in terms of the energy consumption. Each DB instance is single threaded, but you can run multiple instances simultaneously. So one of the new 6 core processors can run 12 instances (6 cores with hyperthreading = 12 hardware threads) pretty effectively.
--- End quote ---
In an ideal world, this is precisely what I'd do. Sadly at this stage in my life I'm an impoverished student, so it'll be a while before I can just fork out on a hobby number cruncher xD
--- Quote ---If they don't get a lot of nrg from being a veggy, they should learn to feed as well, to supplement their meager nrg income. Pretty soon after that all the non feeding vegs should get eaten. Then you lower the veggy feeding some more, and introduce dumb bots to feed the animals by getting eaten. You keep lowering the veg nrg until you can turn it off entirely. Then start the sim with that species not marked as vegs, and you can introduce in smarter and smarter vegs.
--- End quote ---
Ok I get where you're coming from with that - how do you give them a meagre nrg income? I have my veg feeding at 1 nrg per kilobody point, and anything withat least a few hundred body seems to be doing fine - in fact most of them have 32000 nrg - that is until the age cost catches up with them and kills them off.
--- Quote ---Heh, that's a funny way to evolve locomotion. :)
--- End quote ---
I don't think I'll credit them with having evolved this on purpose to get around, but I suppose there's the possibility that a bot might use this as a means of locomotion if movement was exceptionally costly and body wasn't an issue...
Incidentally, the latest update: so far there is no sign of sensible reproduction evolving, however I feel we are getting closer. I have attached a few curiositied which have mutated along the way. The first is a robot that compulsively ties to anything in front of it. It doesn't do anythig further, but it's has a little cluster of other bots attached to it now, and it's at least a step in the right direction.
The second is a massive (32000 body) bot which constantly shoots (I'm not sure what it shoots either), but from the once-over I've given its DNA, I can't work out why it shoots constantly, nor why it's so big.
The final curiosity is another behemoth (32000 body) which again I haven't been able to ascertain the reason for its massive size. Please feel free to pick apart the coding for each and discuss, I'd be interested to know what makes these guys tick.
I find the discovery of these behaviours heartening - for a start it shows that a wide variety of interesting behaviour is possible from these bots, and secondly, all I need is for one of them to start reproducing again, and I could have the makings of a rudimentary self-sufficient bot!
Botsareus:
--- Quote ---I'd be interested to know what makes these guys tick.
--- End quote ---
A guy by the name of Prsn828 was working an a plugin that should make mutated DB easier to comprehend, unfortunately I have no idea what happened with this. http://forum.darwinbots.com/index.php/topic,3442.0.html
Huge robots are an evolutionary advantage because they put out the most energy pomp, unfortunately they never reproduce.
A robot does not need to shoot to gather energy, maybe it is tie feeding.
Beanspoon:
Sorry, I should have explained - these bots are far from adapting to their environment. The behaviours seen here are merely due to random mutation - unless they develop some way of reproducing sensibly, this behaviour is null and void.
One thing that the growing huge does mean though is that it will greatly increase their longevity, which will at least give them more of a chance to evolve other behaviours including reproduction. We'll see.
I just posted the bots out of curiosity as to how the behaviours they have developed work, none of them will be at all successful in their present condition.
Botsareus:
--- Quote ---I just posted the bots out of curiosity as to how the behaviours they have developed work
--- End quote ---
:D I kinda gave up trying when I evolved this; (There are 233 genes, it does not fit on the page)
--- Code: ---'4111
*.body 1786 *.myeye 1786 << 1 *.in5 *.readtie *.dnalen *.eye3 *.vel 50 store
127 dec
sgn sqr
'''''''''''''''''''''''' Gene: 1 Begins at position 18 '''''''''''''''''''''''
cond
clear ceil not
rnd abs angle ~ stop
'''''''''''''''''''''''' Gene: 1 Ends at position 26 '''''''''''''''''''''''
*153 - stop
!%=
*267 store
'''''''''''''''''''''''' Gene: 2 Begins at position 33 '''''''''''''''''''''''
cond
*-353 angle dist *489 div or
and
not
dropbool
*.ypos ceil inc
<< <=
!=
div dist -1128 *382 *.deltie 1 swapbool
1 1 *.mkshell >=
start
ceil not
sgn .refvelup inc
*265 store
*.tin6 add *665 store
swapbool
false
<< store
inc
'''''''''''''''''''''''' Gene: 2 Ends at position 76 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 3 Begins at position 77 '''''''''''''''''''''''
else
-886 add sub xor
!=
-26 *-1152
'''''''''''''''''''''''' Gene: 3 Ends at position 84 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 4 Begins at position 85 '''''''''''''''''''''''
start
127 dec
sgn sqr
'''''''''''''''''''''''' Gene: 4 Ends at position 89 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 5 Begins at position 90 '''''''''''''''''''''''
cond
clear ceil not
rnd abs angle ~ stop
'''''''''''''''''''''''' Gene: 5 Ends at position 98 '''''''''''''''''''''''
*153 - stop
!%=
*267 store
'''''''''''''''''''''''' Gene: 6 Begins at position 105 '''''''''''''''''''''''
cond
*-353 angle inc
div -436 dupbool
-- ceil clear
'''''''''''''''''''''''' Gene: 6 Ends at position 114 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 7 Begins at position 115 '''''''''''''''''''''''
cond
swapbool
-336 & add | over >> and
dist swapbool
>
xor
else
sub !%=
691 << *.deltie 1 swapbool
1 1 *.mkshell >=
'''''''''''''''''''''''' Gene: 7 Ends at position 139 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 8 Begins at position 140 '''''''''''''''''''''''
start
ceil not
sgn sgn
'''''''''''''''''''''''' Gene: 8 Ends at position 144 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 9 Begins at position 145 '''''''''''''''''''''''
else
%=
dist << sub stop
'''''''''''''''''''''''' Gene: 9 Ends at position 150 '''''''''''''''''''''''
<<
'''''''''''''''''''''''' Gene: 10 Begins at position 152 '''''''''''''''''''''''
cond
499 store
-14 <
abs *-108 sgn .refvelup inc
*265 store
*.tin6 add *665 store
swapbool
false
<< store
inc
else
-886 add sub xor
!=
-26 *-1152
'''''''''''''''''''''''' Gene: 10 Ends at position 180 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 11 Begins at position 181 '''''''''''''''''''''''
start
127 dec
xor
pyth -186 ++
'''''''''''''''''''''''' Gene: 11 Ends at position 187 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 12 Begins at position 188 '''''''''''''''''''''''
cond
* *.body 1786 *.myeye 1786 << 1 *.in5 *.readtie *.in9 705 xor
pyth -186 ++
'''''''''''''''''''''''' Gene: 12 Ends at position 203 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 13 Begins at position 204 '''''''''''''''''''''''
cond
* *.body 1786 *.myeye 1786 << 1 *.in5 *.readtie *.in9 .refaimdx dec
ceil clear 1 *.mkshell >=
start
ceil not
sgn .refvelup inc
*265 store
*.tin6 add *665 store
swapbool
false
<< store
inc
'''''''''''''''''''''''' Gene: 13 Ends at position 238 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 14 Begins at position 239 '''''''''''''''''''''''
else
-886 add sub
'''''''''''''''''''''''' Gene: 14 Ends at position 242 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 15 Begins at position 243 '''''''''''''''''''''''
cond
499 store
-14 <
abs *-108 xor
pyth -186 ++ !=
dropbool
*.mkvirus floor floor !%=
!%=
691 ceil over *.hitup store
and
sgn else
%=
dist << sub stop
'''''''''''''''''''''''' Gene: 15 Ends at position 273 '''''''''''''''''''''''
<<
'''''''''''''''''''''''' Gene: 16 Begins at position 275 '''''''''''''''''''''''
cond
499 store
-14 <
abs *-108 xor
pyth -186 ++
'''''''''''''''''''''''' Gene: 16 Ends at position 285 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 17 Begins at position 286 '''''''''''''''''''''''
cond
* *.body 1786 *.myeye 1786 << 1 *.in5 *.readtie *.in9 .refaimdx dec
*.mass 237 div 2 << pow floor store
-14 <
abs *-108 xor
pyth -186 ++ !=
dropbool
*.mkvirus floor floor !%=
!%=
691 ceil over *.hitup store
and
sgn else
%=
dist << sub stop
'''''''''''''''''''''''' Gene: 17 Ends at position 334 '''''''''''''''''''''''
<<
'''''''''''''''''''''''' Gene: 18 Begins at position 336 '''''''''''''''''''''''
cond
499 store
-14 <
abs *-108 xor
pyth -186 ++
'''''''''''''''''''''''' Gene: 18 Ends at position 346 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 19 Begins at position 347 '''''''''''''''''''''''
cond
* *.body 1786 *.myeye 1786 << 1 *.in5 *.readtie *.in9 .refaimdx dec
*.mass 237 div 2 << pow floor << pow *.deltie 1 swapbool
1 1 *.mkshell >=
start
ceil not
sgn sgn
'''''''''''''''''''''''' Gene: 19 Ends at position 380 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 20 Begins at position 381 '''''''''''''''''''''''
else
<< 1 *.in5 *.readtie *.in9 .refaimdx dec
*.mass 237 div 2 << pow floor << pow *.deltie 1 swapbool
1 1 *.mkshell >=
'''''''''''''''''''''''' Gene: 20 Ends at position 404 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 21 Begins at position 405 '''''''''''''''''''''''
start
ceil not
sgn sgn
'''''''''''''''''''''''' Gene: 21 Ends at position 409 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 22 Begins at position 410 '''''''''''''''''''''''
else
<< pow *.deltie 1 swapbool
1 1 *.mkshell >=
'''''''''''''''''''''''' Gene: 22 Ends at position 419 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 23 Begins at position 420 '''''''''''''''''''''''
start
ceil not
sgn sgn
'''''''''''''''''''''''' Gene: 23 Ends at position 424 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 24 Begins at position 425 '''''''''''''''''''''''
else
<< 1 *.in5 *.readtie *.in9 .refaimdx dec
*.mass 237 div 2 << pow floor << pow *.deltie 1 swapbool
1 1 *.mkshell >=
'''''''''''''''''''''''' Gene: 24 Ends at position 448 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 25 Begins at position 449 '''''''''''''''''''''''
start
ceil not
sgn sgn
'''''''''''''''''''''''' Gene: 25 Ends at position 453 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 26 Begins at position 454 '''''''''''''''''''''''
else
%=
dist << sub stop
'''''''''''''''''''''''' Gene: 26 Ends at position 459 '''''''''''''''''''''''
<<
'''''''''''''''''''''''' Gene: 27 Begins at position 461 '''''''''''''''''''''''
cond
499 store
-14 <
abs *-108 xor
pyth -186 ++
'''''''''''''''''''''''' Gene: 27 Ends at position 471 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 28 Begins at position 472 '''''''''''''''''''''''
cond
%=
dist << sub stop
'''''''''''''''''''''''' Gene: 28 Ends at position 477 '''''''''''''''''''''''
<<
'''''''''''''''''''''''' Gene: 29 Begins at position 479 '''''''''''''''''''''''
cond
499 store
-14 <
abs *-108 xor
pyth -186 ++
'''''''''''''''''''''''' Gene: 29 Ends at position 489 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 30 Begins at position 490 '''''''''''''''''''''''
cond
* *.body 1786 *.myeye 1786 << 1 *.in5 *.readtie *.in9 .refaimdx dec
*.mass 237 div 2 << pow floor << pow *.deltie 1 swapbool
1 1 *.mkshell >=
start
ceil not
sgn .refvelup inc
*265 store
*.tin6 add *665 store
swapbool
false
<< store
inc
'''''''''''''''''''''''' Gene: 30 Ends at position 535 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 31 Begins at position 536 '''''''''''''''''''''''
else
-886 add sub xor
!=
-26 *-1152
'''''''''''''''''''''''' Gene: 31 Ends at position 543 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 32 Begins at position 544 '''''''''''''''''''''''
start
127 dec
sgn sqr
'''''''''''''''''''''''' Gene: 32 Ends at position 548 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 33 Begins at position 549 '''''''''''''''''''''''
cond
clear ceil not
rnd abs angle ~ stop
'''''''''''''''''''''''' Gene: 33 Ends at position 557 '''''''''''''''''''''''
*153 - stop
!%=
*267 store
'''''''''''''''''''''''' Gene: 34 Begins at position 564 '''''''''''''''''''''''
cond
*-353 angle inc
div -436 dupbool
-- ceil clear .refvelup inc
*265 store
*.tin6 add *665 store
swapbool
false
<< store
inc
else
-886 add sub xor
!=
-26 *-1152
'''''''''''''''''''''''' Gene: 34 Ends at position 594 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 35 Begins at position 595 '''''''''''''''''''''''
start
127 dec
sgn sqr
'''''''''''''''''''''''' Gene: 35 Ends at position 599 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 36 Begins at position 600 '''''''''''''''''''''''
cond
clear ceil not
rnd abs angle ~ stop
'''''''''''''''''''''''' Gene: 36 Ends at position 608 '''''''''''''''''''''''
*153 - stop
!%=
*267 store
'''''''''''''''''''''''' Gene: 37 Begins at position 615 '''''''''''''''''''''''
cond
*-353 angle inc
div -436 dupbool
-- ceil clear
'''''''''''''''''''''''' Gene: 37 Ends at position 624 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 38 Begins at position 625 '''''''''''''''''''''''
cond
swapbool
-336 & add | over >> and
dist swapbool
>
xor
else
sub !%=
691 ceil over *.hitup store
and
sgn
'''''''''''''''''''''''' Gene: 38 Ends at position 647 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 39 Begins at position 648 '''''''''''''''''''''''
else
%=
dist << sub stop
'''''''''''''''''''''''' Gene: 39 Ends at position 653 '''''''''''''''''''''''
<<
'''''''''''''''''''''''' Gene: 40 Begins at position 655 '''''''''''''''''''''''
cond
499 store
-14 <
abs *-108 xor
pyth -186 ++
'''''''''''''''''''''''' Gene: 40 Ends at position 665 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 41 Begins at position 666 '''''''''''''''''''''''
cond
* *.body 1786 *.myeye 1786 << 1 *.in5 *.readtie *.in9 .refaimdx dec
*.mass 237 div 2 << pow floor << pow *.deltie 1 swapbool
1 *.mkshell >=
start
ceil not
sgn .refvelup inc
*265 store
*.tin6 add *665 store
swapbool
false
<< store
inc
'''''''''''''''''''''''' Gene: 41 Ends at position 710 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 42 Begins at position 711 '''''''''''''''''''''''
else
-886 add sub xor
!=
-26 *-1152
'''''''''''''''''''''''' Gene: 42 Ends at position 718 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 43 Begins at position 719 '''''''''''''''''''''''
start
127 dec
sgn sqr
'''''''''''''''''''''''' Gene: 43 Ends at position 723 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 44 Begins at position 724 '''''''''''''''''''''''
cond
clear ceil not
rnd abs angle ~ stop
'''''''''''''''''''''''' Gene: 44 Ends at position 732 '''''''''''''''''''''''
*153 - stop
!%=
*267 store
'''''''''''''''''''''''' Gene: 45 Begins at position 739 '''''''''''''''''''''''
cond
*-353 angle inc
div -436 1 *.in5 *.readtie *.in9 .refaimdx dec
*.mass 237 div 2 << pow floor << pow *.deltie 1 swapbool
1 1 *.mkshell >=
start
ceil not
sgn sgn
'''''''''''''''''''''''' Gene: 45 Ends at position 771 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 46 Begins at position 772 '''''''''''''''''''''''
else
%=
dist << sub stop
'''''''''''''''''''''''' Gene: 46 Ends at position 777 '''''''''''''''''''''''
<<
'''''''''''''''''''''''' Gene: 47 Begins at position 779 '''''''''''''''''''''''
cond
499 store
-14 <
abs *-108 xor
pyth -186 ++
'''''''''''''''''''''''' Gene: 47 Ends at position 789 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 48 Begins at position 790 '''''''''''''''''''''''
cond
* *.body 1786 *.myeye 1 *.mkshell >=
start
ceil not
sgn .refvelup inc
*265 store
*.tin6 add over >> and
dist swapbool
>
xor
'''''''''''''''''''''''' Gene: 48 Ends at position 814 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 49 Begins at position 815 '''''''''''''''''''''''
else
sub !%=
691 ceil over *.hitup store
and
sgn
'''''''''''''''''''''''' Gene: 49 Ends at position 824 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 50 Begins at position 825 '''''''''''''''''''''''
else
%=
dist << sub stop
'''''''''''''''''''''''' Gene: 50 Ends at position 830 '''''''''''''''''''''''
<<
'''''''''''''''''''''''' Gene: 51 Begins at position 832 '''''''''''''''''''''''
cond
499 store
-14 <
abs *-108 xor
pyth -186 ++ !=
dropbool
*.mkvirus floor floor !%=
!%=
691 ceil over *.hitup store
and
<< store
inc
else
-886 add sub xor
!=
-26 *-1152
'''''''''''''''''''''''' Gene: 51 Ends at position 866 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 52 Begins at position 867 '''''''''''''''''''''''
start
127 dec
sgn sqr
'''''''''''''''''''''''' Gene: 52 Ends at position 871 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 53 Begins at position 872 '''''''''''''''''''''''
cond
clear ceil not
rnd abs angle ~ stop
'''''''''''''''''''''''' Gene: 53 Ends at position 880 '''''''''''''''''''''''
*153 - stop
!%=
*267 store
'''''''''''''''''''''''' Gene: 54 Begins at position 887 '''''''''''''''''''''''
cond
*-353 angle inc
div -436 dupbool
-- ceil clear
'''''''''''''''''''''''' Gene: 54 Ends at position 896 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 55 Begins at position 897 '''''''''''''''''''''''
cond
swapbool
-336 & ceil over *.hitup store
*.deltie 1 swapbool
1 1 *.mkshell >=
start
ceil not
sgn sgn
'''''''''''''''''''''''' Gene: 55 Ends at position 916 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 56 Begins at position 917 '''''''''''''''''''''''
else
%=
dist << sub stop
'''''''''''''''''''''''' Gene: 56 Ends at position 922 '''''''''''''''''''''''
<<
'''''''''''''''''''''''' Gene: 57 Begins at position 924 '''''''''''''''''''''''
cond
499 store
-14 <
abs *-108 xor
pyth -186 ++
'''''''''''''''''''''''' Gene: 57 Ends at position 934 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 58 Begins at position 935 '''''''''''''''''''''''
cond
* *.body 1786 *.myeye 1 *.mkshell >=
start
ceil not
sgn .refvelup inc
*265 store
*.tin6 add over >> and
dist swapbool
>
xor
'''''''''''''''''''''''' Gene: 58 Ends at position 959 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 59 Begins at position 960 '''''''''''''''''''''''
else
sub !%=
691 ceil over *.hitup store
and
sgn
'''''''''''''''''''''''' Gene: 59 Ends at position 969 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 60 Begins at position 970 '''''''''''''''''''''''
else
%=
dist << sub stop
'''''''''''''''''''''''' Gene: 60 Ends at position 975 '''''''''''''''''''''''
<<
'''''''''''''''''''''''' Gene: 61 Begins at position 977 '''''''''''''''''''''''
cond
499 store
-14 <
abs *-108 xor
pyth -186 ++ !=
dropbool
*.mkvirus floor floor !%=
!%=
691 ceil over *.hitup store
and
<< store
inc
else
-886 and
sgn
'''''''''''''''''''''''' Gene: 61 Ends at position 1007 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 62 Begins at position 1008 '''''''''''''''''''''''
else
%=
dist << sub stop
'''''''''''''''''''''''' Gene: 62 Ends at position 1013 '''''''''''''''''''''''
<<
'''''''''''''''''''''''' Gene: 63 Begins at position 1015 '''''''''''''''''''''''
cond
499 store
-14 <
abs *-108 xor
pyth -186 ++ !=
dropbool
*.mkvirus floor floor !%=
!%=
691 ceil over *.hitup store
and
sgn else
%=
dist << sub stop
'''''''''''''''''''''''' Gene: 63 Ends at position 1045 '''''''''''''''''''''''
<<
'''''''''''''''''''''''' Gene: 64 Begins at position 1047 '''''''''''''''''''''''
cond
499 store
-14 <
abs *-108 xor
pyth -186 ++ sgn else
%=
dist << sub stop
'''''''''''''''''''''''' Gene: 64 Ends at position 1064 '''''''''''''''''''''''
<<
'''''''''''''''''''''''' Gene: 65 Begins at position 1066 '''''''''''''''''''''''
cond
499 store
-14 <
abs *-108 xor
pyth -186 ++
'''''''''''''''''''''''' Gene: 65 Ends at position 1076 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 66 Begins at position 1077 '''''''''''''''''''''''
cond
* *.body 1786 ceil not
sgn sgn else
<< 1 *.in5 *.readtie *.in9 .refaimdx dec
*.mass 237 div 2 << pow floor << pow *.deltie 1 swapbool
1 1 *.mkshell >=
'''''''''''''''''''''''' Gene: 66 Ends at position 1108 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 67 Begins at position 1109 '''''''''''''''''''''''
start
ceil not
sgn sgn
'''''''''''''''''''''''' Gene: 67 Ends at position 1113 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 68 Begins at position 1114 '''''''''''''''''''''''
else
%=
dist << sub stop
'''''''''''''''''''''''' Gene: 68 Ends at position 1119 '''''''''''''''''''''''
<<
'''''''''''''''''''''''' Gene: 69 Begins at position 1121 '''''''''''''''''''''''
cond
499 store
-14 <
abs *-108 xor
pyth -186 ++
'''''''''''''''''''''''' Gene: 69 Ends at position 1131 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 70 Begins at position 1132 '''''''''''''''''''''''
cond
%=
dist << sub stop
'''''''''''''''''''''''' Gene: 70 Ends at position 1137 '''''''''''''''''''''''
<<
'''''''''''''''''''''''' Gene: 71 Begins at position 1139 '''''''''''''''''''''''
cond
499 store
-14 <
abs *-108 xor
pyth -186 ++
'''''''''''''''''''''''' Gene: 71 Ends at position 1149 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 72 Begins at position 1150 '''''''''''''''''''''''
cond
* <<
'''''''''''''''''''''''' Gene: 72 Ends at position 1152 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 73 Begins at position 1153 '''''''''''''''''''''''
cond
499 store
-14 <
abs *-108 xor
pyth -186 ++
'''''''''''''''''''''''' Gene: 73 Ends at position 1163 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 74 Begins at position 1164 '''''''''''''''''''''''
cond
* *.body 1786 *.myeye 1 *.mkshell >=
start
ceil not
sgn .refvelup inc
*265 store
*265 store
*.tin6 add *665 store
swapbool
false
<< store
inc
'''''''''''''''''''''''' Gene: 74 Ends at position 1190 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 75 Begins at position 1191 '''''''''''''''''''''''
else
-886 add sub xor
!=
-26 *-1152
'''''''''''''''''''''''' Gene: 75 Ends at position 1198 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 76 Begins at position 1199 '''''''''''''''''''''''
start
127 dec
sgn sqr
'''''''''''''''''''''''' Gene: 76 Ends at position 1203 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 77 Begins at position 1204 '''''''''''''''''''''''
cond
clear ceil not
rnd abs angle ~ stop
'''''''''''''''''''''''' Gene: 77 Ends at position 1212 '''''''''''''''''''''''
*153 - stop
!%=
*267 store
'''''''''''''''''''''''' Gene: 78 Begins at position 1219 '''''''''''''''''''''''
cond
*-353 angle inc
div -436 1 *.in5 *.readtie *.in9 .refaimdx dec
*.mass 237 div 2 << pow floor << pow *.deltie 1 swapbool
1 1 *.mkshell >=
start
ceil not
sgn sgn *-108 xor
pyth -186 ++
'''''''''''''''''''''''' Gene: 78 Ends at position 1256 '''''''''''''''''''''''
'''''''''''''''''''''''' Gene: 79 Begins at position 1257 '''''''''''''''''''''''
cond
* *.body stop
'''''''''''''''''''''''' Gene: 79 Ends at position 1260 '''''''''''''''''''''''
<<
'''''''''''''''''''''''' Gene: 80 Begins at position 1262 '''''''''''''''''''''''
cond
499 store
-14 <
abs *-108 xor
pyth -186 ++
'''''''''''''''''''''''' Gene: 80 Ends at position 1272 '''''''''''''''''''''''
--- End code ---
Numsgil:
--- Quote from: Beanspoon on April 10, 2012, 05:06:55 PM ---Ok I get where you're coming from with that - how do you give them a meagre nrg income? I have my veg feeding at 1 nrg per kilobody point, and anything withat least a few hundred body seems to be doing fine - in fact most of them have 32000 nrg - that is until the age cost catches up with them and kills them off.
--- End quote ---
That sounds about right. If you have a reproducing strain, as soon as someone figures out how to fire you should see that sub strain take over. Right now it's the quiet before the storm.
For the bots you posted:
This is a stripped version of the shooter bot (done by hand):
--- Code: ---782 inc
801 .out8 store
905 inc
485 .eye3width store
523 191 store
593 407 store
.eye9dir inc
86 inc
275 912 store
148 120 store
373 * inc
382 dec
483 686 | dec
550 dec
.in8 dec
661 dec
859 1065 store
770 279 store
589 917 store
354 56 store
36 438 mult 187 store
--- End code ---
Most of it is just random poking. But the shooting is from this:
483 686 | dec
The bitwise or of 483 and 686 is 7, which is the .shoot sysvar. dec means it's firing -1 shots. So it's learned to feed constantly, basically.
I didn't look at the others. The trick is just to find the inc, dec, and store commands, and then walk backwards through the program as many stack places as you need to to get the full command. It's usually more effort than it's worth, though :)
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version