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 - MacadamiaNuts

Pages: [1] 2 3 4
1
So I thought I'd try run some rounds of first species to die gets eliminated, with 10 species plus algae, 30 bots per species, 30000 starting energy each and... F1 settings.

I made a huge mistake.


2
Interesting behaviour bots / Miller(IBB)(MacadamiaNuts)-25.10.14
« on: October 25, 2014, 01:55:01 PM »
Just another funky bot that may or may not work.

Code: [Select]
'name: Miller
'description: Turning veggies into yummies!
@
def red 255
def green 227
def blue 0

' DEFAULTS {
cond
start
.shoot .ploc store
-2 .pval store
0 .fixpos store
*.tiepres .tienum store
.tieloc .tieloc store
100 .tielen store
90 .stifftie store
0 .tieval store
*.myeye 14 store
0 .out6 store
99 .out1 store
460 .eye9width store
520 .eye9dir store
460 .eye1width store
-520 .eye1dir store
0 999 store
stop

cond
*.robage 1 =
start
333 .out1 store
stop

cond
*.tiepres 33 =
start
33 .out5 store
stop
' } END DEFAULTS

' VIRUS {
cond
start
*.thisgene .mkvirus store
1 .vshoot store
0 .repro *.totalmyspecies 100 sub 0 floor sgn mult *14 *.myeye sub abs sgn mult store
33 .tie *.myeye 2 sub 0 ceil abs sgn mult store
2 .sharenrg *.myeye 2 sub 0 ceil abs sgn mult store
*13 .delgene *.thisgene *13 sub abs 0 floor mult store
*.thisgene 13 store
stop
' } END VIRUS

' RESOURCES {
cond
*.venom 200 <
start
100 .strvenom store
stop

cond
*.poison 400 <
*.nrg 50 >
start
*.nrg 100 div .strpoison store
stop

cond
*.shell 250 <
*.nrg 500 >
*999 0 >
*.hit 0 >
or
start
100 .mkshell store
stop

cond
start
-2 .venval store
.shoot .vloc store
stop

cond
*.waste 50 >
*.numties 0 >
start
1 .sharewaste store
stop

cond
*.waste 100 >
start
*.waste .shootval store
-4 .shoot store
stop
' } END RESOURCES

' COMMS {
cond
*.in1 333 =
*.in7 0 >
*.out7 0 =
start
*.in6 5 sub .out6 store
*.in7 .out7 store
*.in8 .out8 store
*.in7 972 store
*.in8 973 store
*.in6 5 sub 974 store
stop

cond
*.tiepres 33 =
start
33 .out5 store
*.velup .dn store
*.velsx .dx store
stop

cond
*.tiepres 33 !=
start
0 .out5 store
stop
' } END COMMS

' MOVEMENT {
cond
*972 0 =
*974 0 =
*.eye1 *.eye2 *.eye3 *.eye4 *.eye5 *.eye6 *.eye7 *.eye8 *.eye9
add add add add add add add add 0 =
start
*.aim 100 rnd 50 sub add .setaim store
store

cond
*972 0 >
*974 0 >
*972 *.xpos sub abs
*973 *.ypos sub abs add 1000 >
*.eye1 *.eye2 *.eye3 *.eye4 *.eye5 *.eye6 *.eye7 *.eye8 *.eye9
add add add add add add add add 0 =
*.tiepres 33 !=
start
*972 *973 angle .setaim store
*974 1 sub 0 floor 974 store
*974 .out6 store
stop

cond
*.eye1 *.eye2 *.eye3 *.eye4 *.eye5 *.eye6 *.eye7 *.eye8 *.eye9
add add add add add add add add 0 =
*974 0 =
*.tiepres 33 !=
start
100 rnd 50 sub .aimdx store
*.maxvel .up store
stop

cond
*.eye1 *.eye2 *.eye3 *.eye4 *.eye5 *.eye6 *.eye7 *.eye8 *.eye9
add add add add add add add add 0 >
*.tiepres 33 !=
start
215
*.eye6 *.eye7 add *.eye8 add *.eye9 add
*.eye4 *.eye3 add *.eye2 add *.eye1 add sub sgn mult
.aimdx store
*.maxvel 2 div .up store
stop

cond
*.eye5 25 >
*.refeye *.myeye !=
*.refshoot *.myshoot !=
or
start
100 974 store
33 .out5 store
*.refxpos .out7 store
*.refypos .out8 store
*.refxpos 972 store
*.refypos 973 store
*.refxpos *.refypos angle .setaim store
stop

cond
*974 180 >
*.eye1 *.eye2 *.eye3 *.eye4 *.eye5 *.eye6 *.eye7 *.eye8 *.eye9
add add add add add add add add 0 =
*.tiepres 33 !=
start
1200 rnd .setaim store
stop
' } END MOVEMENT

' REPRODUCTION {
cond
*.eye5 0 =
*.nrg 2000 *.totalbots *.totalmyspecies div div 500 floor >
*.robage 5 >
start
314 .aimdx store
50 .repro store
stop
' } END REPRODUCTION

' SHOOTING {
cond
*.refeye 1 >
*.refeye *.myeye !=
*.refshoot *.myshoot !=
or
*.refpoison 0 >
*.eye5 0 >
start
24 .shootval store
-6 .shoot store
stop

cond
*.refeye 1 >
*.refeye *.myeye !=
*.refshoot *.myshoot !=
or
*.refpoison 0 =
*.eye5 0 >
start
24 .shootval store
-1 .shoot store
stop

cond
*.eye5 5 >
*.refeye *.myeye !=
*.refshoot *.myshoot !=
or
4 rnd 1 =
start
.aimsx .shoot store
614 .shotval store
stop
' } END SHOOTING

' MILLING {
cond
*.eye5 0 >
*.refeye 2 <
*.refeye *.myeye !=
*.refshoot *.myshoot !=
or
start
33 .tie store
33 .out5 store
stop

cond
*.eye5 0 >
*.in5 33 =
start
33 .tie store
33 .out5 store
stop

cond
*.tiepres 33 =
start
33 .out5 store
33 .tienum store
*.trefxpos *.trefypos angle 614 add .setaim store
75 .sharenrg store
1 .sharewaste store
stop
' } END MILLING

' BODY {
cond
*.nrg *.body 2 mult >
start
100 .strbody store
stop

cond
*.nrg *.body mult <
start
100 .fdbody store
stop
' } END BODY

' PANIC {
cond
*.eye5 5 >
*.refeye *.myeye !=
*.refshoot *.myshoot !=
*.vtimer 1 =
start
16 .vshoot store
stop

cond
*.tiepres 33 !=
start
*.tiepres .deltie 1 rnd mult store
stop

cond
*.in7 0 =
*.refeye *.myeye =
start
160 .aimsx store
stop

cond
*.eye5 80 >
*.tiepres 33 =
start
0 .up store
5 .dn store
stop

cond
*.paralyzed 10 >
*.poisoned 10 > or
*.pwaste 20 > or
start
314 .aimsx store
99 .repro store
stop

cond
*.tiepres 33 =
start
*.aim 400 rnd 200 sub .aimshoot store
-3 .shoot store
stop

cond
*.shflav 0 >
*.shflav -1 =
*.shflav -6 =
or
start
*.shang *.aim add .aimshoot store
-3 .shoot store
100 .shotval store
100 .dx store
stop
' } END PANIC

3
Short bots / Capsule(SB)(SS-ish)(MacadamiaNuts)-25.10.14
« on: October 25, 2014, 01:52:30 PM »
It becomes a Single Store bot one cycle after spawning, but I don't know if that still qualifies for SS league. Took me a long while to code this one.

Code: [Select]
'name: Capsule
'class: Hatching Single Store
'author: Capsule Corp. (MN)
'description: It's magic!

start
9 rnd dup dup dup 10 div swap 12 div add sub 971 add * * swap dup 6 div sub 979 add * store
stop

start
987 971 store
988 972 store
990 973 store
.eye1 974 store
.eye2 975 store
989 976 store
.eye8 977 store
.eye9 978 store
.mkchlr 979 store
.strbody 980 store
.shoot 981 store
.aimsx 982 store
.sharenrg 983 store
.up 984 store
.sexrepro 985 store
.aimdx 986 store
2 987 store
1 988 store
90 989 store
-8 990 store
*.thisgene .delgene store
stop

4
Interesting behaviour bots / Yojimbo(IBB)(MacadamiaNuts)-25.10.14
« on: October 25, 2014, 01:47:03 PM »
Not a very competitive bot, just an attempt to amusing behaviour.

Code: [Select]
'name: Yojimbo
'description: Baka!

@
def red 213
def green 0
def blue 0

cond
start
*.tiepres .tienum store
.sharenrg .tieloc store
1 .tieval store
99 .sharenrg store
99 .shareshell store
99 .shareslime store
*.myeye 14 store
stop

cond
start
0 .in1 store
*.thisgene .mkvirus *.vtimer sgn 1 sub abs mult store
.vshoot *.vtimer 1 sub sgn 1 sub abs mult inc
16000 16000 angle .setaim *14 *.myeye sub sgn abs mult store
10 .up store
*13 .delgene *.thisgene *13 sub abs 0 floor mult store
*.thisgene 13 store
0 .shoot *14 *.myeye sub sgn abs mult store
1 .sharenrg *14 *.myeye sub sgn abs mult store
1000 .tieval *14 *.myeye sub sgn abs mult store
100 .rmchlr store
stop

cond
*.in1 98 =
start
*.in2 *.in3 angle .setaim store
*.in2 .out2 store
*.in3 .out3 store
stop

cond
start
*.totalmyspecies 25 add *971 24 mult add 25 div 971 store
stop

cond
*971 0 =
start
250 971 store
stop

cond
*.robage 4000 mod 500 <
*.xpos 16000 sub abs
*.ypos 16000 sub abs add 4000 >
*.eye5 0 =
start
460 .eye9width store
520 .eye9dir store
460 .eye1width store
-520 .eye1dir store
16000 16000 angle .setaim store
stop

cond
*.eye5 0 =
start
135
*.eye6 *.eye7 add *.eye8 add *.eye9 add
*.eye4 *.eye3 add *.eye2 add *.eye1 add sub sgn mult
.aimdx store
stop

cond
*.eye5 5 >
*.refeye *.myeye !=
start
*.refxpos .out2 store
*.refypos .out3 store
-6 .shoot store
1 .tie store
.sharenrg .vloc store
1 .venval store
10 .mkpoison store
-3 .shoot 1 rnd mult store
*.refxpos *.refypos angle .setaim store
stop

cond
*.eye5 5 >
*.refeye *.myeye !=
4 rnd 1 =
start
.fdbody .shoot store
100 .shotval store
stop

cond
*.refeye *.myeye =
start
314 .aimsx store
0 .tie store
stop

cond
*.eye5 40 <
start
100 rnd 50 sub .aimsx store
*.maxvel .up store
stop

cond
*.eye5 80 >
start
0 .up store
stop

cond
*.nrg 1000 >
*.totalmyspecies *971 <
start
50 .repro store
stop

cond
*.nrg 30 >
*.body 6 mult *.nrg <
start
10 .strbody store
stop

cond
*.body 2 >
*.body 5 mult *.nrg >
start
1 .fdbody store
stop

cond
*.hit 0 >
start
50 .mkshell store
.shoot .ploc store
-2 .pval store
50 .strpoison store
*.shang 614 add .setaim store
stop

5
Veggies / Diatomea(Veggie)(MacadamiaNuts)-25.10.14
« on: October 25, 2014, 08:58:34 AM »
I just wanted diverse looking veggies with shell. Usually ran this with very high species mutation rates for the pretty colors.

Code: [Select]
' Diatomea

cond
*.robage 1 =
*971 0 =
start
100 rnd 971 store
60 rnd 30 sub 972 store
1000 rnd 973 store
32000 rnd 974 store
99 rnd 975 store
stop

cond
*.chlr rnd 1 =
start
*971 .mkchlr store
stop

start
*972 .aimdx store
*.totalmyspecies rnd .setboy store
*.nrg *973 div .mkshell store
stop

cond
*.nrg *974 >
start
*975 .mrepro store
stop
end

6
Veggies / Carnivore_Ivy(Veggie)(F1)(MacadamiaNuts)-25.10.14
« on: October 25, 2014, 08:55:47 AM »
It may be broken in the newer versions, but I don't plan to update it.

Code: [Select]
'name: Carnivore Ivy
'description: Do not eat!

@
def red 213
def green 190
def blue 22

cond
*.robage 2 >
start
*.thisgene .mkvirus *.vtimer 1 sub abs mult store
.vshoot *.vtimer mult inc
942 .setaim *.ypos 20000 sub 0 floor sgn mult store
*13 .delgene *.thisgene *13 sub abs 0 floor mult store
*.thisgene 13 store
stop

cond
*.ypos 12000 >
start
*.tiepres .deltie store
stop

cond
*.ypos 9000 >
start
900 20 rnd add .setaim store
100 .dn store
stop

cond
*.ypos 10000 <
start
.shoot .ploc store
0 .pval store
0 .fixpos store
*.tiepres .tienum store
.tieval .tieloc store
.aimsx .tieloc 10 rnd 9 sub 0 floor mult store
614 .tieval store
914 .setaim store
850 .tielen store
90 .stifftie store
.tie *.eye5 sgn mult inc
50 .sharenrg store
*.tout7 1 sub 0 floor .tout7 store
*.aim *14 add .setaim store
*.nrg 100 div .mkchlr 30000 *.chlr sub sgn 0 floor mult store
*.body 11 sub *.nrg 4 div sub .fdbody *.body 25 sub sgn 0 floor mult store
*.nrg 4 div *.body 11 add sub .strbody *.nrg 200 sub sgn 0 floor mult store
0 -1 store
stop

cond
*.refeye *.myeye =
start
*14 sgn 100 rnd mult -1 mult 14 *.refeye *.myeye sub sgn abs 1 sub abs store
stop

cond
*.tin7 *.tout7 >
start
*.tin7 5 sub 0 floor .tout7 store
stop

cond
*.tout7 0 >
*.nrg 200 >
start
*.nrg 25 div .strpoison store
*.nrg 300 div .mkshell store
stop

cond
*.nrg 200 >
*.body 20 >
start
286 56 rnd add .setaim store
100 .dn store
80 .repro store
stop

cond
*.hit 0 >
start
100 .tout7 store
*.nrg 20 div .mkshell store
*.nrg 5 div .strpoison store
stop

cond
*.refeye *.myeye !=
*.refeye 0 >
*.eye5 10 >
start
10 .shotval store
-6 .shoot store
stop
end

7
F1 bots / EyeOfTheBeholder(F1)(MacadamiaNuts)-25.10.14
« on: October 25, 2014, 08:24:22 AM »
I never really saw it take a big advantage out of eye conspec stealthing, and it's not very resilient to cost spikes, but it does ok.

Code: [Select]
'name: EyeOfTheBeholder
'description: Eye See What You Did There!

cond
*.robage 1 =
start
99 .out8 store
460 .eye9width store
520 .eye9dir store
460 .eye1width store
-520 .eye1dir store
.shoot .ploc store
-2 .pval store
stop

' Lotsa stuff
start
200 rnd 100 sub .aimdx *.eye5 sgn 1 sub abs mult store
80 *.eye6 *.eye7 2 mult add *.eye8 3 mult add *.eye1 add *.eye4 *.eye3 2 mult add *.eye2 3 mult add *.eye9 add sub sgn mult .aimdx store
614 .aimdx *.in8 99 sub sgn abs 1 sub abs mult *.refbody *.body sub sgn 0 floor mult store
*.refveldx .dx *.eye5 sgn mult *.in8 99 sub sgn abs mult store
*.maxvel *.eye5 sgn 1 sub 20 mult add .up *.eye5 85 sub sgn 0 ceil abs mult store
*.eye5 5 div 10 ceil 1 floor .shootval store
-1 5 1 rnd mult sub .shoot *.eye5 30 sub sgn 0 floor mult *.in8 99 sub sgn abs mult *.refage sgn mult store
*.nrg 250 div .strpoison 100 *.poison sub sgn 0 floor mult *.hit mult store
*.nrg 250 div .mkshell 200 *.shell sub sgn 0 floor mult *.hit mult store
*.tiepres .deltie store
*.refxpos *.refypos angle .setaim *.in8 99 sub sgn abs mult *.refnrg sgn mult 15 *.refeye sub sgn 0 floor mult store
*.nrg 5 div .strbody *.nrg 12 div *.body sub sgn 0 floor mult store
*.body 5 div .fdbody *.body 10 mult *.nrg sub sgn 0 floor mult store
*.shang .aimshoot *.shang sgn mult store
*.waste .shootval *.waste 100 sub sgn 0 floor mult store
-4 .shoot *.waste 50 sub sgn 0 floor mult store
50 .repro *.nrg 25000 sub sgn 0 floor mult store
314 .aimdx *.nrg 25000 sub sgn 0 floor mult store
0 .shang store
stop

cond
*.in1 0 >
start
*.in1 .out1 store
*.in2 .out2 store
*.in3 .out3 store
*.in4 .out4 store
*.in5 .out5 store
*.in6 .out6 store
*.in7 .out7 store
stop

' Eeeeeee...
cond
*.refeye 16 >
*.ypos 500 >
*.in8 99 !=
*.robage 1 >
*.refage 1 >
*.genes 5 >
*.nrg 150 >
*.body 10 >
start
*.genes .delgene *.refeye *.myeye sub 0 ceil abs sgn mult store
*.maxvel -1 mult .up store
5 .repro store
stop

' Regrow eyes and mess with other bots
cond
*.nrg 100 >
*.pleas 10 >
start
*.eye5
*.thisgene .mkvirus store
1 .vshoot store
*.thisgene .delgene *.thisgene 5 ceil sgn 1 sub abs mult store
stop

' Disposable eyes
start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

start
*.eye5
stop

8
Bugs and fixes / Parent-offspring ties stop racial memory copy
« on: September 06, 2014, 04:27:28 PM »
As per the subject. If parent and child make a tie, it replaces the birth tie and memory copy stops early.

Not sure if bug or intended feature, but I'd definitely like if it didn't happen. :P

9
Off Topic / Make a subreddit!
« on: May 28, 2012, 04:29:20 AM »
Has anyone here considered creating a subreddit for Darwinbots? That would give it more exposure and bring new people to it.

Also, it's about time DB has its own memes. :P

10
Simulation Emporium / Nuclear reactor zerosim
« on: April 26, 2012, 11:47:58 AM »
I started this week a zerosim with mutation rate fixed at 32x, maximum Point Mutations and Delta Mutations (so mutation speed can stabilize itself over time, since I'm still using an install that crashes if I change settings), costs only for DNA length, and instadeath for bots that are 10000 cycles old. I think that's the best starting settings to get a zerosim going. They started to multiply before the first 10000 cycles extinction. :P

At 3 million cycles they have developed an amusing cycle of moving a short distance, reproducing, then firing some shots. They are kinda amusing to watch.

One problem with the nuclear reactor settings is there are so many mutations the mutation history seems to cut off before 1400000 cycles. I'll have to keep more intermediate saves, I guess (automatic saving crashes too). :wacko:

11
Off Topic / Hi folks
« on: April 20, 2012, 02:14:11 PM »
Just poking my head out here after I got my account recovered thanks to the admins. :happy:

I can't spend much time coding bots currently, and DB crashes on wine if I touch the settings after starting a sim or turning on Internet Mode, so I'm just running a zerosim now trying to get this time a full save with a bot that reacts in an useful way to stimuli. I'm only half a million cycles in still and they are still quite dumb.

12
Short bots / Gazer 1 (F1)(MNuts)(30-01-2008)
« on: January 28, 2008, 03:27:11 PM »
Basically the Lionfish 9 bot with 360º - 9 eyes aiming, no virus, hibernation code, last food location memory, a rudimentary inteligent aiming, etc.

It may have some bugs, but it works.

Code: [Select]
def turnfactor 972
def reprothreshold 971
def speedlimit 973
def reproshare 974
def mymaxvenom 975
def mymaxpoison 976
def mymaxslime 977
def mymaxshell 978
def mymaxenergy 979
def friendcooldown 980
def reprocooldown 51
def avoidfriend 52
def cloakmemloc 53
def comebacks 54
def imasettler 983
def mybodyfeed 981
def myshootrange 982
def myshootpower 984
def xfoodlocation 985
def yfoodlocation 986

cond
*.shell 1999 >
start
*.numties 0 !=
*.tiepres .deltie store

*.totalbots *.totalmyspecies 4 mult >
-10 .mkshell store
stop

cond
*.shell 2000 <
start
1 1 =
*.tiepres .tienum store
.memloc .memloc store
*.memval .memloc *.cloakmemloc sgn mult store
*.memval .cloakmemloc store
*.memval *.cloakmemloc *.cloackmemloc sgn mult store
*.dnalen 999 store
.shoot .ploc store
*.avoidfriend 1 sub .avoidfriend store
*.myshootpower 10 mult *.veldx div .shootval store
0 .focuseye store

95 .eye1width *.robage 9 mod add store
-700 .eye1dir store
-515 .eye2dir store
-335 .eye3dir store
-165 .eye4dir store
0 .eye5dir store
165 .eye6dir store
335 .eye7dir store
515 .eye8dir store
700 .eye9dir store

*.pleas 500 >
*.xpos .xfoodlocation store
*.ypos .yfoodlocation store
-2 .comebacks store

*.robage 6 =
*.reproshare 0 = and
10 .turnfactor store
3 .reprothreshold store
200 .speedlimit store
50 .reproshare store
100 .comebacks store

*.robage 12 =
*.mymaxenergy 0 = and
90 .mymaxvenom store
110 .mymaxpoison store
1000 .mymaxslime store
100 .mymaxshell store
10000 .mymaxenergy store

*.robage 17 =
*.myshootpower 0 = and
30 .friendcooldown store
0 .imasettler store
-900 .mybodyfeed store
40 .myshootrange store
100 .myshootpower store

*.robage 21 =
10 rnd 1 = and
*.reprothreshold 2 rnd 1 sub add 0 floor 6 ceil .reprothreshold store

*.robage 21 =
*.turnfactor 10 rnd 5 sub add 1 floor 50 ceil .turnfactor store
*.speedlimit 10 rnd 5 sub add 5 floor .speedlimit store
*.reproshare 10 rnd 5 sub add 1 floor .reproshare store
*.mymaxvenom 50 rnd 25 sub add .mymaxvenom store
*.mymaxpoison 50 rnd 25 sub add .mymaxpoison store
*.mymaxslime 50 rnd 25 sub add .mymaxslime store
*.mymaxshell 50 rnd 25 sub add .mymaxshell store
*.mymaxenergy 500 rnd 250 sub add 500 floor .mymaxenergy store
*.friendcooldown 4 rnd 2 sub add 1 floor .friendcooldown store
*.imasettler 10 rnd 5 sub add 1 floor .imasettler store
*.mybodyfeed 50 rnd 25 sub add -100 ceil .mybodyfeed store
*.myshootrange 4 rnd 2 sub add 1 floor .myshootrange store
*.myshootpower 4 rnd 2 sub add 1 floor .myshootpower store

*.refeye *.in3 =
0 .out4 store
0 .out5 store

*.trefeye *.myeye =
*.trefage 20 > and
*.robage 20 > and
*.reprocooldown 0 = and
*.tiepres .deltie store

*.eye5 0 =
*.avoidfriend 1 < and
100 rnd 50 sub .aimdx store

*.eye5 0 =
*.avoidfriend 1 < and
*.reprocooldown 0 = and
*.eye1 0 > and
-650 *.aim add *.veldx add .setaim store

*.eye5 0 =
*.avoidfriend 1 < and
*.reprocooldown 0 = and
*.eye2 *.eye1 > and
-470 *.aim add *.veldx add .setaim store

*.eye5 0 =
*.avoidfriend 1 < and
*.reprocooldown 0 = and
*.eye3 *.eye2 > and
*.eye3 *.eye1 > and
-290 *.aim add *.veldx add .setaim store

*.eye5 0 =
*.avoidfriend 1 < and
*.reprocooldown 0 = and
*.eye4 *.eye3 > and
*.eye4 *.eye2 > and
*.eye4 *.eye1 > and
-140 *.aim add *.veldx 2 div add .setaim store

*.eye5 0 =
*.avoidfriend 1 < and
*.reprocooldown 0 = and
*.eye6 *.eye4 > and
*.eye6 *.eye3 > and
*.eye6 *.eye2 > and
*.eye6 *.eye1 > and
140 *.aim add *.veldx 2 div add .setaim store

*.eye5 0 =
*.avoidfriend 1 < and
*.reprocooldown 0 = and
*.eye7 *.eye6 > and
*.eye7 *.eye4 > and
*.eye7 *.eye3 > and
*.eye7 *.eye2 > and
*.eye7 *.eye1 > and
290 *.aim add *.veldx add .setaim store

*.eye5 0 =
*.avoidfriend 1 < and
*.reprocooldown 0 = and
*.eye8 *.eye7 > and
*.eye8 *.eye6 > and
*.eye8 *.eye4 > and
*.eye8 *.eye3 > and
*.eye8 *.eye2 > and
*.eye8 *.eye1 > and
470 *.aim add *.veldx add .setaim store

*.eye5 0 =
*.avoidfriend 1 < and
*.reprocooldown 0 = and
*.eye9 *.eye8 > and
*.eye9 *.eye7 > and
*.eye9 *.eye6 > and
*.eye9 *.eye4 > and
*.eye9 *.eye3 > and
*.eye9 *.eye2 > and
*.eye9 *.eye1 > and
650 *.aim add *.veldx add .setaim store

*.refeye *.myeye =
*.refeye *.in3 = and
*.in4 0 = and
*.refage 0 > and
*.friendcooldown .avoidfriend store
*.aim 300 rnd 150 sub add .setaim store

'If nothing around, return to feed area
*.eye5 0 =
*.xfoodlocation 0 != and
*.yfoodlocation 0 != and
50 *.comebacks abs mult rnd 1 < and
*.xfoodlocation *.yfoodlocation angle 100 rnd add 50 sub .setaim store
*.comebacks 1 add .comebacks store

*.refeye *.myeye !=
*.refage 0 != and
*.eye5 80 < and
*.veldx abs 10 > and
*.veldx .aimshoot store

*.robage 20 >
*.reprocooldown 0 = and
*.speedlimit *.velup sub 5 floor *.mass mult .up store

*.refeye *.myeye !=
*.in3 *.myeye != and
*.eye5 0 != and
*.refage 0 > and
*.robage 13 > and
*.reprocooldown 7 < and
*.refxpos *.refypos angle *.velsx 70 ceil -70 floor sub .setaim store
*.revelup 0 floor 2 mult .up store
*.refveldx .dx store
1 .dn *.refveldn sgn 0 floor mult store
1 .tie *.eye5 100 ceil 40 sub sgn 0 floor mult store
1 .fixpos *.eye5 90 sub sgn 0 floor mult store
*.refxpos .out4 store
*.refypos .out5 store


*.eye5 80 >
*.refeye *.myeye != and
*.refage 0 > and
*.refvelup .up store

*.fixed 1 =
0 .fixpos store

1 1 =
.fixpos .vloc store
1 .venval store

*.eye5 1 >
*.mass 1 > or
-3 .shoot store

*.eye5 *.myshootrange >
*.refeye *.myeye != and
*.refeye 1 floor *.in3 != and
*.refage 0 != and
*.myshootpower .shootval store
-6 .shoot store
-1 .shoot *.refnrg *.refbody 5 mult sub sgn 0 floor mult store
-6 .shoot *.refpoison sgn mult store

*.refaim *.aim sub abs 600 %=
*.refeye *.myeye != and
*.refage 0 != and
*.eye5 35 > and
*.aim .venval store
.setaim .vloc store
-3 .shoot store

*.refeye *.myeye !=
*.refage 0 != and
*.eye5 35 > and
*.refdn 20 > and
.fixpos .venval store
1 .vloc store
-3 .shoot 1 rnd mult store

*.numties 0 >
.tieval .tieloc store
1000 .tieval store
100 .fixlen store
100 .tielen store
40 .stifftie store

1 1 =
*.reprocooldown 1 sub 0 floor .reprocooldown store
.shoot .ploc store
972 *.timer abs 15 mod add .out1 store
972 *.timer abs 15 mod add * .out2 store
*.myeye .out3 store
100 .shareslime store

*.refeye *.myeye =
*.refeye *.in3 = and
*.refage *.robage > and
*.robage 21 > and
*.in1 971 > and
*.in2 *.in1 store
*.in2 10 rnd 5 sub add *.in1 *.in1 985 sub sgn 0 floor mult store

*.reprocooldown 0 =
*.robage 21 > and
-6 .tieloc store
-1 .tieloc *.refnrg *.mybodyfeed 3 mult sub sgn 0 floor mult store
*.mybodyfeed .tieval store
99 .sharenrg store
100 .shareslime store
1 .sharewaste store

*.numties 0 >
*.reprocooldown 0 = and
*.robage 21 > and
*.refvelscalar 10 > and
.fixpos .tieloc store
1 .tieval store

*.numties 0 >
*.reprocooldown 0 = and
*.robage 21 > and
*.trefvel 0 > and
.fixpos .tieloc store
1 .tieval store

*.numties 0 >
*.reprocooldown 0 = and
*.robage 21 > and
*.refaim *.aim sub abs 600 %= and
.shoot .tieloc store
-2 .tieval store

*.mymaxvenom *.venom >
*.nrg *.mymaxvenom 5 mult > and
10 .strvenom store

*.mymaxpoison *.poison >
*.nrg *.mymaxpoison 5 mult > and
10 .mkpoison store

*.eye5 30 <
*.mass *.reprothreshold > and
*.nrg *.mymaxenergy > and
1200 rnd .setaim store
*.reproshare .repro store
20 .reprocooldown store

*.totalmyspecies *.imasettler <
*.eye5 30 < and
*.body *.mymaxenergy 10 div > and
*.nrg *.mymaxenergy > and
1200 rnd .setaim store
50 .repro store
20 .reprocooldown store

*.nrg *.mymaxenergy >
*.body 30500 < and
100 .strbody store

*.body 30000 >
*.nrg 30000 > and
100 .mkshell store
100 .mkslime store
100 .mkpoison store
100 .mkvenom store

*.nrg *.mymaxenergy <
*.body 50 > and
100 .fdbody store

*.nrg 100 <
*.body 50 < and
10 .fdbody store

*.waste 100 >
*.waste .shootval store
-4 .shoot store

*.waste 0 >
*.eye5 0 = and
*.waste .shootval store
-4 .shoot store

*.trefshell *.shell 90 div >
99 .shareshell store

*.mymaxslime *.slime >
*.nrg *.mymaxslime 5 mult > and
10 .mkslime store

*.mymaxshell *.shell >
*.nrg *.mymaxshell 5 mult > and
10 .mkshell store

*.edge 1 =
*.refeye *.myeye = and
*.aim 10 add .setaim store

*.edge 1 =
*.refage 0 = and
*.aim 10 sub .setaim store

*.reftype 1 =
*.aim 10 add .setaim store

*.refeye *.in3 =
*.refeye *.myeye = and
*.eye5 30 < and
*.in4 0 != and
*.in5 0 != and
*.in4 500 rnd 250 sub add *.in5 500 rnd 250 sub add angle .setaim store

*.refeye *.in3 =
*.refeye *.myeye and
*.in4 0 = and
*.in5 0 = and
*.eye5 60 > and
150 .aimdx store

*.refeye *.myeye =
*.refeye *.in3 = and
600 rnd 300 add .aimshoot store

*.eye5 *.myshootrange 2 mult 3 div <
300 rnd 150 sub .aimshoot store

*.eye5 150 >
*.refeye *.myeye != and
1 .dn store

1 1 =
0 .refeye store
0 .in2 store
0 .in1 store
0 .refage store
0 .refveldx store
*.thisgene 1 add .delgene store
stop

13
Tips and Tricks / Trajectory prediction and steering control
« on: January 28, 2008, 11:17:30 AM »
I'm not a maths guy, I always approach problems with a brute trial and error strategy.

I was wondering if anyone knew a simple algorithm to predict the trajectory of a target bot. Also we could discuss here about steering control strategies. The *.refxpos *.refypos angle aiming doesn't consider the lateral speed, that's why when a bot aims a static target it can enter a silly orbit and never reach it.

Currently what I'm doing is add '*.veldx add' into the 360º nine eyes turning. That means that, when the bot is moving laterally, it will oversteer to compensate. It doesn't do much when the target bot is fast and isn't moving away, but it seems to break the orbits.

Probably I'd should add too the *.veldn speed somewhere, to avoid overtaking the target.

14
Suggestions / Shoot speed
« on: January 28, 2008, 10:54:19 AM »
Looking at bots trying to shoot veggies that move in circles, I noticed that the speed of the shoots is not enough  to reach the veggie as their radial (lateral) speed quickly sends them away, even if the bot is leading the shots with a proper angle.

Shouldn't .shootval increase too the firing speed of shoots (or did I miss something)?

15
Internet Mode Commentary / Shrinking Violet new mutation
« on: January 26, 2008, 03:18:28 PM »
I received some Shrinking Violets and they have mutated again. There's a mass of them crawling along the top-down edge like a bug, firing -1 shoots. Their DNA is all made of mutated virus code, up to 31 genes.

Lionfish 9 has a sloppy behaviour at edges, and it's been one of the top predators during the last days. It seems that SV has adapted to exploit that weak point.

Pages: [1] 2 3 4