Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - nimbim

Pages: [1]
1
Multi-Bots / T3 (MB)(nimbim)
« on: January 12, 2013, 10:50:37 AM »
Bad at hunting, but ok at surviving.
I tried to test it against other MB, but most of them didn't work at all or just poorly, so I can't really tell how strong it is.


Code: [Select]
'T3 multibot
'
'

def bodypart 50
'0 limb 1
'1 head
'2 limb 2
def split 52
def lonely 54

'identity
cond
  *.robage 0 =
start
  41 .out1 store
  0 .out2 store
  .tie inc
  .shoot .ploc store
  -2 .pval store
stop

'antistuck
cond
  *.vel 0 =
  *.numties 0 =
  *.multi 0 =
start
  314 rnd .aimdx store
  30 .dn store
  .lonely inc
stop

cond
  *.lonely 3 >
start
  *.tiepres .deltie store
  70 .up store
  0 .bodypart store
  0 .split store
  0 .out2 store
  0 .lonely store
stop
 

'split
cond
  *.nrg 20000 >
start
  *.tiepres .deltie store
  1256 rnd .aimdx store
  70 .up store
  0 .bodypart store
  0 .split store
  0 .out2 store
  0 .lonely store
stop

'duplicate
cond
  *.numties 0 =
  *.robage 5 mod 0 =
  *.robage 0 !=
  *.bodypart 0 =
  *.eye5 60 <
start
  50 .repro store
  .bodypart inc
stop


'head
'form limb 2
cond
  *.bodypart 1 =
  *.multi 1 =
  *.tiepres 1 =
  *.robage 21 mod 0 =
  *.split 0 =
start
  418 .aimdx store
  50 .repro store
  .split inc
  3 .out2 store
stop


'limb 1
'turn into limb 2
cond
  *.robage 1 =
  *.in2 3 =
start
  2 .bodypart store
stop

'virus
cond
  *.bodypart 0 =
  *.multi 1 =
  *.nrg 1500 >=
  *.vtimer 0 =
start
  *.thisgene 1 add .mkvirus store
  100 .vshoot store
stop

cond
  *.out1 41 !=
start
  *.thisgene .mkvirus store
  200 .vshoot store
  1 .fixpos store
  -2 .shoot store
stop

'shell
cond
  *.bodypart 0 =
  *.multi 1 =
  *.nrg 4500 >
  *.shell 150 <
  *.body 500 >
start
  100 .mkshell store
stop

'slime
cond
  *.bodypart 0 =
  *.multi 1 =
  *.nrg 4500 >
  *.slime 150 <
  *.body 500 >
start
  100 .mkslime store
stop

'poison l1
cond
  *.bodypart 0 =
  *.multi 1 =
  *.nrg 3500 >
  *.poison 2000 <
  *.body 500 >
start
  100 .strpoison store
stop



'limb 2
'waste
cond
  *.bodypart 2 =
  *.multi 1 =
  *.waste 200 >=
  *.in1 41 !=
start
  -4 .shoot store
  *.waste .shootval store
stop

'poison l2
cond
  *.bodypart 2 =
  *.multi 1 =
  *.nrg 3500 >
  *.poison 2000 <
  *.body 500 >
start
  100 .strpoison store
stop

'multibotness
'l1
cond
  *.multi 1 =
  *.bodypart 0 =
start
  50 .sharenrg store
  50 .shareshell store
  50 .shareslime store
  1 .fixlen store
  100 .stifftie store
  628 .fixang store
stop

cond
  *.multi 1 =
  *.bodypart 0 =
  *.waste 400 >=
start
  1 .sharewaste store
stop

'head
cond
  *.multi 1 =
  *.bodypart 1 =
start
  33 .sharenrg store
  33 .shareshell store
  33 .shareslime store
  1 .fixlen store
  100 .stifftie store
  628 .fixang store
stop

'limb2
cond
  *.multi 1 =
  *.bodypart 2 =
start
  50 .sharenrg store
  50 .shareshell store
  50 .shareslime store
  99 .sharewaste store
  1 .fixlen store
  100 .stifftie store
  942 .fixang store
stop



'GROW
cond
  *.nrg 4000 >
  *.body 600 <
start
  100 .strbody store
stop

'STARVE
cond
  *.nrg 1000 <
  *.body 40 >
start
  100 .fdbody store
stop

cond
  *.nrg 30000 <
  *.body 620 >
start
  100 .fdbody store
stop

'search
'push
cond
  *.bodypart 1 =
  *.multi 1 =
  *.vel 6 <=
  *.eye5 0 =
  *.in1 41 = or
start
  50 .up store
stop

'spin
cond
  *.vel 18 >=
  *.multi 1 =
  *.bodypart 1 =
  *.eye5 0 =
  *.in1 41 = or
start
  314 rnd .aimdx store
stop

'find
cond
  *.eye5 0 >
  *.in1 41 !=
  *.bodypart 1 =
  *.multi 1 =
start
  *.refveldx .dx store
  *.refvelup 30 add .up store
stop


'eat
'head
cond
  *.eye5 50 >
  *.in1 41 !=
  *.multi 1 =
  *.bodypart 1 =
  *.refbody 400 <
start
  -1 .shoot store
  8 .shootval store
  *.refvelup .up store
stop

cond
  *.eye5 50 >
  *.in1 41 !=
  *.multi 1 =
  *.bodypart 1 =
  *.refbody 400 >=
start
  -6 .shoot store
  8 .shootval store
  *.refvelup .up store
stop

'limbs
cond
  *.eye5 50 >
  *.in1 41 !=
  *.multi 1 =
  *.bodypart 1 !=
  *.refbody 400 <
start
  -1 .shoot store
  8 .shootval store
stop

cond
  *.eye5 50 >
  *.in1 41 !=
  *.multi 1 =
  *.bodypart 1 !=
  *.refbody 400 >=
start
  -6 .shoot store
  8 .shootval store
stop

end 

2
Newbie / Re: hi im new
« on: October 18, 2012, 06:53:13 AM »
That eye distance problem is really unfortunate.

Thanks Numsgil+Botsareus.

3
Newbie / Re: hi im new
« on: October 16, 2012, 09:35:32 AM »
I've looked into the bot's memory when it isn't hitting properly and it turns out every relevant eye returns the same value. I use growing algae, so there really should be a difference.

4
Newbie / hi im new
« on: October 14, 2012, 07:57:18 AM »
i recently found this amazing program and need some help with my bot.

This is basically a modified animal minimalis eating gene
Code: [Select]
cond
  *.eye5 50 >
  *.in1 37 !=
start
  -6 .shoot store
  16 .shootval store
  2 .out2 store
  *.refveldx .dx store
  *.refvelup .up store
stop

cond
  *.out2 2 =
  *.eye6 5 sub *.eye5 >
start
  35 .aimdx store
stop

cond
  *.out2 2 =
  *.eye7 5 sub *.eye5 >
start
  70 .aimdx store
stop

cond
  *.out2 2 =
  *.eye4 5 sub *.eye5 >
start
  35 .aimsx store
stop

cond
  *.out2 2 =
  *.eye3 5 sub *.eye5 >
start
  70 .aimsx store
stop
I wanted to make the bots turn their head if they aren't hitting their prey properly, it doesn't seem to work at all however.
Also, do I have to store the shootval for every shot? It's like this now because I improved the waste dump gene (*.waste .shootval store) and didn't think of a good way to set it back to 16 again yet.

What are good ways to make a bot commit suicide? My virus doesn't seem to be lethal to some bots I tried.
Code: [Select]
cond
  *.out1 37 !=
start
  5 .repro store
  *.thisgene .mkvirus store
  200 .vshoot store
  1 .fixpos store
stop

Thanks for any help

Pages: [1]