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.


Topics - Commander Keen

Pages: [1]
1
Off Topic / Spam of late
« on: October 03, 2008, 12:25:57 AM »
 

cond
*.mkspam 0 !=
start
*.mkspam .delspam store
stop

 

Looks like a bot got lucky on the forum captcha. Hopefully there won't be any more... Damn the Spam!  

2
F2 bots / Astronomo_2.1 (F2)(Commander Keen)3-10-08
« on: October 02, 2008, 11:16:53 PM »
Hopefully this time around it will manage it...
It can now beat This'n'That again, but it takes longer to kill off Spinner.
Code: [Select]
' ASTRONOMO
' F2
' Commander Keen
' 3rd October 2008
' Version 2.1
' Changes:
' Swapped Venom and Info shot around...

def badarea 51
def enemy 55
def stage 56

cond
*.robage 0 =
start
140 .eye6width store
280 .eye7width store
280 .eye8width store
280 .eye9width store
-68 .eye1dir store
-68 .eye2dir store
-68 .eye3dir store
-68 .eye4dir store
-68 .eye5dir store
-140 .eye6dir store
317 .eye7dir store
634 .eye8dir store
970 .eye9dir store
-2 .focuseye store
.shoot .ploc store
.tie inc
.shootval .vloc store
31999 .venval store
1991 .out5 store
32000 rnd .out4 store
128 .badarea store
stop

cond
1 1 =
start
50 *.venom sub 0 floor .strvenom store
50 *.poison sub 0 floor .strpoison store
50 *.slime sub 0 floor 10 ceil .mkslime store
50 *.shell sub 0 floor .mkshell store
*.nrg *.body 10 mult add 20 div *.body sub 1 floor .strbody store
*.body *.nrg *.body 10 mult add 20 div sub 0 floor 30000 *.nrg sub 10 div ceil  .fdbody store
*.tiepres .deltie store
*.refshoot *.myshoot sub *.refaimdx *.myaimdx sub *.refaimsx *.myaimsx sub *.refeye *.myeye sub *.refup *.myup sub *.refdn *.mydn sub *.refsx *.mysx sub *.refdx *.mydx sub abs add abs add abs add abs add abs add abs add abs add abs .enemy store
*.tiepres .readtie store
.tieval .tmemloc store
32000 .tmemval store
*.enemy 1 =
0 .enemy store
clearbool
*.enemy *.out5 *.in5 sub abs add .enemy store
1 *.out4 *.in4 sub abs sgn sub *.enemy add .enemy store
stop

cond
*.eye1 *.eye2 *.eye3 *.eye4 *.eye5 *.eye6 *.eye7 *.eye8 *.eye9 add add add add add add add add 0 =
*.enemy 0 = or
*.badarea 16 >=
start
1 *.timer 8 mod sgn sub 10 mult .up store
1 *.timer 2 add 8 mod sgn sub 10 mult .dx store
1 *.timer 4 add 8 mod sgn sub 10 mult .dn store
1 *.timer 6 add 8 mod sgn sub 10 mult .sx store
stop

cond
*.eye1 *.eye2 *.eye3 *.eye4 *.eye5 add add add add 0 =
*.enemy 0 = or
start
157 .aimdx store
.badarea inc
stop

cond
*.eye3 0 =
*.eye4 0 !=
start
34 .aimdx store
stop
cond
*.eye3 0 =
*.eye2 0 !=
start
-34 .aimdx store
stop
cond
*.eye3 0 =
*.eye5 0 !=
start
68 .aimdx store
stop
cond
*.eye3 0 =
*.eye1 0 !=
start
-68 .aimdx store
stop

cond
*.eyef 0 !=
*.enemy 0 !=
start
*.velsx .dx store
128 *.eyef sub *.velup sub *.veldn 2 div floor *.refvelup add .up store
*.refxpos *.refypos angle .setaim store
0 .badarea store
clearbool
*.stage 0 =
-2 .shootval store
.shoot .shoot store
clearbool
*.stage 1 =
*.refxpos *.refypos angle 628 add 1256 mod .shootval store
.setaim .shoot store
clearbool
*.stage 2 =
-3 .shoot store
*.venom .shootval store
clearbool
1 1 =
*.stage 1 add 3 mod .stage store
clearbool
stop

cond
*.nrg *.body 10 mult add 2500 >
start
50 .repro store
stop

cond
*.badarea 32 >=
start
*.timer 4 add 8 mod 0 =
*.maxvel *.veldn sub .dn store
*.timer 8 mod 0 =
0 *.maxvel *.velup sub sub .dn store
clearbool
stop

3
F2 bots / Astronomo2 (F2)(Commander Keen)3-10-08
« on: October 02, 2008, 08:35:35 PM »
Code: [Select]
' ASTRONOMO
' F2
' Commander Keen
' 3rd October 2008
' Version 2
' Changes:
' Improved Kill method
' No longer fires -1/-6 shots
' Should do much better against tie-feeders in F1.

def badarea 51
def enemy 55
def stage 56

cond
*.robage 0 =
start
140 .eye6width store
280 .eye7width store
280 .eye8width store
280 .eye9width store
-68 .eye1dir store
-68 .eye2dir store
-68 .eye3dir store
-68 .eye4dir store
-68 .eye5dir store
-140 .eye6dir store
317 .eye7dir store
634 .eye8dir store
970 .eye9dir store
-2 .focuseye store
.shoot .ploc store
.tie inc
.shoot .vloc store
-2 .venval store
1991 .out5 store
32000 rnd .out4 store
128 .badarea store
stop

cond
1 1 =
start
50 *.venom sub 0 floor .strvenom store
50 *.poison sub 0 floor .strpoison store
50 *.slime sub 0 floor 10 ceil .mkslime store
50 *.shell sub 0 floor .mkshell store
*.nrg *.body 10 mult add 20 div *.body sub 1 floor .strbody store
*.body *.nrg *.body 10 mult add 20 div sub 0 floor 30000 *.nrg sub 10 div ceil  .fdbody store
*.tiepres .deltie store
*.refshoot *.myshoot sub *.refaimdx *.myaimdx sub *.refaimsx *.myaimsx sub *.refeye *.myeye sub *.refup *.myup sub *.refdn *.mydn sub *.refsx *.mysx sub *.refdx *.mydx sub abs add abs add abs add abs add abs add abs add abs add abs .enemy store
*.tiepres .readtie store
.tieval .tmemloc store
32000 .tmemval store
*.enemy 1 =
0 .enemy store
clearbool
*.enemy *.out5 *.in5 sub abs add .enemy store
1 *.out4 *.in4 sub abs sgn sub *.enemy add .enemy store
stop

cond
*.eye1 *.eye2 *.eye3 *.eye4 *.eye5 *.eye6 *.eye7 *.eye8 *.eye9 add add add add add add add add 0 =
*.enemy 0 = or
*.badarea 16 >=
start
1 *.timer 8 mod sgn sub 10 mult .up store
1 *.timer 2 add 8 mod sgn sub 10 mult .dx store
1 *.timer 4 add 8 mod sgn sub 10 mult .dn store
1 *.timer 6 add 8 mod sgn sub 10 mult .sx store
stop

cond
*.eye1 *.eye2 *.eye3 *.eye4 *.eye5 add add add add 0 =
*.enemy 0 = or
start
157 .aimdx store
.badarea inc
stop

cond
*.eye3 0 =
*.eye4 0 !=
start
34 .aimdx store
stop
cond
*.eye3 0 =
*.eye2 0 !=
start
-34 .aimdx store
stop
cond
*.eye3 0 =
*.eye5 0 !=
start
68 .aimdx store
stop
cond
*.eye3 0 =
*.eye1 0 !=
start
-68 .aimdx store
stop

cond
*.eyef 0 !=
*.enemy 0 !=
start
*.velsx .dx store
128 *.eyef sub *.velup sub *.veldn 2 div floor *.refvelup add .up store
*.refxpos *.refypos angle .setaim store
0 .badarea store
clearbool
*.stage 0 =
30000 .shootval store
.shootval .shoot store
clearbool
*.stage 1 =
*.refxpos *.refypos angle 628 add 1256 mod .shootval store
.setaim .shoot store
clearbool
*.stage 2 =
-3 .shoot store
*.venom .shootval store
clearbool
1 1 =
*.stage 1 add 3 mod .stage store
clearbool
stop

cond
*.nrg *.body 10 mult add 2500 >
start
50 .repro store
stop

cond
*.badarea 32 >=
start
*.timer 4 add 8 mod 0 =
*.maxvel *.veldn sub .dn store
*.timer 8 mod 0 =
0 *.maxvel *.velup sub sub .dn store
clearbool
stop

4
F2 bots / Astronomo (F2)(Commander Keen) 2-10-08
« on: October 02, 2008, 03:28:06 AM »
Manages 1st place in F2, and should get a decent ranking in F1 considering it can defeat all the F2 bots with relative ease (except for Bubbles  )
I'm waiting for Spinner v1.6

And yes, it shares some of it's code with Republican Bee, but it is quite different in operation. I was going to call it Republican Bee v2, but it wins in a rather different way.
It doesn't feed off opponents, instead pumping them full of venom, resulting in a very rapid death.

Code: [Select]
'Astronomo, by Commander Keen
' First Edition 2nd October 2008

def badarea 51
def enemy 55

cond
*.robage 0 =
start
140 .eye6width store
280 .eye7width store
280 .eye8width store
280 .eye9width store
-68 .eye1dir store
-68 .eye2dir store
-68 .eye3dir store
-68 .eye4dir store
-68 .eye5dir store
-140 .eye6dir store
317 .eye7dir store
634 .eye8dir store
970 .eye9dir store
-2 .focuseye store
.shoot .ploc store
.tie inc
.shootval .vloc store
-31999 .venval store
1991 .out5 store
32000 rnd .out4 store
128 .badarea store
stop

cond
1 1 =
start
50 *.venom sub 0 floor .strvenom store
50 *.poison sub 0 floor .strpoison store
50 *.slime sub 0 floor 10 ceil .mkslime store
50 *.shell sub 0 floor .mkshell store
*.nrg *.body 10 mult add 20 div *.body sub 1 floor .strbody store
*.body *.nrg *.body 10 mult add 20 div sub 0 floor 30000 *.nrg sub 10 div ceil  .fdbody store
*.tiepres .deltie store
*.refshoot *.myshoot sub *.refaimdx *.myaimdx sub *.refaimsx *.myaimsx sub *.refeye *.myeye sub *.refup *.myup sub *.refdn *.mydn sub *.refsx *.mysx sub *.refdx *.mydx sub abs add abs add abs add abs add abs add abs add abs add abs .enemy store
*.tiepres .readtie store
.tieval .tmemloc store
32000 .tmemval store
*.enemy 1 =
0 .enemy store
clearbool
*.enemy *.out5 *.in5 sub abs add .enemy store
1 *.out4 *.in4 sub abs sgn sub *.enemy add .enemy store
stop

cond
*.eye1 *.eye2 *.eye3 *.eye4 *.eye5 *.eye6 *.eye7 *.eye8 *.eye9 add add add add add add add add 0 =
*.enemy 0 = or
*.badarea 16 >=
start
1 *.timer 8 mod sgn sub 10 mult .up store
1 *.timer 2 add 8 mod sgn sub 10 mult .dx store
1 *.timer 4 add 8 mod sgn sub 10 mult .dn store
1 *.timer 6 add 8 mod sgn sub 10 mult .sx store
stop

cond
*.eye1 *.eye2 *.eye3 *.eye4 *.eye5 add add add add 0 =
*.enemy 0 = or
start
157 .aimdx store
.badarea inc
stop

cond
*.eye3 0 =
*.eye4 0 !=
start
34 .aimdx store
stop
cond
*.eye3 0 =
*.eye2 0 !=
start
-34 .aimdx store
stop
cond
*.eye3 0 =
*.eye5 0 !=
start
68 .aimdx store
stop
cond
*.eye3 0 =
*.eye1 0 !=
start
-68 .aimdx store
stop

cond
*.eyef 0 !=
*.enemy 0 !=
start
'1 *.refshell sgn sub -5 mult 1 sub .shoot store
-6 5 *.refshell sgn mult add *.refshell *.refpoison mult sgn 5 mult sub .shoot store
16 .shootval store
*.velsx .dx store
128 *.eyef sub *.velup sub *.veldn 2 div floor *.refvelup add .up store
*.refxpos *.refypos angle .setaim store
0 .badarea store
clearbool
*.refshoot 0 !=
-3 .shoot store
*.venom .shootval store
clearbool
stop

cond
*.nrg *.body 10 mult add 2500 >
start
50 .repro store
stop

cond
*.badarea 32 >=
start
*.timer 4 add 8 mod 0 =
*.maxvel *.veldn sub .dn store
*.timer 8 mod 0 =
0 *.maxvel *.velup sub sub .dn store
clearbool
stop

5
F2 bots / Republican Bee (F2)(Commander Keen)(25-05-2008)
« on: May 24, 2008, 09:24:46 PM »
Updated Version
Code: [Select]
' It's a Republican Bee!
' Named after the Republican Bees in Discworld
' Swarm 1Beta
' By Commander Keen
' 23rd September 2008
'
' Good points:
' Takes control of the center of the map
' Shooting based on shell/poison
' Can spin while moving
'
' Bad points:
' Only reproduces in center
' Doesn't use all eyes all the time
' Doesn't use slime (shouldn't need it too much for F2 anyway, could implement in next version)
'
' Updated Conspec

def cx 971
def cy 972
def feeding 50
def badarea 51
def enemy 55

cond
*.cx 0 =
*.cy 0 =
start
4619 .cx store
3464 .cy store
.delgene inc
stop

cond
*.robage 0 =
start
140 .eye6width store
280 .eye7width store
280 .eye8width store
280 .eye9width store
-68 .eye1dir store
-68 .eye2dir store
-68 .eye3dir store
-68 .eye4dir store
-68 .eye5dir store
-140 .eye6dir store
317 .eye7dir store
634 .eye8dir store
970 .eye9dir store
-2 .focuseye store
.shoot .ploc store
.tie inc
stop

cond
1 1 =
start
*.nrg 10 div *.body add *.poison sub 0 floor .strpoison store
500 *.shell sub 0 floor .mkshell store
*.nrg *.body 10 mult add 20 div *.body sub 1 floor .strbody store
*.body *.nrg *.body 10 mult add 20 div sub 0 floor 30000 *.nrg sub 10 div ceil  .fdbody store
*.tiepres .deltie store
*.pleas *.feeding add dup 10 div sub 1 sub 0 floor .feeding store
*.xpos 2 div *.cx >
*.xpos 2 div .cx store
clearbool
*.ypos 2 div *.cy >
*.ypos 2 div .cy store
clearbool
*.refshoot *.myshoot sub *.refaimdx *.myaimdx sub *.refaimsx *.myaimsx sub *.refeye *.myeye sub *.refup *.myup sub *.refdn *.mydn sub *.refsx *.mysx sub *.refdx *.mydx sub abs add abs add abs add abs add abs add abs add abs add abs .enemy store
*.enemy 1 =
0 .enemy store
clearbool
stop

cond
*.eye1 *.eye2 *.eye3 *.eye4 *.eye5 *.eye6 *.eye7 *.eye8 *.eye9 add add add add add add add add 0 =
*.enemy 0 = or
*.badarea 16 >=
start
1 *.timer 8 mod sgn sub 10 mult .up store
1 *.timer 2 add 8 mod sgn sub 10 mult .dx store
1 *.timer 4 add 8 mod sgn sub 10 mult .dn store
1 *.timer 6 add 8 mod sgn sub 10 mult .sx store
stop

cond
*.eye1 *.eye2 *.eye3 *.eye4 *.eye5 add add add add 0 =
*.enemy 0 = or
start
157 .aimdx store
.badarea inc
stop

cond
*.eye3 0 =
*.eye4 0 !=
start
34 .aimdx store
stop
cond
*.eye3 0 =
*.eye2 0 !=
start
-34 .aimdx store
stop
cond
*.eye3 0 =
*.eye5 0 !=
start
68 .aimdx store
stop
cond
*.eye3 0 =
*.eye1 0 !=
start
-68 .aimdx store
stop

cond
*.eyef 0 !=
*.enemy 0 !=
start
'1 *.refshell sgn sub -5 mult 1 sub .shoot store
-6 5 *.refshell sgn mult add *.refshell *.refpoison mult sgn 5 mult sub .shoot store
*.velsx .dx store
128 *.eyef sub *.velup sub *.veldn 2 div floor *.refvelup add .up store
*.refxpos *.refypos angle .setaim store
0 .badarea store
stop

cond
*.xpos *.cx %=
*.ypos *.cy %=
*.nrg *.body 10 mult add 10000 >
start
50 .repro store
stop

cond
*.nrg *.body 10 mult add *.totalmyspecies 1000 mult 10000 add 1000 100 mult ceil >
*.pleas 0 floor 0 =
*.feeding 0 =
start
0 .aimdx store
*.cx *.cy angle 628 add 1256 mod .setaim store
'0 *.maxvel *.veldn sub *.cx *.cy dist *.veldn sub ceil sub .up store
0 *.maxvel *.veldn sub sub .up store
*.velsx .dx store
0 .shoot store
stop

cond
*.waste 100 >
start
-4 .shoot store
*.waste .shootval store
stop

cond
*.nrg *.body 10 mult add *.totalmyspecies 1000 mult 10000 add 1000 100 mult ceil <
*.badarea 64 >=
start
*.timer 4 add 8 mod 0 =
*.maxvel *.veldn sub .dn store
*.timer 8 mod 0 =
0 *.maxvel *.velup sub sub .dn store
clearbool
stop
Old Version:
[div class=\'codetop\']CODE[div class=\'codemain\' style=\'height:200px;white-space:pre;overflow:auto\']' It's a Republican Bee!
' Named after the Republican Bees in Discworld
' Swarm 1Alpha
' By Commander Keen
' 22nd May 2008
'
' Good points:
' Takes control of the center of the map
' Shooting based on shell/poison
' Can spin while moving
'
' Bad points:
' Only reproduces in center
' Doesn't use all eyes all the time
' Doesn't use slime (shouldn't need it too much for F2 anyway, could implement in next version)
' Conspec pretty easy to fool

def cx 971
def cy 972
def feeding 50
def badarea 51

cond
*.cx 0 =
*.cy 0 =
start
4619 .cx store
3464 .cy store
.delgene inc
stop

cond
*.robage 0 =
start
140 .eye6width store
280 .eye7width store
280 .eye8width store
280 .eye9width store
-68 .eye1dir store
-68 .eye2dir store
-68 .eye3dir store
-68 .eye4dir store
-68 .eye5dir store
-140 .eye6dir store
317 .eye7dir store
634 .eye8dir store
970 .eye9dir store
-2 .focuseye store
.shoot .ploc store
.tie inc
stop

cond
1 1 =
start
*.nrg 10 div *.body add *.poison sub 0 floor .strpoison store
500 *.shell sub 0 floor .mkshell store
*.nrg *.body 10 mult add 20 div *.body sub 1 floor .strbody store
*.body *.nrg *.body 10 mult add 20 div sub 0 floor 30000 *.nrg sub 10 div ceil  .fdbody store
*.tiepres .deltie store
*.pleas *.feeding add dup 10 div sub 1 sub 0 floor .feeding store
*.xpos 2 div *.cx >
*.xpos 2 div .cx store
clearbool
*.ypos 2 div *.cy >
*.ypos 2 div .cy store
clearbool
stop

cond
*.eye1 *.eye2 *.eye3 *.eye4 *.eye5 *.eye6 *.eye7 *.eye8 *.eye9 add add add add add add add add 0 =
*.myaimdx *.refaimdx = or
*.badarea 16 >=
start
1 *.timer 8 mod sgn sub 10 mult .up store
1 *.timer 2 add 8 mod sgn sub 10 mult .dx store
1 *.timer 4 add 8 mod sgn sub 10 mult .dn store
1 *.timer 6 add 8 mod sgn sub 10 mult .sx store
stop

cond
*.eye1 *.eye2 *.eye3 *.eye4 *.eye5 add add add add 0 =
*.myaimdx *.refaimdx = or
start
157 .aimdx store
.badarea inc
stop

cond
*.eye3 0 =
*.eye4 0 !=
start
34 .aimdx store
stop
cond
*.eye3 0 =
*.eye2 0 !=
start
-34 .aimdx store
stop
cond
*.eye3 0 =
*.eye5 0 !=
start
68 .aimdx store
stop
cond
*.eye3 0 =
*.eye1 0 !=
start
-68 .aimdx store
stop

cond
*.eyef 0 !=
*.myaimdx *.refaimdx !=
start
'1 *.refshell sgn sub -5 mult 1 sub .shoot store
-6 5 *.refshell sgn mult add *.refshell *.refpoison mult sgn 5 mult sub .shoot store
*.velsx .dx store
128 *.eyef sub *.velup sub *.veldn 2 div floor *.refvelup add .up store
*.refxpos *.refypos angle .setaim store
0 .badarea store
stop

cond
*.xpos *.cx %=
*.ypos *.cy %=
*.nrg *.body 10 mult add 10000 >
start
50 .repro store
stop

cond
*.nrg *.body 10 mult add *.totalmyspecies 1000 mult 10000 add 1000 100 mult ceil >
*.pleas 0 floor 0 =
*.feeding 0 =
start
0 .aimdx store
*.cx *.cy angle 628 add 1256 mod .setaim store
'0 *.maxvel *.veldn sub *.cx *.cy dist *.veldn sub ceil sub .up store
0 *.maxvel *.veldn sub sub .up store
*.velsx .dx store
0 .shoot store
stop

cond
*.waste 100 >
start
-4 .shoot store
*.waste .shootval store
stop

cond
*.nrg *.body 10 mult add *.totalmyspecies 1000 mult 10000 add 1000 100 mult ceil <
*.badarea 64 >=
start
*.timer 4 add 8 mod 0 =
*.maxvel *.veldn sub .dn store
*.timer 8 mod 0 =
0 *.maxvel *.velup sub sub .dn store
clearbool
stop

6
Bug reports / Running league doesn't disable mutations
« on: May 20, 2008, 08:20:55 PM »
Ran the whole league then I notice this annoying bug...  

Forgot to save the sim, but I can probably reproduce the bug and save a sim of it. I was running version k, I'll download L and see if it has the problem too.


7
Short bots / Cockroach v1 (F1)(Commander Keen)(01-05-2008)
« on: April 30, 2008, 09:14:36 PM »
This bot is annoying!

The virus makes bots kill themselves firing an uber-virus. This affects veggies as well, unfortunately.

It needs to spread out more, and should probably be adjusted to not kill veggies. Also, older versions reproduced at 1000 energy, I found they died a lot, so I upped it to 2000. They still die a lot, but that's when they suicide due to being infected with the virus, rather than accidentally killing themselves by other means...

Code: [Select]
' Cockroach version 1 by Commander Keen

' Set conspec
cond
*.robage 0 =
start
*.dnalen 50 store
stop

' Reproduce
cond
*.nrg 2000 >
start
50 .repro store
.strbody inc
stop

' Viral gene, causes uber-virus suicide
cond
start
*341 335 store
*310 *336 *50 sub abs sgn mult 1 add 338 store
stop

' Main gene
cond
start
*.eye5 .tie store
99 .sharenrg store
.sharewaste inc
50 .aimdx store
1 .vshoot store
stop

8
Single store / Singularis(SS)(Commander Keen)
« on: March 19, 2008, 08:19:47 PM »
Making SS bots is harder than I thought!

Code: [Select]
'Singularis by Commander Keen
'A single store tie feeder that isn't terribly efficient
'I commented out the reproduction gene, because it ends up killing itself
'I have considered commenting out the slime generation, maybe shell would be more useful, or neither
start
1 *.robage 10 mod sgn sub 20 *.velsx sub mult
1 *.robage 3 mod sgn sub 99 mult add
.robage 2 mod sgn add
1 *.robage 11 mod sgn sub 50 mult add
'1 *.robage 13 mod sgn sub 50 mult *.nrg 1000 sub 0 floor sgn mult add ' They just kill each other
1 *.robage 7 mod sgn sub 500 *.slime sub mult add ' never makes right amount, could comment out
1 *.robage 3 mod sgn sub .sharenrg mult
1 *.robage 10 mod sgn sub .sx mult add
*.robage 2 mod sgn .tie mult add
'1 *.robage 13 mod sgn sub .repro mult *.nrg 1000 sub 0 floor sgn mult add 'They just kill each other
1 *.robage 7 mod sgn sub .mkslime mult add 'Never makes the right amount, could comment out
1 *.robage 11 mod sgn sub .aimdx mult add
store
stop

9
F2 bots / Caecus Canis(F2)(CommanderKeen)(12-01-2008)
« on: January 11, 2008, 06:16:00 PM »
Basically Oculus Infinitus minus all the eys and with a few extra random things. I called it Blind Dog because it's as close to being blind as you can get without being blind. I should have called Profero Victoria (Lone Victory) Caecus Canis (Blind Dog) but for some reason they're named this way round.
Code: [Select]
cond
start
20 rnd 10 sub .dx store
20 rnd 10 sub .up store
stop

cond
*.eye5width 1200 !=
start
1200 .eye5width store
stop

cond
*.eye5 90 >
*.nrg 2000 >
start
256 .shootval store
stop

cond
*.refeye *.myeye !=
*.eye5 20 >
start
-6 .shoot store
991 inc
stop

'MWAHAHAHAA!
cond
-6 *.shoot =
*991 4 >=
start
0 991 store
.mkslime .shoot store
32000 .shootval store
stop

'MWAHAHAHAA! v2
cond
-6 *.shoot =
*991 3 =
start
.eye5dir .shoot store
628 .shootval store
stop

cond
*.nrg 2000 >
*.body 2000 <
start
*.nrg 2000 sub 10 div .strbody store
stop

cond
*.nrg 2000 >
*.body 1000 >
start
50 .repro store
100 rnd 50 sub .dx store
100 rnd 50 sub .up store
stop

cond
*.nrg 2000 <
*.body 50 >
start
*.body 20 sub .fdbody store
stop

cond
*.waste 100 >
start
*.waste .shootval .store
-4 .shoot store
stop

cond
*.eye5 0 !=
start
*.refxpos *.refypos angle 30 rnd 15 sub add .setaim store
stop

cond
*.myeye *.refeye !=
*.eye5 0 !=
start
100 *.eye5 sub .up store
stop

cond
*.myeye *.refeye !=
*.eye5 80 >
start
*.velsx .dx store
*.velup .dn store
stop


cond
*.myeye *.refeye =
*.eye5 0 !=
start
*.refvelsx .dx store
*.refveldn .up store
stop

cond
*.vel 75 >
start
*.velsx .dx store
*.veldn .up store
stop

10
Short bots / Profero Victoria(SB)(CommanderKeen)
« on: January 11, 2008, 06:08:24 PM »
This bot is pretty stupid. It gets clobbered by anything with slime, and it even infects itself. But hey, it has no eye statements and it's cool to watch!

The last gene is not required for the bot to run, but it helps...

The reason why the virus gene has no conspec condition is so that the bot can fire off the virus faster. When you get a TON of bots, it doesn't matter if some get infected and die.

I believe Profero Victoria meant "Lone Victory". The bot changed alot and I haven't renamed it. It's not really a lone victory anymore though.

Code: [Select]
cond
start
*.thisgene .mkvirus store
.vshoot inc
-2 .shoot store
10 .repro store
600 .aimdx store
0 .delgene store
1 .sharenrg store
.tie inc
stop

start
0 .repro store
0 .shoot store
99 .sharenrg store
1200 .eye5 store
stop

cond
*.nrg 200 >
start
50 .repro store
20 *.body sub .strbody store
50 rnd .up store
50 rnd .dx store
stop

cond
*.trefeye *.myeye !=
start
.fdbody .tieloc store
.tieval inc
stop

11
F2 bots / OculusInfinitusv1.1(F2)(CommanderKeen)(19-09-2007)
« on: September 19, 2007, 12:42:59 AM »
Hope this does reasonably well in the F2 League.
Did better than Hunter 2.2, One Man Bucket, Spiral, and to my suprise, Ymir.
Although in some cases it took ages to wipe out the final few.

Code: [Select]
'Oculus Infinitus v1.1 by Commander Keen for F2 League
'Changes from version 1:
'Tie defence deleted to make it F2 legal
'Shootval code update
'General cleanout of extra unecessary DNA and waste code
'Some other small fixes

cond
start
*.velsx .dx store
stop

cond
*.refeye *.myeye =
start
*.maxvel *.vel sub .up .store
stop

cond
*.veldx *.vel <
*.velsx *.vel <
*.eye4 *.eye1 1 sub >
*.eye4 *.eye2 1 sub >
*.eye4 *.eye3 1 sub >
*.eye4 *.eye5 >
*.eye4 *.eye6 1 sub >
*.eye4 *.eye7 1 sub >
*.eye4 *.eye8 1 sub >
*.eye4 *.eye9 1 sub >
start
35 .aimsx store
stop

cond
*.veldx *.vel <
*.velsx *.vel <
*.eye6 *.eye1 1 sub >
*.eye6 *.eye2 1 sub >
*.eye6 *.eye3 1 sub >
*.eye6 *.eye4 1 sub >
*.eye6 *.eye5 >
*.eye6 *.eye7 1 sub >
*.eye6 *.eye8 1 sub >
*.eye6 *.eye9 1 sub >
start
35 .aimdx store
stop


cond
*.veldx *.vel <
*.velsx *.vel <
*.eye3 *.eye1 1 sub >
*.eye3 *.eye2 1 sub >
*.eye3 *.eye4 1 sub >
*.eye3 *.eye5 >
*.eye3 *.eye6 1 sub >
*.eye3 *.eye7 1 sub >
*.eye3 *.eye8 1 sub >
*.eye3 *.eye9 1 sub >
start
70 .aimsx store
stop

cond
*.veldx *.vel <
*.velsx *.vel <
*.eye7 *.eye1 1 sub >
*.eye7 *.eye2 1 sub >
*.eye7 *.eye3 1 sub >
*.eye7 *.eye4 1 sub >
*.eye7 *.eye5 >
*.eye7 *.eye6 1 sub >
*.eye7 *.eye8 1 sub >
*.eye7 *.eye9 1 sub >
start
70 .aimdx store
stop


cond
*.veldx *.vel <
*.velsx *.vel <
*.eye2 *.eye1 1 sub >
*.eye2 *.eye3 1 sub >
*.eye2 *.eye4 1 sub >
*.eye2 *.eye5 >
*.eye2 *.eye6 1 sub >
*.eye2 *.eye7 1 sub >
*.eye2 *.eye8 1 sub >
*.eye2 *.eye9 1 sub >
start
105 .aimsx store
stop

cond
*.veldx *.vel <
*.velsx *.vel <
*.eye8 *.eye1 1 sub >
*.eye8 *.eye2 1 sub >
*.eye8 *.eye3 1 sub >
*.eye8 *.eye4 1 sub >
*.eye8 *.eye5 >
*.eye8 *.eye6 1 sub >
*.eye8 *.eye7 1 sub >
*.eye8 *.eye9 1 sub >
start
105 .aimdx store
stop


cond
*.veldx *.vel <
*.velsx *.vel <
*.eye1 *.eye2 1 sub >
*.eye1 *.eye3 1 sub >
*.eye1 *.eye4 1 sub >
*.eye1 *.eye5 >
*.eye1 *.eye6 1 sub >
*.eye1 *.eye7 1 sub >
*.eye1 *.eye8 1 sub >
*.eye1 *.eye9 1 sub >
start
140 .aimsx store
stop

cond
*.veldx *.vel <
*.velsx *.vel <
*.eye9 *.eye1 1 sub >
*.eye9 *.eye2 1 sub >
*.eye9 *.eye3 1 sub >
*.eye9 *.eye4 1 sub >
*.eye9 *.eye5 >
*.eye9 *.eye6 1 sub >
*.eye9 *.eye7 1 sub >
*.eye9 *.eye8 1 sub >
start
140 .aimdx store
stop

cond
*.eye5 90 >
*.nrg 2000 >
start
256 .shootval store
stop

cond
*.refeye *.myeye !=
*.eye5 50 >
start
.shoot dec
1 *991 sub 991 store
stop

cond
*.shoot -1 =
*991 1 =
start
-6 .shoot store
stop

cond
*.aimsx 0 =
*.aimdx 0 =
*.refeye *.myeye =
start
300 .aimdx store
0 .refeye store
stop

cond
*.refeye *.myeye !=
*.eye5 0 !=
start
*.refvelup 100 add *.eye5 sub .up store
stop

cond
*.nrg 2000 >
*.body 2000 <
start
*.nrg 2000 sub 10 div .strbody store
stop

cond
*.nrg 2000 >
*.body 1000 >
start
50 .repro store
stop

cond
*.nrg 2000 <
*.body 50 >
start
*.body 20 sub .fdbody store
stop

cond
*.waste 100 >
start
*.waste .shootval .store
-4 .shoot store
stop

cond
*.up 0 =
*.vel 20 <
*.eye5 0 =
start
10 .up store
stop

'Chameleon Gene
cond
*.in1 0 !=
or
*.in2 0 !=
or
*.in3 0 !=
or
*.in4 0 !=
or
*.out1 0 =
*.out2 0 =
*.out3 0 =
*.out4 0 =
*.refeye *.myeye !=
start
*.in1 .out1 store
*.in2 .out2 store
*.in3 .out3 store
*.in4 .out4 store
stop

12
Newbie / Hi, and a question about eyewidths
« on: September 18, 2007, 10:36:30 PM »
Hi, I recently DL'ed Darwinbots and I have to say, congrats, it's really cool  
There's lots of commands but not too many to understand. Just enough to have variety.

I've made a few bots, most of them were pretty bad. I've uploaded the best in the Bestiary. Don't think it's good enough to go in  a tournament, but maybe if I streamline it a bit...

Ties seem a bit more complicated, but I made a gene that foils tie-feeders anyway...

What I'm really wondering about, is how do you change the width of eyes? I saw a bot with 1 giant eye, and I've tried to make a bot that changes the width of its eyes, but it doesn't seem to work. Is there some trick to it, like doing it at age 0 or something?

13
Untagged bots / Oculus Infinitus
« on: September 18, 2007, 06:55:15 PM »
My first bot, in it's umpteenth revision. Uses a few sneaky tricks, but overall it's probably pretty useless. Lots of very inefficient genes  

Still, it works quite well, although if you upped costs, then it would die rather quick.

Next time round, I'll work on compacting the code...

Code: [Select]
cond
*.veldx *.velsx >
start
*.velsx .dx store
stop

cond
*.veldx *.velsx <
start
*.veldx .sx store
stop

cond
*.refeye *.myeye =
start
*.maxvel *.vel sub .up .store
stop

cond
*.veldx *.vel <
*.velsx *.vel <
*.eye4 *.eye1 1 sub >
*.eye4 *.eye2 1 sub >
*.eye4 *.eye3 1 sub >
*.eye4 *.eye5 >
*.eye4 *.eye6 1 sub >
*.eye4 *.eye7 1 sub >
*.eye4 *.eye8 1 sub >
*.eye4 *.eye9 1 sub >
start
35 .aimsx store
stop

cond
*.veldx *.vel <
*.velsx *.vel <
*.eye6 *.eye1 1 sub >
*.eye6 *.eye2 1 sub >
*.eye6 *.eye3 1 sub >
*.eye6 *.eye4 1 sub >
*.eye6 *.eye5 >
*.eye6 *.eye7 1 sub >
*.eye6 *.eye8 1 sub >
*.eye6 *.eye9 1 sub >
start
35 .aimdx store
stop


cond
*.veldx *.vel <
*.velsx *.vel <
*.eye3 *.eye1 1 sub >
*.eye3 *.eye2 1 sub >
*.eye3 *.eye4 1 sub >
*.eye3 *.eye5 >
*.eye3 *.eye6 1 sub >
*.eye3 *.eye7 1 sub >
*.eye3 *.eye8 1 sub >
*.eye3 *.eye9 1 sub >
start
70 .aimsx store
stop

cond
*.veldx *.vel <
*.velsx *.vel <
*.eye7 *.eye1 1 sub >
*.eye7 *.eye2 1 sub >
*.eye7 *.eye3 1 sub >
*.eye7 *.eye4 1 sub >
*.eye7 *.eye5 >
*.eye7 *.eye6 1 sub >
*.eye7 *.eye8 1 sub >
*.eye7 *.eye9 1 sub >
start
70 .aimdx store
stop


cond
*.veldx *.vel <
*.velsx *.vel <
*.eye2 *.eye1 1 sub >
*.eye2 *.eye3 1 sub >
*.eye2 *.eye4 1 sub >
*.eye2 *.eye5 >
*.eye2 *.eye6 1 sub >
*.eye2 *.eye7 1 sub >
*.eye2 *.eye8 1 sub >
*.eye2 *.eye9 1 sub >
start
105 .aimsx store
stop

cond
*.veldx *.vel <
*.velsx *.vel <
*.eye8 *.eye1 1 sub >
*.eye8 *.eye2 1 sub >
*.eye8 *.eye3 1 sub >
*.eye8 *.eye4 1 sub >
*.eye8 *.eye5 >
*.eye8 *.eye6 1 sub >
*.eye8 *.eye7 1 sub >
*.eye8 *.eye9 1 sub >
start
105 .aimdx store
stop


cond
*.veldx *.vel <
*.velsx *.vel <
*.eye1 *.eye2 1 sub >
*.eye1 *.eye3 1 sub >
*.eye1 *.eye4 1 sub >
*.eye1 *.eye5 >
*.eye1 *.eye6 1 sub >
*.eye1 *.eye7 1 sub >
*.eye1 *.eye8 1 sub >
*.eye1 *.eye9 1 sub >
start
140 .aimsx store
stop

cond
*.veldx *.vel <
*.velsx *.vel <
*.eye9 *.eye1 1 sub >
*.eye9 *.eye2 1 sub >
*.eye9 *.eye3 1 sub >
*.eye9 *.eye4 1 sub >
*.eye9 *.eye5 >
*.eye9 *.eye6 1 sub >
*.eye9 *.eye7 1 sub >
*.eye9 *.eye8 1 sub >
start
140 .aimdx store
stop


cond
*.veldx *.vel <
*.velsx *.vel <
*.eye5 70 >
start
0 .aimdx store
0 .aimsx store
stop

'cond
'*.out1 537 !=
'start
'537 .out1 store
'stop

cond
'*.aimdx 0 =
'*.aimsx 0 =
'*.in1 537 !=
*.eye5 40 >
start
256 .shootval store
stop


cond
'*.aimdx 0 =
'*.aimsx 0 =
'*.in1 537 !=
*.eye5 41 <
*.eye5 > 20
start
-8 .shootval store
stop

cond
'*.aimdx 0 =
'*.aimsx 0 =
'*.in1 537 !=
*.eye5 21 <
*.eye5 > 0
start
-16 .shootval store
stop


cond
*.aimdx 0 =
*.aimsx 0 =
*.refeye *.myeye !=
*.eye5 0 !=
start
0 .aimshoot store
-1 .shoot store
stop


cond
*.aimsx 0 =
*.aimdx 0 =
*.refeye *.myeye =
start
300 .aimdx store
0 .refeye store
stop


'cond
'start
'1 .up store
'stop

cond
*.aimsx 0 =
*.aimdx 0 =
*.refeye *.myeye !=
*.eye5 50 <
*.eye5 0 !=
start
'100 *.eye5 sub .up store
*.refveldx *.veldx sub .dx .store
*.refvelsx *.velsx sub .sx .store
*.refvelup 30 add .up store
stop

cond
*.nrg 2000 >
*.body 2000 <
start
*.nrg 2000 sub 10 div .strbody store
stop

cond
*.nrg 2000 >
*.body 1000 >
start
50 .repro store
stop

cond
*.nrg 2000 <
start
*.body 20 sub .fdbody store
stop

cond
*.waste 100 >
start
*.waste .shootval .store
-4 .shoot store
stop

cond
*.robage 20 <
start
0 .up store
stop

cond
*.up 0 =
start
10 .up store
stop

'Chameleon Gene
cond
*.in1 0 !=
or
*.in2 0 !=
or
*.in3 0 !=
or
*.in4 0 !=
or
*.out1 0 =
*.out2 0 =
*.out3 0 =
*.out4 0 =
*.refeye *.myeye !=
start
*.in1 .out1 store
*.in2 .out2 store
stop

'-Tie Defence-'
cond
*.multibot 1 =
start
1 .sharewaste store
100 .sharenrg store
100 .shareshell store
100 .shareslime store
stop
cond
start
*.tiepres .deltie store
stop

cond
*.edge 1 =
start
100 .aimdx store
0 .aimsx store
0 .edge store

Pages: [1]