Author Topic: Blue on Blue (F2)(Jez)-05.08.06  (Read 4653 times)

Offline Jez

  • Bot Overlord
  • ****
  • Posts: 788
    • View Profile
Blue on Blue (F2)(Jez)-05.08.06
« on: August 05, 2006, 02:32:12 PM »
ENTER THIS ONE in F1 league before zebedee please.

Got distracted from trying to beat league bots in standard way when I started playing with .delgene, bot was altered to take advantage of all the bots using only refeye, refaimsx or refaimdx as ID!

Ymir and Zebedee can see through the disguise, only checked top twenty F2 bots though.

Code: [Select]
'Blue on Blue
'F2 League Infiltrator
'Messy eater
'Makes refeye, refaimsx, refaimdx or any combination of these refs
'Useless as identification
'Should be able to add most of the other refvals to the bot if needed


def aged 987
def bodya 986
def nrga 985
def spin 983
def counter 984
def shells 982
def aimleft 981
def aimright 980
def eyec 979

'ID gene - Endy
cond
*.robage 0 =
start
.tie inc
100 .shell store
600 .bodya store
1000 .nrga store
stop

cond
*.in1 0 !=
*.in1 *.out1 !=
start
*.in1 .out1 store
stop

cond
*.in2 0 !=
*.in2 *.out2 !=
start
*.in2 .out2 store
stop

cond
*.robage 5 >
*.memval *.genes !=
*.refbody *.bodya >
start
*.refbody 30000 ceil .bodya store
*.refbody 30000 ceil .out1 store
stop

cond
*.robage 5 >
*.memval *.genes !=
*.refnrg *.nrga >
start
*.refnrg 30000 ceil .nrga store
*.refnrg 30000 ceil .out2 store
stop

cond
*.robage 5 >
*.memval *.genes =
*.in3 *.bodya >
start
*.in3 .bodya store
*.in3 .out3 store
stop

cond
*.robage 5 >
*.memval *.genes =
*.in4 *.nrga >
start
*.in4 .nrga store
*.in4 .out4 store
stop

'poison
cond
*.in5 0 >
*.memval *.genes = and
*.shflav -1 = or
*.poison 50 <
*.nrg 200 >
start
100 *.poison sub .strpoison store
.out5 inc
stop

cond
*.ploc .shoot !=
start
.shoot .ploc store
stop


'rotate if all eyes empty
cond
*.aged *.refage =
*.robage 0 !=
start
*.aim 280 add .setaim store
stop

'avoid friend
cond
*.memval *.genes =
*.refage 0 >
*.eye5 0 >
start
*.refxpos *.refypos angle 280 add .setaim store
stop

'target
cond
*.aged *.refage !=
*.robage 0 !=
*.memval *.genes !=
'*.numties 0 =
start
*.refxpos *.refypos angle .setaim store
*.refxpos *.refypos angle *.aim sub .aimshoot store
*.refxpos *.refypos dist 700 div *.maxvel mult *.refvel add 0 floor *.maxvel ceil .up store
*.veldx .sx store
-6 .shoot store
*.nrg 50 div 20 floor 1000 ceil .shootval store
stop

def move 990

'turn back after repro
cond
*.move 0 !=
start
*.aim 628 add .setaim store
.move dec
1 .deltie store
0 .shoot store
stop

cond
*.robage 1 =
*.aged *.refage !=
*.robage 0 !=
*.memval *.genes =
start
*.aim 628 add .setaim store
stop

'repro
cond
*.aged *.refage =
*.robage 0 !=
*.nrg *.nrga >
*.body *.bodya >
*.move 0 =
start
25 .repro store
*.aim 628 add .setaim store
1 .move store
stop

'delete tie
cond
*.tiepres 0 >
*.numties 0 > or
start
*.tiepres .deltie store
stop

cond
*.shell 30 <
*.shflav -6 = or
*.shflav -3 = or
*.shell 32000 <
*.nrg 1000 >
start
100 *.shell sub .shell store
stop

'energy to body
cond
*.body 31901 <
*.nrg 1000 >
start
100 .strbody store
stop

'body to energy
cond
*.nrg 300 <
start
100 .fdbody store
stop

cond
*.robage 32000 =
start
stop

cond
*.waste 50 >
*.memval *.genes !=
start
-4 .shoot store
*.waste .shootval store
stop

cond
*.fixpos 0 >
start
.fixpos dec
stop

cond
*.delgene 0 !=
start
0 .delgene store
stop

cond
*.shoot -2 =
start
0 .shoot store
0 .shootval store
stop

cond
*.paralyzed 0 >
start
0 .mkshell store
0 .shootval store
stop

cond
*.counter 0 !=
start
0 .counter store
stop

'aimleft
cond
*.aimleft 0 =
*.memval *.genes !=
*.refaimsx *.myaimsx <
*.aged *.refage !=
*.robage 0 !=
*.refeye 0 !=
start
*.myaimsx *.refaimsx sub .aimleft store
stop

'aimright
cond
*.aimleft 0 =
*.memval *.genes !=
*.refaimdx *.myaimdx <
*.aged *.refage !=
*.robage 0 !=
*.refeye 0 !=
start
*.myaimdx *.refaimdx sub .aimright store
stop

'eyec
cond
*.eyec 0 =
*.memval *.genes !=
*.refeye *.myeye <
*.aged *.refage !=
*.robage 0 !=
*.refeye 0 !=
start
*.myeye *.refeye sub .eyec store
stop

cond
*.eyec 159 >
*.counter 0 =
start
.counter inc
*.eyec 160 sub .eyec store
*.thisgene .delgene store
*.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5
*.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5
*.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5
*.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5
*.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5
*.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5
*.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5
*.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5
*.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5
*.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5
*.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5
*.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5
*.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5
*.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5
*.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5
*.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5
stop

cond
*.eyec 79 >
*.counter 0 =
start
.counter inc
*.eyec 80 sub .eyec store
*.thisgene .delgene store
*.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5
*.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5
*.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5
*.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5
*.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5
*.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5
*.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5
*.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5
stop

cond
*.eyec 39 >
*.counter 0 =
start
.counter inc
*.eyec 40 sub .eyec store
*.thisgene .delgene store
*.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5
*.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5
*.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5
*.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5
stop

cond
*.eyec 19 >
*.counter 0 =
start
.counter inc
*.eyec 20 sub .eyec store
*.thisgene .delgene store
*.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5
*.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5
stop

cond
*.eyec 9 >
*.counter 0 =
start
.counter inc
*.eyec 10 sub .eyec store
*.thisgene .delgene store
*.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5
stop

cond
*.eyec 4 >
*.counter 0 =
start
.counter inc
*.eyec 5 sub .eyec store
*.thisgene .delgene store
*.eye5 *.eye5 *.eye5 *.eye5 *.eye5
stop

cond
*.eyec 1 >
*.counter 0 =
start
.counter inc
*.eyec 2 sub .eyec store
*.thisgene .delgene store
*.eye5 *.eye5
stop

cond
*.eyec 1 >
*.counter 0 =
start
.counter inc
*.eyec 2 sub .eyec store
*.thisgene .delgene store
*.eye5 *.eye5
stop

cond
*.eyec 0 >
*.counter 0 =
start
.counter inc
.eyec dec
*.thisgene .delgene store
*.eye5
stop

cond
*.aimright 15 >
*.counter 0 =
start
.counter inc
*.aimright 16 sub .aimright store
*.thisgene .delgene store
*.aimdx .aimdx store
*.aimdx .aimdx store
*.aimdx .aimdx store
*.aimdx .aimdx store
*.aimdx .aimdx store
*.aimdx .aimdx store
*.aimdx .aimdx store
*.aimdx .aimdx store
*.aimdx .aimdx store
*.aimdx .aimdx store
*.aimdx .aimdx store
*.aimdx .aimdx store
*.aimdx .aimdx store
*.aimdx .aimdx store
*.aimdx .aimdx store
*.aimdx .aimdx store
stop

cond
*.aimright 7 >
*.counter 0 =
start
.counter inc
*.aimright 8 sub .aimright store
*.thisgene .delgene store
*.aimdx .aimdx store
*.aimdx .aimdx store
*.aimdx .aimdx store
*.aimdx .aimdx store
*.aimdx .aimdx store
*.aimdx .aimdx store
*.aimdx .aimdx store
*.aimdx .aimdx store
stop

cond
*.aimright 3 >
*.counter 0 =
start
.counter inc
*.aimright 4 sub .aimright store
*.thisgene .delgene store
*.aimdx .aimdx store
*.aimdx .aimdx store
*.aimdx .aimdx store
*.aimdx .aimdx store
stop

cond
*.aimright 1 >
*.counter 0 =
start
.counter inc
*.aimright 2 sub .aimright store
*.thisgene .delgene store
*.aimdx .aimdx store
*.aimdx .aimdx store
stop

cond
*.aimright 0 >
*.counter 0 =
start
*.counter inc
.aimright dec
*.thisgene .delgene store
*.aimdx .aimdx store
stop

cond
*.aimleft 15 >
*.counter 0 =
start
.counter inc
*.aimleft 16 sub .aimleft store
*.thisgene .delgene store
*.aimsx .aimsx store
*.aimsx .aimsx store
*.aimsx .aimsx store
*.aimsx .aimsx store
*.aimsx .aimsx store
*.aimsx .aimsx store
*.aimsx .aimsx store
*.aimsx .aimsx store
*.aimsx .aimsx store
*.aimsx .aimsx store
*.aimsx .aimsx store
*.aimsx .aimsx store
*.aimsx .aimsx store
*.aimsx .aimsx store
*.aimsx .aimsx store
*.aimsx .aimsx store
stop

cond
*.aimleft 7 >
*.counter 0 =
start
.counter inc
*.aimleft 8 sub .aimleft store
*.thisgene .delgene store
*.aimsx .aimsx store
*.aimsx .aimsx store
*.aimsx .aimsx store
*.aimsx .aimsx store
*.aimsx .aimsx store
*.aimsx .aimsx store
*.aimsx .aimsx store
*.aimsx .aimsx store
stop

cond
*.aimleft 3 >
*.counter 0 =
start
.counter inc
*.aimleft 4 sub .aimleft store
*.thisgene .delgene store
*.aimsx .aimsx store
*.aimsx .aimsx store
*.aimsx .aimsx store
*.aimsx .aimsx store
stop

cond
*.aimleft 1 >
*.counter 0 =
start
.counter inc
*.aimleft 2 sub .aimleft store
*.thisgene .delgene store
*.aimsx .aimsx store
*.aimsx .aimsx store
stop

cond
*.aimleft 0 >
*.counter 0 =
start
.counter inc
.aimleft dec
*.thisgene .delgene store
*.aimsx .aimsx store
stop

'ID gene - Endy
cond
start
' little constant viral defense gene doubles as ID gene
*.genes .delgene
 .fixpos *.fixed mult dec 'anti fixpos by Elite
*.thisgene *.genes sub dup div
mult *.robage sgn mult store
.genes inc
.thisgene .memloc store
*.refage .aged store
stop
end
« Last Edit: May 09, 2014, 12:31:15 PM by Botsareus »
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

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
Blue on Blue (F2)(Jez)-05.08.06
« Reply #1 on: August 07, 2006, 09:45:21 AM »
Is this bot for F2?

It says enter into F1 but it looks like it is F2 compatible as well.
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D

Offline Jez

  • Bot Overlord
  • ****
  • Posts: 788
    • View Profile
Blue on Blue (F2)(Jez)-05.08.06
« Reply #2 on: August 07, 2006, 09:50:05 AM »
It's an F2 bot, just won't beat Zebedee, was hoping it could go in F1 before Zebedee 'cause it should do better than Zeb in the F1 league.
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

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
Blue on Blue (F2)(Jez)-05.08.06
« Reply #3 on: August 07, 2006, 10:11:21 AM »
Okey Dokey. There's no rule against going in both leagues if the bot makes the cut. I will run them both in both leagues when I get a chance to. Might be a while as I just got back from vacation and have a bunch of work to catch up on.
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D

Offline Jez

  • Bot Overlord
  • ****
  • Posts: 788
    • View Profile
Blue on Blue (F2)(Jez)-05.08.06
« Reply #4 on: August 07, 2006, 10:32:41 AM »
Thanks, the acid test to see if I'm getting the right results. Wouldn't suprise me if it gets beaten by a bot I haven't got the correct copy of.  

Hope you had a good vacation!
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

Offline Light

  • Bot Destroyer
  • ***
  • Posts: 245
    • View Profile
Blue on Blue (F2)(Jez)-05.08.06
« Reply #5 on: August 12, 2006, 06:21:28 AM »
Couple of good bots you've built, tried them against a few of the top ones and they dont seem to have much trouble against them. Will have to take a closer look at them sometime to see what makes them tick

Offline Jez

  • Bot Overlord
  • ****
  • Posts: 788
    • View Profile
Blue on Blue (F2)(Jez)-05.08.06
« Reply #6 on: August 12, 2006, 11:07:53 AM »
Cheers!

This one simply deletes its eyes or aimsx/dx commands till it has the same as the enemy. So few bots use .gene or similar ID's that there wasn't really any competition. Easy enough problem to get around though!

Zebedee gets lots of speed from repro and was built as a spinner, most of its tactics don't seem to work with normal methods of repro tie deletion.  

Both are novelty bots really.
« Last Edit: August 12, 2006, 11:09:10 AM 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