Darwinbots Forum
Bots and Simulations => Bestiary => F2 bots => Topic started by: bacillus on October 07, 2008, 10:49:58 PM
-
An attempt to make a multibot that uses more than two ties in an organized fashion, whilst trying to keep it simple and effective. You be the judge if it worked or not
'Hydra
'A multibot by Bacillus
'Uses no steering system, instead relies on fixed cells acting as
'pivot for other bots. Very basic in its workings, basically a
'branching animal multi. Pretty stupid, but can get VERY nasty
'very quickly if it finds a field of veggies.
def type 990
def head 1
def main 2
cond
*.robage 0 =
start
.tie inc
.head .type store
stop
start
500 *.body sub dup .strbody store - .fdbody store
10 30 rnd *.vel sub .up store
333 .out1 store
333 .tout1 store
*.type .out2 store
*.type .tout2 store
50 .sharenrg store
50 .sharewaste store
*.in1 *.out1 sub sgn abs *.eye5 30 sub sgn 0 floor mult .fixpos store
stop
cond
*.nrg 6000 >
*.numties 3 <
*.eye5 30 <
start
50 .repro store
.main .type store
stop
cond
*.in1 *.out1 !=
*.eye5 30 >
start
16 .shootval store
*.refxpos *.refypos angle .setaim store
-6 .shoot store
*.velup 2 sub .dn store
stop
cond
*.in1 *.out1 =
*.shflav 0 =
start
314 .aimdx store
stop
cond
*.in1 *.out1 =
*.eye5 0 = or
*.shflav 0 !=
start
*.shang .aimdx store
0 .shflav store
stop
cond
*.type .main =
*.waste 100 >
start
*.waste .shootval store
-4 .shoot store
stop
-
An attempt to make a multibot that uses more than two ties in an organized fashion, whilst trying to keep it simple and effective. You be the judge if it worked or not
'Hydra
'A multibot by Bacillus
'Uses no steering system, instead relies on fixed cells acting as
'pivot for other bots. Very basic in its workings, basically a
'branching animal multi. Pretty stupid, but can get VERY nasty
'very quickly if it finds a field of veggies.
def type 990
def head 1
def main 2
cond
*.robage 0 =
start
.tie inc
.head .type store
stop
start
500 *.body sub dup .strbody store - .fdbody store
10 30 rnd *.vel sub .up store
333 .out1 store
333 .tout1 store
*.type .out2 store
*.type .tout2 store
50 .sharenrg store
50 .sharewaste store
*.in1 *.out1 sub sgn abs *.eye5 30 sub sgn 0 floor mult .fixpos store
stop
cond
*.nrg 6000 >
*.numties 3 <
*.eye5 30 <
start
50 .repro store
.main .type store
stop
cond
*.in1 *.out1 !=
*.eye5 30 >
start
16 .shootval store
*.refxpos *.refypos angle .setaim store
-6 .shoot store
*.velup 2 sub .dn store
stop
cond
*.in1 *.out1 =
*.shflav 0 =
start
314 .aimdx store
stop
cond
*.in1 *.out1 =
*.eye5 0 = or
*.shflav 0 !=
start
*.shang .aimdx store
0 .shflav store
stop
cond
*.type .main =
*.waste 100 >
start
*.waste .shootval store
-4 .shoot store
stop
I tried it, and I wasn't very impressed with it's behavior. Mainly in it's lack of coordinated locomotion. However, I was impressed by a certain unforeseen effect of accidentally leaving mutations enabled. It developed more eccentric movement routines in only 1 total mutation, which was really impressive. I'm gonna let that sim run a while longer and see if anything else develops.
EDIT: While I was making this post, four more mutations happened, creating a particularly virulent strain. I haven't smiled this wide in a while.
-
It is a very stupid bot, but I wanted to avoid the mess of figuring out and dealing with the turning effects of tie physics with more than two ties, so I just skipped it altogether.
Post the mutation, I really want to see a version of this gone good
-
It is a very stupid bot, but I wanted to avoid the mess of figuring out and dealing with the turning effects of tie physics with more than two ties, so I just skipped it altogether.
Post the mutation, I really want to see a version of this gone good
I wouldn't say 'gone good', it just hauls relatively more ass than the regular version.
Hydra Velocans
'Hydra Velocans
'A multibot by Bacillus
'Mutation observed by DeMaskus
'Creates erratic movement
'#generation: 8
'#mutations: 3
cond
*.robage 0 =
start
348 inc
1 990 store
stop
'''''''''''''''''''''''' Gene: 1 Ends at position 11 '''''''''''''''''''''''
start
500 *.body sub dup .strbody store
- 312 *.vel sub .up store
333 .out1 store
333 .tout1 store
*990 .out2 store
*990 .tout2 store
50 .sharenrg store
50 .sharewaste store
*.in1 *.out1 sub sgn abs *.eye5 30 sub sgn 0 floor mult .fixpos store
stop
'''''''''''''''''''''''' Gene: 2 Ends at position 57 '''''''''''''''''''''''
cond
*.nrg 6000 >
*.numties 3 <
*.eye5 30 <
start
50 .repro store
2 990 store
'''''''''''''''''''''''' Gene: 3 Ends at position 74 ''''''''''''''''''''''' else
'''''''''''''''''''''''' Gene: 4 Ends at position 75 '''''''''''''''''''''''
cond
*.in1 *.out1 !=
*.eye5 30 >
start
16 .shootval store
*.refxpos *.refypos angle .setaim store
-6 .shoot store
*.vel 2 sub .dn store
stop
'''''''''''''''''''''''' Gene: 5 Ends at position 100 '''''''''''''''''''''''
cond
*.in1 *.out1 =
*.shflav 0 =
start
314 .aimright store
stop
'''''''''''''''''''''''' Gene: 6 Ends at position 112 '''''''''''''''''''''''
cond
*.in1 *.out1 =
*.eye5 0 =
or
*.shflav 0 !=
start
*.shang .aimright store
0 .shflav store
stop
'''''''''''''''''''''''' Gene: 7 Ends at position 131 '''''''''''''''''''''''
cond
*990 2 =
*.waste 100 >
start
*.waste .shootval store
-4 .shoot store
stop
'''''''''''''''''''''''' Gene: 8 Ends at position 146 '''''''''''''''''''''''
'#hash: <EQs7R%40B}#+$ha7%x$
EDIT: Oh wow, I didn't completely look at the DNA before now. It seems as if a few genes were exposed to a major deletion. Perhaps if you combine the two DNA files into one, just back-to-back and copy-pasted it a few times into the file to ensure DNA integrity you might be able to evolve a better functioning version. Overall, it seems to be pretty mutation proof when you look at it's behavior. By mutation proof of course I mean maintaining its general characteristics. A few plug-and-play genes, a few hundred thousand cycles of evolution, and we may have a valid competitor here.
-
Looks pretty unstable to me, not even a multibot (in theory it is, but it doesn't have any permanent ties). Got mashed by the original version.
-
Looks pretty unstable to me, not even a multibot (in theory it is, but it doesn't have any permanent ties). Got mashed by the original version.
True. It seems I may have mistaken it as a multibot when it simply didnt get rid of birth ties.
What if you re-inserted the tie-ing gene into the mutated DNA and ran it?
-
It doesn't make a difference, it just snaps the ties.
-
It doesn't make a difference, it just snaps the ties.
That's strange.