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

Pages: 1 ... 50 51 [52] 53
766
F2 bots / Blue on Blue (F2)(Jez)-05.08.06
« 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.

767
DNA - General / Chameleon genes
« on: August 07, 2006, 10:46:38 AM »
Ok, think I've figured it out...

It takes two turns to store each value!

So the order of activations is:

1.Sees enemy:
Stores value of 0 in 51 (G4)

2.Next turn,
Stores value of 604 in 51 (G4)

3.Next turn,
Stores value of 604 in 52 (G2+3)

4.Next turn,
Stores value of 8741 in 52 (G2+3)

Continues with (G2+3) no change to values.

If I add the line *.reqmemval 0 = to gene 2 then it won't reach step 4 leaving me with 604 in both 51 and 52. (604 in mem location 604)

If this is how it's meant to work, (memval reads the location stored in memloc last turn) then I think I can work around it and will update Wiki syvars.  

768
F2 bots / Blue on Blue (F2)(Jez)-05.08.06
« 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!

769
DNA - General / Chameleon genes
« on: August 07, 2006, 09:59:04 AM »
Only as far as working out that the reason it stops working (if I add those extra bits) is that it stores 604 in location 604 or doesn't store 8741 in location 8741.

Can't figure why though. (Beyond reqmemval and foundmemvloc are the same.)

I'll go and run it through the console a few more times. See if I can find anymore info about how it goes wrong.

[Edit]It could be reading the value from it's friends instead I suppose, hmm, might be problem.

770
F2 bots / Blue on Blue (F2)(Jez)-05.08.06
« 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.

771
DNA - General / Chameleon genes
« on: August 07, 2006, 09:44:42 AM »
Hiya PY  

Thanks for looking at the code. It's a bit muddled because I switched the order of genes to see if that helped.

The first time it sees an enemy it should do:

.memloc .memloc store
*.memval .foundmemloc store (what value do you have in memloc)

The next time it sees an enemy it should do:

*.foundmemloc .memloc store
*.memval .reqmemval store  (what value do you have in the location you store in memloc)

And then store the value in the same memory location using:

*.reqmemval *.foundmemloc store

All of which leads to the bot, using the code posted, to display the correct behaviour against Ymir, it probably won't win but it will last for a while.

However, if I enable the line:

'***********************Why not this line? (makes reqmemval and foundmemloc same)
'*.reqmemval 0 =

It won't work properly.

Or if I enable the count cond in the chameleon genes it won't work properly.
So I figure there is something I'm not taking account of, normally I can work out why the code isn't working but not this time.  

772
DNA - General / Chameleon genes
« on: August 06, 2006, 11:12:33 AM »
I must be missing something here, want the set of genes as a closed loop in the bots code. Figured that *.memval can only be used for one value per turn.

Biggest problem has been *.reqmemval and *.reqmemloc ending up as the same value when I make minor changes

Have been testing against Ymir which uses a value of 8741 in mem loc 604 for ID

I've tried lots of different ways but seem to always end up against a brick wall.  

Test bot I have been using:

def count 987
def foundmemloc 51
def reqmemval 52

cond
*.count 1 =
*.reqmemval 0 !=
*.foundmemloc 0 !=
start
0 .count store
stop

'CHAMELEON GENES
'********************Adding count to next genes makes refmemval and foundmemloc same
cond
*.refeye 0 !=
'*.count 1 =
*.eye5 0 >
*.refshoot *.myshoot !=
*.foundmemloc 0 !=
'***********************Why not this line? (makes reqmemval and foundmemloc same)
'*.reqmemval 0 =
start
*.foundmemloc .memloc store
*.memval .reqmemval store
stop

cond
'*.count 1 =
*.reqmemval 0 !=
*.foundmemloc 0 !=
start
*.reqmemval *.foundmemloc store
stop

cond
*.refeye 0 !=
*.eye5 0 >
*.refshoot *.myshoot !=
*.robage 1 >
*.foundmemloc 0 =
'*.reqmemval 0 =
start
.memloc .memloc store
*.memval .foundmemloc store
'1 .count store
stop

'*****BOT******
cond
*.nrg 1000 >
start
50 .repro store
stop

cond
*.numties 0 =
*.count 0 = and
*.refshoot *.myshoot !=
*.eye5 0 >
start
*.refxpos *.refypos angle .setaim store
10 .up store
-1 .shoot store
stop

cond
*.eye5 0 =
*.refshoot *.myshoot = or
start
145 .aimsx store
stop
end

Would appreciate it if someone could check the code and tell me why the bot seems to like living in cloud cuckoo land everytime I make these changes.  

773
F2 bots / 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

774
Newbie / .dupgene!
« on: August 05, 2006, 08:23:44 AM »
Bit of a long shot...

Is it possible for a bot to duplicate a gene inside itself and then add it to its own DNA? A sort of reverse of the .delgene perhaps.

I wanted to use it in an F2 bot so the less like a virus it looks the better!

775
F2 bots / Zebedee V2.1 (F2)(Jez)-26.07.06
« on: July 29, 2006, 03:27:15 PM »
ENTER THIS ONE in league's after Blue on Blue please.

Fingers crossed! Hope this does ok. 

Code: [Select]
'(C. Algificus) Zebedee V2.1
'F2 bot for DB V2.37.6
'The Bot that Bounces Back!
'Uses 'spring' to delete birth tie (program bug fixed after DB V2.37.6)
'Only uses eye5
'Attacks food in swarms
'Designed by Jez
'Original swarm and shell idea by Steve


'ID gene - Endy
cond
*.robage 0 =
start
.thisgene .memloc store
stop

'search for food
cond
*.eye5 0 =
start
140 .aimsx store
0 .out1 store
0 .out2 store
stop

'move toward food/rival
cond
*.eye5 0 >
*.eye5 45 <
*.memval *.genes !=
start
*.refxpos *.refypos angle .setaim store
100 *.eye5 sub abs 10 div *.refvelscalar abs add 2 add 0 floor *.maxvel ceil .up store
*.veldx .sx store
0 .out1 store
0 .out2 store
stop

'shoot food/rival
cond
*.eye5 45 >=
*.eye5 80 <
*.memval *.genes !=
start
-1 .shoot store
20 .shootval store
*.refxpos *.refypos angle .setaim store
100 *.eye5 sub abs 10 div *.refvelscalar abs add 1 add 0 floor *.maxvel ceil .up store
*.veldx .sx store
*.refxpos .out1 store
*.refypos .out2 store
stop

'shoot rival with venom
cond
*.refshell 5 <
*.eye5 45 >=
*.venom 5 >
*.eye5 80 <
*.memval *.genes !=
*.refeye 0 >
start
-3 .shoot store
.shoot .vloc store
-2 .venval store
*.refxpos *.refypos angle .setaim store
100 *.eye5 sub abs 10 div *.refvelscalar abs add 1 add 0 floor *.maxvel ceil .up store
*.veldx .sx store
'*.refxpos .out1 store
*.refypos .out2 store
stop

'shoot rival with shell
cond
*.refshell 5 >
*.eye5 45 >=
*.venom 5 >
*.eye5 80 <
*.memval *.genes !=
*.refeye 0 >
start
-3 .shoot store
.shoot .vloc store
-2 .venval store
*.refxpos *.refypos angle .setaim store
100 *.eye5 sub abs 10 div *.refvelscalar abs add 1 add 0 floor *.maxvel ceil .up store
*.refxpos .out1 store
*.refypos .out2 store
*.veldx .sx store
stop

'shoot food/rival
cond
*.shell 5 <
*.eye5 80 >=
*.memval *.genes !=
start
-6 .shoot store
20 .shootval store
*.refxpos *.refypos angle .setaim store
100 *.eye5 sub abs 10 div *.refvelscalar abs add 0 floor *.maxvel ceil .up store
*.refxpos .out1 store
*.refypos .out2 store
*.veldx .sx store
stop

'shoot food/rival with shell
cond
*.shell 5 >
*.eye5 80 >=
*.memval *.genes !=
start
-1 .shoot store
20 .shootval store
*.refxpos *.refypos angle .setaim store
100 *.eye5 sub abs 10 div *.refvelscalar abs add 0 floor *.maxvel ceil .up store
*.refxpos .out1 store
*.refypos .out2 store
*.veldx .sx store
stop

'avoid friend
cond
*.memval *.genes =
*.in1 0 =
*.in2 0 =
*.refage 1 >
*.eye5 0 >
start
140 .aimsx store
stop

'follow friend
cond
*.memval *.genes =
*.in1 0 !=
*.in2 0 !=
*.refage 1 >
*.eye5 0 >
start
*.in1 *.in2 angle .setaim store
100 *.eye5 sub abs 10 div *.refvelscalar abs add 0 floor *.maxvel ceil .up store
0 .out1 store
0 .out2 store
stop

'reproduce baby behind
cond
*.nrg 1500 >
*.body 600 >
start
50 .repro store
628 .aimsx store
.shoot dec
stop

'parent rotates back
cond
*.memval *.genes =
*.refage 1 =
start
628 .aimsx store
stop

'cut ties/ lengthen ties
cond
*.numties 0 !=
start
32000 .tielen1 store 'Endy's from Elite's post (not in v 2.4?
stop

'energy to body
cond
*.nrg 1900 >
start
100 .strbody store
stop

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

'poison
cond
*.shotflav -1 =
*.poison 200 <
*.nrg 1000 >
start
10 .strpoison store
stop

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

'mkshell
cond
*.shotflav -6 =
*.shotflav -3 = or
*.refnrg 1000 >
*.refshell 1000 <
start
100 .mkshell store
stop

'venom
cond
*.venom 200 <
*.nrg 1000 >
start
10 .strvenom store
stop

'counter attack (ty Elite)
cond
*.eye5 0 =
*.memval *.genes = or
*.refshoot 0 = or
*.shflav 0 !=
*.shflav -2 !=
start
*.shang .aimshoot store
32 .shootval store
-6 .shoot store
0 .shflav store
stop

'anti leach gene '(ty PY)
cond
*.tiepres 0 >
start
.tieval .tieloc store
1000 .tieval store
stop

cond
*.robage 32000 =
start
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
stop
end

776
Bugs and fixes / stationary bots v 2.4+
« on: July 28, 2006, 04:05:54 PM »
Thanks, for looking at it.

Clicking change after I had unticked F1 contest conditions made the bots spring into life again!

777
Newbie / Very nice!
« on: July 28, 2006, 07:17:10 AM »
Bingo!

Give the man a biscuit!!

Congrats to Light for his logical inference and a superb little bot!!!  

I shall consider Excalibur 1.1 the top F2 bot now and get back to the drawing board.  

778
I don't know where to find this 'dynamic cost multiplier' but in answer to the question:

"Did the organisms evolve some behavioural trait which assists in aquiring nrg?"

A couple of examples spring to mind.

1. Some of my bots when I first started where improved in Evo sims, by spotting an improved behaviour or adaptation that appeared and changing the original bot.
2. Not a 100% but pretty sure that the 'sever birth tie' was first seen in a evolution sim, again quickly gaining control and increasing the overall population. I'd have to go way back and check the old forum.

Other mutations, such as reducing the .repro lvl or discarding a gene you thought you needed but didn't, jump out as positive evo mutations I've seen before.

The reason I don't use Evo sims now to improve bots is that the starting bot is usually much better designed than it used to be. To see a major advance in a bots design during an evolution sim you do need the bot to have faults it can improve on after all.
Evolution is enviroment driven if I remember correctly, perhaps designing a bot for one end of the scale and then releasing it in an enviroment at the other end of the scale would show better mutations.

779
Newbie / Very nice!
« on: July 27, 2006, 11:38:04 AM »
Hiya PY!!  

Great to be back!

Oops! Starting gate it is then!  

The biggest reason I had for starting this post and worrying about the install was that Excalibur kept wiping the floor with Hunter. I'm using DB V2.37.6 with F1 contest conditions ticked and (copied not downloaded) the code from the bestiary for the bots.
I imagine this means the default settings should be OK so I suppose I might have the wrong code for one of the bots if it isn't upto date in the bestiary.

Did I say wiping? I should have said 'smearing Hunter slowly across the floor,' the sim I just ran ended 37-0 to Excalibur. Something is different somewhere...

{edit} checked variables for sim with F1 conditions ticked.
Friction was at 1 not 3
Veg nrg per cycle was set to 40 not 30

Don’t know proper value for:
The costs.
+
Swimming factor is set at 1.1
Movement factor at 0.8

Hasn’t made a difference though 

780
Suggestions / Disabling bitwise functions
« on: July 27, 2006, 09:31:23 AM »
Don't delete 'em! I haven't had a chance to fail to use them properly yet...  

From my POV as a returnee, the bots are almost scary in how mathmatically accurate you can make them now, eye5 is old news now having been replaced by (refxpos refypos angle setaim) or (refxpos refypos distance.) (I figure:) There is a way round aimsx/dx now using .aim. All I need to do now is figure out how to avoid using .up, and I shall have a formula of 'botic beauty!

Seriously, instructions that allow you to replicate old instructions like *.eye5 and avoid the previously relevant pitfalls, (like *.refeye, I can't ref .angle or .refxpos) shouldn't be added just to make the maths easier. It's not meant to be a robot simulating a robot (IMO) it's meant to be a bot simulating a life form.

Just to emphasise the inacuracy of bioforms, try poking a small spot at arms length with the tip of your finger really quickly, most of us will miss by a bit most of the time.

   Robots are 100% accurate 100% of the time, bioforms are a bit more hit and miss and need to practice first.

Pages: 1 ... 50 51 [52] 53