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

Pages: [1] 2 3 ... 5
1
Darwinbots3 / Win Xp compatible?
« on: November 21, 2014, 02:23:11 AM »
Heh , like often when I retry darwinbots 2 I got annoyed at certain limitations , conceptual problems, so I thought: lets see I am  just a hobby programmer but maybe I find something I can help with to speed darwinbots 3 development up.
So after I finally figured out how to download a subversion file(shamefully years after I encountered the first svn directory in the internet)
I first tried to open it on visual c# studio express 2010 but, when that was incompatible I tried to install 2013 unfortunately I have been to lazy and stingy to replace my windows xp so not possible.
Then it hit me does darwinbots 3 use NET 4.5? will it be even compatible with windows xp?

2
F3 bots / (F3)Beholder ver.1b(miniscule changes)11-12-2014
« on: November 10, 2014, 01:13:15 AM »
when I saw that my Beholder was still around even though I never optimised him I wanted to atleast post a slightly cleaned up version with higher shooting range( tried to do a little velocity correction in aiming first but could not figure out if I used the rotation matrix correctly on *.refveldx and *refvelup http://en.wikipedia.org/wiki/Rotation_matrix  so gave that up for now)

Code: [Select]
cond
*.robage 0 =
start
105 .eye1width store
105 .eye2width store
105 .eye3width store
105 .eye4width store
105 .eye5width store
105 .eye6width store
105 .eye7width store
105 .eye8width store
105 .eye9width store
stop

cond
start
 420 *.aim sub 1256 mod .eye1dir store
 315 *.aim sub 1256 mod .eye2dir store
 210 *.aim sub 1256 mod .eye3dir store
 105 *.aim sub 1256 mod .eye4dir store
   0 *.aim sub 1256 mod .eye5dir store
-105 *.aim sub 1256 mod .eye6dir store
-210 *.aim sub 1256 mod .eye7dir store
-315 *.aim sub 1256 mod .eye8dir store
-420 *.aim sub 1256 mod .eye9dir store
stop


'setting friend "1" or foe "0" status


cond
*.refeye *.myeye =
start
1 *.focuseye 4 add 9 mod 61 add store
stop

'eye1 specific

cond
*.eye1 *51 10 !~=
*.eye1 *52 10 ~=
*62 1 = and
*.eye1 *59 10 ~=
*69 1 = and or
start
1 61 store
stop

cond
*.eye1 *51 10 !~=
*.eye1 *52 10 !~=
*.eye1 *59 10 !~=
start
0 61 store
stop

cond
*.eye1 0 =
start
0 61 store
stop

'eye2 specific

cond
*.eye2 *52 10 !~=
*.eye2 *53 10 ~=
*63 1 = and
*.eye2 *51 10 ~=
*61 1 = and or
start
1 62 store
stop

cond
*.eye2 *52 10 !~=
*.eye2 *53 10 !~=
*.eye2 *51 10 !~=
start
0 62 store
stop

cond
*.eye2 0 =
start
0 62 store
stop


'eye3 specific

cond
*.eye3 *53 10 !~=
*.eye3 *54 10 ~=
*64 1 = and
*.eye3 *52 10 ~=
*62 1 = and or
start
1 63 store
stop

cond
*.eye3 *53 10 !~=
*.eye3 *54 10 !~=
*.eye3 *52 10 !~=
start
0 63 store
stop

cond
*.eye3 0 =
start
0 63 store
stop

'eye4 specific

cond
*.eye4 *54 10 !~=
*.eye4 *55 10 ~=
*65 1 = and
*.eye4 *53 10 ~=
*63 1 = and or
start
1 64 store
stop

cond
*.eye4 *54 10 !~=
*.eye4 *55 10 !~=
*.eye4 *53 10 !~=
start
0 64 store
stop

cond
*.eye4 0 =
start
0 64 store
stop



'eye5 specific

cond
*.eye5 *55 10 !~=
*.eye5 *56 10 ~=
*66 1 = and
*.eye5 *54 10 ~=
*64 1 = and or
start
1 65 store
stop

cond
*.eye5 *55 10 !~=
*.eye5 *56 10 !~=
*.eye5 *54 10 !~=
start
0 65 store
stop

cond
*.eye5 0 =
start
0 65 store
stop

'eye6 specific

cond
*.eye6 *56 10 !~=
*.eye6 *57 10 ~=
*67 1 = and
*.eye6 *55 10 ~=
*65 1 = and or
start
1 66 store
stop

cond
*.eye6 *56 10 !~=
*.eye6 *57 10 !~=
*.eye6 *55 10 !~=
start
0 66 store
stop

cond
*.eye6 0 =
start
0 66 store
stop

'eye7 specific

cond
*.eye7 *57 10 !~=
*.eye7 *58 10 ~=
*68 1 = and
*.eye7 *56 10 ~=
*66 1 = and or
start
1 67 store
stop

cond
*.eye7 *57 10 !~=
*.eye7 *58 10 !~=
*.eye7 *56 10 !~=
start
0 67 store
stop

cond
*.eye7 0 =
start
0 67 store
stop

'eye8 specific

cond
*.eye8 *58 10 !~=
*.eye8 *59 10 ~=
*69 1 = and
*.eye8 *57 10 ~=
*67 1 = and or
start
1 68 store
stop

cond
*.eye8 *58 10 !~=
*.eye8 *59 10 !~=
*.eye8 *57 10 !~=
start
0 68 store
stop

cond
*.eye8 0 =
start
0 68 store
stop

'eye9 specific

cond
*.eye9 *59 10 !~=
*.eye9 *51 10 ~=
*61 1 = and
*.eye9 *58 10 ~=
*68 1 = and or
start
1 69 store
stop

cond
*.eye9 *59 10 !~=
*.eye9 *51 10 !~=
*.eye9 *58 10 !~=
start
0 69 store
stop

cond
*.eye9 0 =
start
0 69 store
stop

'the focuseye is set

cond
start
*.eye1 *61 1 sub abs mult dup
*.eye2 *62 1 sub abs mult sub abs
*.eye2 *62 1 sub abs mult add add 2 div dup
*.eye3 *63 1 sub abs mult sub abs
*.eye3 *63 1 sub abs mult add add 2 div dup
*.eye4 *64 1 sub abs mult sub abs
*.eye4 *64 1 sub abs mult add add 2 div dup
*.eye5 *65 1 sub abs mult sub abs
*.eye5 *65 1 sub abs mult add add 2 div dup
*.eye6 *66 1 sub abs mult sub abs
*.eye6 *66 1 sub abs mult add add 2 div dup
*.eye7 *67 1 sub abs mult sub abs
*.eye7 *67 1 sub abs mult add add 2 div dup
*.eye8 *68 1 sub abs mult sub abs
*.eye8 *68 1 sub abs mult add add 2 div dup
*.eye9 *69 1 sub abs mult sub abs
*.eye9 *69 1 sub abs mult add add 2 div
70 store


5 .focuseye *70 *.eye1 sub sgn abs 1 sub abs mult *61 1 sub abs mult store
6 .focuseye *70 *.eye2 sub sgn abs 1 sub abs mult *62 1 sub abs mult store
7 .focuseye *70 *.eye3 sub sgn abs 1 sub abs mult *63 1 sub abs mult store
8 .focuseye *70 *.eye4 sub sgn abs 1 sub abs mult *64 1 sub abs mult store
9 .focuseye *70 *.eye5 sub sgn abs 1 sub abs mult *65 1 sub abs mult store
1 .focuseye *70 *.eye6 sub sgn abs 1 sub abs mult *66 1 sub abs mult store
2 .focuseye *70 *.eye7 sub sgn abs 1 sub abs mult *67 1 sub abs mult store
3 .focuseye *70 *.eye8 sub sgn abs 1 sub abs mult *68 1 sub abs mult store
4 .focuseye *70 *.eye9 sub sgn abs 1 sub abs mult *69 1 sub abs mult store
stop


'the visual memory is stored

cond
start
*.eye1 51 store
*.eye2 52 store
*.eye3 53 store
*.eye4 54 store
*.eye5 55 store
*.eye6 56 store
*.eye7 57 store
*.eye8 58 store
*.eye9 59 store
stop

'set and fire

cond
*.refeye *.myeye !=
start
*.refxpos *.refypos angle -1 mult *.aim add
.aimshoot store
stop



'movement

cond
*.eyef 70 <
*.refeye *.myeye !=
start
*.refxpos *.refypos angle -1 mult *.aim add
stop



cond
*.eyef 70 <
*.refeye *.myeye !=
start
1256 add 1256 mod

dup sin
2 div *.veldx sub .dx store

cos
2 div *.velup sub .up store

stop

'swarm behavior

cond
start
5 *.eye1 25 sub sgn 1 sub 2 div abs mult *51 mult
6 *.eye2 25 sub sgn 1 sub 2 div abs mult *52 mult
7 *.eye3 25 sub sgn 1 sub 2 div abs mult *53 mult
8 *.eye4 25 sub sgn 1 sub 2 div abs mult *54 mult
9 *.eye5 25 sub sgn 1 sub 2 div abs mult *55 mult
1 *.eye6 25 sub sgn 1 sub 2 div abs mult *56 mult
2 *.eye7 25 sub sgn 1 sub 2 div abs mult *57 mult
3 *.eye8 25 sub sgn 1 sub 2 div abs mult *58 mult
4 *.eye9 25 sub sgn 1 sub 2 div abs mult *59 mult
*51 *52 add *53 add *54 add *55 add *56 add *57 add
*58 add *59 add div
9 mod 140 mult

1256 add 1256 mod

dup sin
5 div *.dx add .dx store


cos
5 div *.up add .up store

stop



'From multiply
'______________________


cond
*.shflav 0 !=
*.refpoison *.refshell <
start
*.shang .aimshoot store
32 .shootval store
-1 .shoot store
0 .shflav store
stop


cond
*.shflav 0 !=
*.refpoison *.refshell >
start
*.shang .aimshoot store
32 .shootval store
-6 .shoot store
0 .shflav store
stop


cond
*.eyef 5 >
*.refeye *.myeye !=
*.refpoison *.refshell =>
and
and
and
start
16 .shootval store
-6 .shoot store
stop

cond
*.eyef 5 >
*.refeye *.myeye !=
*.refpoison *.refshell <
start
16 .shootval store
-1 .shoot store
stop

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

cond
*.nrg 5000 >
start
50 .repro store
100 .strbody store
stop

cond
*.nrg 4000 >
*.body 500 <
start
100 .strbody store
stop

cond
*.nrg 100 <
start
100 .fdbody store
stop


end

3
DNA - General / The mystery: Or making me desmotivated
« on: November 05, 2008, 07:32:50 AM »
I really do not know if I am stupid if there are a tons of bugs  or there is just so much hidden syntax etc but the unpredictability when programming a bot really frustrates me, not just that some condition just do not seem to activate properly even when you keep reformulating them though the should have worked already caused you checked and checked them again, nah but when you then test start your bot for some reason 50 percent show one behavior and the other another even though the code is the same.
I exspecially had problem with timer based conditions for some reasons or with fixing and unfixing; I also observed that when two bots are as close as possible and the stifftie is set to maximum some of them move , which is not that bad cause I thought I could use that mishap in design to make a movement mechanism but again everything keeps unpredictable,
And do not start with line slike that the physics of Darwinbots are hard to understand its not just the physics its the code it just does not seem to work cleanly most of the time. Ok maybe I am just to stupid  or to prone to make mistakes,but I just had to get a little steam of my mind.

4
Bot Tavern / MB architecture: How do we get amoeba/fungus moving?
« on: November 02, 2008, 08:56:48 AM »
Well I trieed myself on the old problem of multibot moving,trying for any amorphous mass of bots to learn crawling with ties, for some reason the condraction and extension does not activate most of the times, so as it would be really good for the new leagues that are in planning to have a first amoeba ready I thought why not make this a group work?
Everone who is interested write code to get the crawling working and post it here.

A basic structure would be: genes managing tie addresses, switching mechanism between those genes, genes to activate and deactivate movement , genes that regulate fixing and genes that regulate ties

As for my code:

Code: [Select]

def building 77
def suppotie 76
def tiecheck 75
def writpos 74
def inspect 73
def counter 72
def scout 89


'for tieaddresses
cond
*.tiecheck *.numties >
start
*.readtie 80 >=
*.readtie 80 *.tiecheck add <= and
*.trefnrg 0 = and
*.readtie .writpos store
*.writpos *.tiecheck =
*.writpos *.numties 1 add = and
*.numties .tiecheck store
dropbool
dropbool
80 *.inspect add * .readtie store
.inspect inc
*.inspect *.tiecheck >
0 .inspect store
stop


cond
*.tiepres *.suppotie !=
start
*.numties *.tiecheck >
*.numties .tiecheck store
*.numties .writpos store
dropbool
*.tiepres .suppotie store
*.tiepres 79 *.writpos add store
stop


' basic tie settings and switching between ties
cond
*.numties 0 >
start
50 .sharenrg store
80 *.robage *.numties mod add * .tienum store
500 .fixlen store
100 .stifftie store
*.robage 40 mod 0 =
'*.readtie .deltie store
stop

'a tieing gene
cond
*.numties 3 <
*.eyef 50 >
'*.refeye *.myeye =
start
*.numties 10 mult 9 rnd add .tie store
stop

'just a repro gene
cond
*.nrg 7000 >
start
200 .strbody store
50 .repro store
stop

' gene for movement activation fixing the bot that spots the food  for the contraction
cond
*.eyef 0 >
*.refeye *.myeye !=
*.scout 0 =
start
7 .scout store
1 .fixpos store
.scout .tieloc store
7 .tieval store
stop

'contraction
cond
*.scout 7 =
start
*.timer 10 mod 5 <
.scout inc
not
100 .fixlen store
.scout .tieloc store
7 .tieval store
dropbool
stop

'extension
cond
*.scout 8 =
start
800 .fixlen store
0 .fixpos store
*.timer 10 mod 9 =
0 .scout store
dropbool
stop

end

5
The Gene depository / Genes: Keeping track of ties
« on: November 01, 2008, 07:11:12 AM »
Ok I developed this genes for multibot purposes they store the number of the recently formed tie into a memory location starting from 80 up if a tie is deleted the code is supposed  to check old locations if no energy is read back trough the address(if there is no bot on the other side) and write to that spot when the next tie is formed.
So basically tieinformation is stored from 80 till 80 add *.numties.


Code: [Select]
def suppotie 76
def tiecheck 75
def writpos 74
def inspect 73

cond
*.tiecheck *.numties >
start
*.readtie 80 >=
*.readtie 80 *.tiecheck add <= and
*.trefnrg 0 = and
*.readtie .writpos store
dropbool
80 *.inspect add * .readtie store
.inspect inc
*.inspect *.tiecheck >
0 .inspect store
stop


cond
*.tiepres *.suppotie !=
start
*.numties *.tiecheck >
*.numties .tiecheck store
*.numties .writpos store
dropbool
*.tiepres .suppotie store
*.tiepres 79 *.writpos add store
stop

There is till some weakness I need to correct someday that is that its does not update tiecheck(sves supposed number of ties) when the tie deleted was the last formed.
Also I can not givea hundred percent guarantee that everything works , I only know that for my bot everything did.

6
F3 bots / Beholder(F3) (Welwordion) 28-10-08
« on: October 28, 2008, 12:52:18 PM »
Well this is Beholder with some fixes and changed to F3 (mention that just in case I posted a previous version somewhere in the Bestiary)
I hope its not bad that I took some shooting waste and reproduction genes from multiply to complete my moving, eye and targeting systems.

[div class=\'codetop\']CODE[div class=\'codemain\' style=\'height:200px;white-space:pre;overflow:auto\']
Code: [Select]
'initializing eye configuration

cond
*.robage 0 =
start
 420 .eye1dir store
 315 .eye2dir store
 210 .eye3dir store
 105 .eye4dir store
-105 .eye6dir store
-210 .eye7dir store
-315 .eye8dir store
-420 .eye9dir store

105 .eye1width store
105 .eye2width store
105 .eye3width store
105 .eye4width store
105 .eye5width store
105 .eye6width store
105 .eye7width store
105 .eye8width store
105 .eye9width store
stop



'setting friend "1" or foe "0" status


cond
*.refeye *.myeye =
start
1 *.focuseye 4 add 9 mod 61 add store
stop

'eye1 specific

cond
*.eye1 *51 10 !~=
*.eye1 *52 10 ~=
*62 1 = and
*.eye1 *59 10 ~=
*69 1 = and or
start
1 61 store
stop

cond
*.eye1 *51 10 !~=
*.eye1 *52 10 !~=
*.eye1 *59 10 !~=
start
0 61 store
stop

cond
*.eye1 0 =
start
0 61 store
stop

'eye2 specific

cond
*.eye2 *52 10 !~=
*.eye2 *53 10 ~=
*63 1 = and
*.eye2 *51 10 ~=
*61 1 = and or
start
1 62 store
stop

cond
*.eye2 *52 10 !~=
*.eye2 *53 10 !~=
*.eye2 *51 10 !~=
start
0 62 store
stop

cond
*.eye2 0 =
start
0 62 store
stop


'eye3 specific

cond
*.eye3 *53 10 !~=
*.eye3 *54 10 ~=
*64 1 = and
*.eye3 *52 10 ~=
*62 1 = and or
start
1 63 store
stop

cond
*.eye3 *53 10 !~=
*.eye3 *54 10 !~=
*.eye3 *52 10 !~=
start
0 63 store
stop

cond
*.eye3 0 =
start
0 63 store
stop

'eye4 specific

cond
*.eye4 *54 10 !~=
*.eye4 *55 10 ~=
*65 1 = and
*.eye4 *53 10 ~=
*63 1 = and or
start
1 64 store
stop

cond
*.eye4 *54 10 !~=
*.eye4 *55 10 !~=
*.eye4 *53 10 !~=
start
0 64 store
stop

cond
*.eye4 0 =
start
0 64 store
stop



'eye5 specific

cond
*.eye5 *55 10 !~=
*.eye5 *56 10 ~=
*66 1 = and
*.eye5 *54 10 ~=
*64 1 = and or
start
1 65 store
stop

cond
*.eye5 *55 10 !~=
*.eye5 *56 10 !~=
*.eye5 *54 10 !~=
start
0 65 store
stop

cond
*.eye5 0 =
start
0 65 store
stop

'eye6 specific

cond
*.eye6 *56 10 !~=
*.eye6 *57 10 ~=
*67 1 = and
*.eye6 *55 10 ~=
*65 1 = and or
start
1 66 store
stop

cond
*.eye6 *56 10 !~=
*.eye6 *57 10 !~=
*.eye6 *55 10 !~=
start
0 66 store
stop

cond
*.eye6 0 =
start
0 66 store
stop

'eye7 specific

cond
*.eye7 *57 10 !~=
*.eye7 *58 10 ~=
*68 1 = and
*.eye7 *56 10 ~=
*66 1 = and or
start
1 67 store
stop

cond
*.eye7 *57 10 !~=
*.eye7 *58 10 !~=
*.eye7 *56 10 !~=
start
0 67 store
stop

cond
*.eye7 0 =
start
0 67 store
stop

'eye8 specific

cond
*.eye8 *58 10 !~=
*.eye8 *59 10 ~=
*69 1 = and
*.eye8 *57 10 ~=
*67 1 = and or
start
1 68 store
stop

cond
*.eye8 *58 10 !~=
*.eye8 *59 10 !~=
*.eye8 *57 10 !~=
start
0 68 store
stop

cond
*.eye8 0 =
start
0 68 store
stop

'eye9 specific

cond
*.eye9 *59 10 !~=
*.eye9 *51 10 ~=
*61 1 = and
*.eye9 *58 10 ~=
*68 1 = and or
start
1 69 store
stop

cond
*.eye9 *59 10 !~=
*.eye9 *51 10 !~=
*.eye9 *58 10 !~=
start
0 69 store
stop

cond
*.eye9 0 =
start
0 69 store
stop

'the focuseye is set

cond
start
5 .focuseye *.eye1 sgn abs mult *61 1 sub abs mult store
6 .focuseye *.eye2 sgn abs mult *62 1 sub abs mult store
7 .focuseye *.eye3 sgn abs mult *63 1 sub abs mult store
8 .focuseye *.eye4 sgn abs mult *64 1 sub abs mult store
9 .focuseye *.eye5 sgn abs mult *65 1 sub abs mult store
1 .focuseye *.eye6 sgn abs mult *66 1 sub abs mult store
2 .focuseye *.eye7 sgn abs mult *67 1 sub abs mult store
3 .focuseye *.eye8 sgn abs mult *68 1 sub abs mult store
4 .focuseye *.eye9 sgn abs mult *69 1 sub abs mult store
stop


'the visual memory is stored

cond
start
*.eye1 51 store
*.eye2 52 store
*.eye3 53 store
*.eye4 54 store
*.eye5 55 store
*.eye6 56 store
*.eye7 57 store
*.eye8 58 store
*.eye9 59 store
stop

'set and fire

cond
*.refeye *.myeye !=
start
'*.focuseye 9 mod 140 mult
'70 500 *.focuseye 4 add 9 mod add * *.eyef sub abs sgn 1 sub abs mult 'sub
'70 500 *.focuseye 6 add 9 mod add * *.eyef sub abs sgn 1 sub abs mult 'add
'1256 add 1256 mod
*.refxpos *.refypos angle -1 mult *.aim add
.aimshoot store
stop

cond
500 *.focuseye 4 add 9 mod add * *.eyef =
500 *.focuseye 6 add 9 mod add * *.eyef = and not
*.eyef 0 = or
start
1 .aimdx store
stop

cond
500 *.focuseye 4 add 9 mod add * *.eyef =
500 *.focuseye 6 add 9 mod add * *.eyef = or
*.refeye *.myeye !=
start
7 .aimsx store
stop


'movement

cond
*.eyef 70 <
*.refeye *.myeye !=
start
'*.focuseye 9 mod 140 mult
'70 500 *.focuseye 4 add 9 mod add * *.eyef sub abs sgn 1 sub abs mult 'add
'70 500 *.focuseye 6 add 9 mod add * *.eyef sub abs sgn 1 sub abs mult 'sub
*.refxpos *.refypos angle -1 mult *.aim add
stop


'Flee from attack(multiply gene)

'25
cond
*.nrg 250 <
*.pain 50 > and
start
250 add
stop


cond
*.eyef 70 <
*.refeye *.myeye !=
start
1256 add 1256 mod

dup dup dup dup dup 314 ceil swapint
314 floor 942 ceil 314 sub sub swapint
942 floor 942 sub add 2 div
dup  0 swapint 3 pow 600 div 100 div sub add
2 div *.veldx sub .dx store


628 ceil -1 mult 314 add swapint
628 floor 628 sub add 2 div
dup 0 swapint 3 pow 600 div 100 div sub add
2 div *.velup sub .up store

stop

'swarm behavior

cond
start
5 *.eye1 25 sub sgn 1 sub 2 div abs mult *51 mult
6 *.eye2 25 sub sgn 1 sub 2 div abs mult *52 mult
7 *.eye3 25 sub sgn 1 sub 2 div abs mult *53 mult
8 *.eye4 25 sub sgn 1 sub 2 div abs mult *54 mult
9 *.eye5 25 sub sgn 1 sub 2 div abs mult *55 mult
1 *.eye6 25 sub sgn 1 sub 2 div abs mult *56 mult
2 *.eye7 25 sub sgn 1 sub 2 div abs mult *57 mult
3 *.eye8 25 sub sgn 1 sub 2 div abs mult *58 mult
4 *.eye9 25 sub sgn 1 sub 2 div abs mult *59 mult
*51 *52 add *53 add *54 add *55 add *56 add *57 add
*58 add *59 add div
9 mod 140 mult

1256 add 1256 mod

dup dup dup dup dup 314 ceil swapint
314 floor 942 ceil 314 sub sub swapint
942 floor 942 sub add 2 div
dup  0 swapint 3 pow 600 div 100 div sub add
5 div *.dx add .dx store


628 ceil -1 mult 314 add swapint
628 floor 628 sub add 2 div
dup 0 swapint 3 pow 600 div 100 div sub add
5 div *.up add .up store

stop



'From multiply
'______________________


cond
*.shflav 0 !=
*.refpoison *.refshell <
start
*.shang .aimshoot store
32 .shootval store
-1 .shoot store
0 .shflav store
stop


cond
*.shflav 0 !=
*.refpoison *.refshell >
start
*.shang .aimshoot store
32 .shootval store
-6 .shoot store
0 .shflav store
stop


cond
*.eyef 25 >
*.refeye *.myeye !=
*.refshoot *.myshoot !=
*.refpoison *.refshell =>
and
and
and
start
16 .shootval store
-6 .shoot store
stop

cond
*.eyef 25 >
*.refeye *.myeye !=
*.refpoison *.refshell <
start
16 .shootval store
-1 .shoot store
stop

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

cond
*.nrg 5000 >
start
50 .repro store
100 .strbody store
stop

cond
*.nrg 4000 >
*.body 500 <
start
100 .strbody store
stop

cond
*.nrg 100 <
start
100 .fdbody store
stop


end

7
Bot Tavern / Why is my .eye9 behaving different?
« on: October 26, 2008, 06:37:52 PM »
Ok do not know if any of you remember my Beholder eye system , when I recycled it for some new bot I was making I came upon an irregularity, you see this eyesytem stores 1 in 61-69 for
eye1 - eye9  if the eye belonging to the number has a friend in there, however if the bot is only in eye9 for some reason he does not do that(although he sees something trough that eye (cause I let them store previous eyevalues in 51-59 I know that). So whats up with that? I already looked into several places in the code and can not find any mistake.

Below the code

Code: [Select]
cond
*.robage 9 <
start
105 .eye1width *.robage 9 mod add store
stop

cond
true
start
 420 *.aim sub 1256 mod .eye1dir store
 315 *.aim sub 1256 mod .eye2dir store
 210 *.aim sub 1256 mod .eye3dir store
 105 *.aim sub 1256 mod .eye4dir store
   0 *.aim sub 1256 mod .eye5dir store
-105 *.aim sub 1256 mod .eye6dir store
-210 *.aim sub 1256 mod .eye7dir store
-315 *.aim sub 1256 mod .eye8dir store
-420 *.aim sub 1256 mod .eye9dir store
stop


'setting friend "1" or foe "0" status


cond
*.refeye *.myeye =
start
1 *.focuseye 5 add 9 mod 60 add store
stop

'eye1 specific

cond
*.eye1 *51 5 !~=
*.eye1 *52 5 ~=
*62 1 = and
*.eye1 *59 5 ~=
*69 1 = and or
start
1 61 store
stop

cond
*.eye1 *51 5 !~=
*.eye1 *52 5 !~=
*.eye1 *59 5 !~=
start
0 61 store
stop

cond
*.eye1 0 =
start
0 61 store
stop

'eye2 specific

cond
*.eye2 *52 5 !~=
*.eye2 *53 5 ~=
*63 1 = and
*.eye2 *51 5 ~=
*61 1 = and or
start
1 62 store
stop

cond
*.eye2 *52 5 !~=
*.eye2 *53 5 !~=
*.eye2 *51 5 !~=
start
0 62 store
stop

cond
*.eye2 0 =
start
0 62 store
stop


'eye3 specific

cond
*.eye3 *53 5 !~=
*.eye3 *54 5 ~=
*64 1 = and
*.eye3 *52 5 ~=
*62 1 = and or
start
1 63 store
stop

cond
*.eye3 *53 5 !~=
*.eye3 *54 5 !~=
*.eye3 *52 5 !~=
start
0 63 store
stop

cond
*.eye3 0 =
start
0 63 store
stop

'eye4 specific

cond
*.eye4 *54 5 !~=
*.eye4 *55 5 ~=
*65 1 = and
*.eye4 *53 5 ~=
*63 1 = and or
start
1 64 store
stop

cond
*.eye4 *54 5 !~=
*.eye4 *55 5 !~=
*.eye4 *53 5 !~=
start
0 64 store
stop

cond
*.eye4 0 =
start
0 64 store
stop



'eye5 specific

cond
*.eye5 *55 5 !~=
*.eye5 *56 5 ~=
*66 1 = and
*.eye5 *54 5 ~=
*64 1 = and or
start
1 65 store
stop

cond
*.eye5 *55 5 !~=
*.eye5 *56 5 !~=
*.eye5 *54 5 !~=
start
0 65 store
stop

cond
*.eye5 0 =
start
0 65 store
stop

'eye6 specific

cond
*.eye6 *56 5 !~=
*.eye6 *57 5 ~=
*67 1 = and
*.eye6 *55 5 ~=
*65 1 = and or
start
1 66 store
stop

cond
*.eye6 *56 5 !~=
*.eye6 *57 5 !~=
*.eye6 *55 5 !~=
start
0 66 store
stop

cond
*.eye6 0 =
start
0 66 store
stop

'eye7 specific

cond
*.eye7 *57 5 !~=
*.eye7 *58 5 ~=
*68 1 = and
*.eye7 *56 5 ~=
*66 1 = and or
start
1 67 store
stop

cond
*.eye7 *57 5 !~=
*.eye7 *58 5 !~=
*.eye7 *56 5 !~=
start
0 67 store
stop

cond
*.eye7 0 =
start
0 67 store
stop

'eye8 specific

cond
*.eye8 *58 5 !~=
*.eye8 *59 5 ~=
*69 1 = and
*.eye8 *57 5 ~=
*67 1 = and or
start
1 68 store
stop

cond
*.eye8 *58 5 !~=
*.eye8 *59 5 !~=
*.eye8 *57 5 !~=
start
0 68 store
stop

cond
*.eye8 0 =
start
0 68 store
stop

'eye9 specific

cond
*.eye9 *59 5 !~=
*.eye9 *51 5 ~=
*61 1 = and
*.eye9 *58 5 ~=
*68 1 = and or
start
1 69 store
stop

cond
*.eye9 *59 5 !~=
*.eye9 *51 5 !~=
*.eye9 *58 5 !~=
start
0 69 store
stop

cond
*.eye9 0 =
start
0 69 store
stop

'the focuseye is set

cond
*.drafted 7 !=
start
5 .focuseye *.eye1 sgn abs mult *61 1 sub abs mult store
6 .focuseye *.eye2 sgn abs mult *62 1 sub abs mult store
7 .focuseye *.eye3 sgn abs mult *63 1 sub abs mult store
8 .focuseye *.eye4 sgn abs mult *64 1 sub abs mult store
9 .focuseye *.eye5 sgn abs mult *65 1 sub abs mult store
1 .focuseye *.eye6 sgn abs mult *66 1 sub abs mult store
2 .focuseye *.eye7 sgn abs mult *67 1 sub abs mult store
3 .focuseye *.eye8 sgn abs mult *68 1 sub abs mult store
4 .focuseye *.eye9 sgn abs mult *69 1 sub abs mult store
stop

cond
*.drafted 7 =
*.robage 40 mod 39 = or
start
5 .focuseye *.eye1 sgn abs mult *61 mult store
6 .focuseye *.eye2 sgn abs mult *62 mult store
7 .focuseye *.eye3 sgn abs mult *63 mult store
8 .focuseye *.eye4 sgn abs mult *64 mult store
9 .focuseye *.eye5 sgn abs mult *65 mult store
1 .focuseye *.eye6 sgn abs mult *66 mult store
2 .focuseye *.eye7 sgn abs mult *67 mult store
3 .focuseye *.eye8 sgn abs mult *68 mult store
4 .focuseye *.eye9 sgn abs mult *69 mult store
stop

'the visual memory is stored

cond
start
*.eye1 51 store
*.eye2 52 store
*.eye3 53 store
*.eye4 54 store
*.eye5 55 store
*.eye6 56 store
*.eye7 57 store
*.eye8 58 store
*.eye9 59 store
stop

end

Found the solution myself: 1 *.focuseye 5 add 9 mod 60 add store   has to be 1 *.focuseye 4 add 9 mod 61 add store

8
Bug reports / Darwinbots crashing with certain bot OPEN
« on: October 02, 2008, 08:26:35 AM »
Ok I made a new bot to evolve, nothing complicated I tried to run him and after some time always a crash occurs I will attach the bot and the sim I run.

9
DNA - General / Top bots who are still build truely modular?
« on: December 16, 2007, 07:09:19 PM »
Personally I tend to focus on  certain aspects of bots I try to realize, improve or test and have not much interest in other parts (for example I never did much work considering the control of shoottype and strenght).

However I have certain problem to test this cause there seems to be few bots around that are goodly  documented or neatly seperated turning, movement, feeding genes, repro genes etc and such where I could just replace the old genes with the genes I thought up and then let the bots compete with each other.
So as I have not much interest in building all those fighting gimmicks myself, my bots never ever get into bestiary or competition with other bots.

The result is that genes/ideas that might be a potential improvement or an interesting addition to the current ones are never seen by anyone but the creator and can not be tested reliable.
(For example I would like to attach my beholder movement and aiming system onto multiply's metabolism and shooting regulation system to see which one survive)

Originally the gene depository was supposed to be something like that search the genes together you need add your own genes and test it out but see what became of its seem you can not find one normal shoot feeding gene in there.(atleast I could not)

10
The Gene depository / Moving without Turning
« on: December 13, 2007, 09:59:06 AM »
This gene enables you to  move towards an object without rotating, combine this with an .aimshoot gene and you can actually face in any direction to do other stuff like tieing or repro.

For test reasons you can use:
1221 .eye5width store *.refxpos *.refypos angle -1 mult *.aim add
In the place where  'Insert angle here * is written.
Remember this gene worls only in fields smaller than 32000
(refvar can not store numbers greater than that)


cond
start
'Insert angle here *
1256 add 1256 mod

dup dup dup dup dup 314 ceil swapint
314 floor 942 ceil 314 sub sub swapint
942 floor 942 sub add 2 div *.veldx sub .dx store


628 ceil -1 mult 314 add swapint
628 floor 628 sub add 2 div *.velup sub .up store
stop


Note1: originally I wanted to make sine and cosine curves and this was only part of the formula, but the result was terrible compared to the zigzag functions this gene uses.

Note2: I developed this gene for my Beholder project and I use
*.focuseye 9 mod 140 mult
70 500 *.focuseye 4 add 9 mod add * *.eyef sub abs sgn 1 sub abs mult add
70 500 *.focuseye 6 add 9 mod add * *.eyef sub abs sgn 1 sub abs mult sub
in the insert place, which with my eye geometry works even in fields larger then 3200
compared to the refeye formulas

11
Bugs and fixes / .mrepro description wrong? RESOLVED (2.43y)
« on: December 08, 2007, 10:49:10 AM »
Wiki:
Mutational Reproduction

Virtually identical to normal reproduction is .mrepro, the primary difference is that mutation rates are 10 times the normal values. This reproduction method will cause mutations even if all mutation settings are disabled.


Me:
I disabled the mutations of my bot and run it with .mrepro no mutations whatsoever. The idea was to run a zerobot which however has a virus (with 10 store commands beside its own code), which deletes itself before reproduction  in order to keep its DNA clean.
Use attached bot to test.

12
Bot Tavern / Need a shepherd! league bots behave dumb?
« on: December 07, 2007, 08:33:45 PM »
I wanted to use some  of the F2 league bots as shepherds for an evo sim, but all bots I tested ended up rotating around and not killing enough, some even starved to death by shooting constantly or did miss with their shooting even though the other bot did not move.
So whats up with aura excalibur etc? And anyone has a functioning shepherdbot  for 2.43u?

13
Bugs and fixes / Numeration of eyef RESOLVED (BY DESIGN)
« on: December 06, 2007, 05:50:47 PM »
Ok there something seriously wrong with the numeration of .eyef when eye5 is the focus it returns different values, oh and why the heck are the numbers you have to store in focuseye all shifted 4 upwards(eye5 is 9 in focuseye)

used:


cond
*.refeye *.myeye =
*.eye5 0 >
start
1 *.eyef 61 add store
stop

end



and got multiple 1 in values even above 70

14
Bugs and fixes / 2.43u delgene defect? RESOLVED 2.43w
« on: December 06, 2007, 11:09:23 AM »
I tried to make a gene that deletes itself after initializating some values for the first gneration, I placed it at the end of the genome but neither *.thisgene,*.genes, nor 8 .delgene deleted the gene always the previous gene number seven got deleted instead.

15
DNA - General / 360 degree, 9 eye vision, focuseye change plz check
« on: December 04, 2007, 02:32:54 PM »
Ok like the topic says the following are genes fora 360 degree vision seperated into 9 eyes I tried to build a
system that only changes the focuseye if a new possible hostile signal appears in one of its eyes, ignoring signals that are already friendly plz check if everything is correct:

nothing wild only the vision field:

'initializing eye configuration

Code: [Select]
cond
*.robage 0 =
start
 420 .eye1dir store
 315 .eye2dir store
 210 .eye3dir store
 105 .eye4dir store
-105 .eye6dir store
-210 .eye7dir store
-315 .eye8dir store
-420 .eye9dir store

105 .eye1width store
105 .eye2width store
105 .eye3width store
105 .eye4width store
105 .eye5width store
105 .eye6width store
105 .eye7width store
105 .eye8width store
105 .eye9width store
stop

Now this is a little more complicated, 51-59 are used to store the previous sensations of the *.eyeX's
61-69 store 1 for friend and 0 for enemy or unknown:

Code: [Select]
'setting friend "1" or foe "0" status


'if I see my own kind mark the current eye as friend
cond
*.refeye *.myeye =
start
1 *.eyef 60 add store
stop

'eye1 specific

'if there is  a change larger than 5% but  the signal fits within 5% to a friendly neighboor signal(comes from 'the side) this eye field becomes marked as friendly.
cond
*.eye1 *51 5 !~=
*.eye1 *52 5 ~=
*62 1 = and
*.eye1 *59 5 ~=
*69 1 = and or
start
1 61 store
stop

'if there is  a change larger than 5% and the signal comes not from the neighboorhood this field gets
'marked as hostile or unknown
cond
*.eye1 *51 5 !~=
*.eye1 *52 5 !~=
*.eye1 *59 5 !~=
start
0 61 store
stop

'if an eye is empty its marked  as hostile or unknown
cond
*.eye1 0 =
start
0 61 store
stop

.... and so on for all 9 eyes


The .focuseye is set to a non empty hostile eyefield:

Code: [Select]
cond
start
1 .focuseye *.eye1 sgn abs mult *61 1 sub abs mult store
2 .focuseye *.eye2 sgn abs mult *62 1 sub abs mult store
3 .focuseye *.eye3 sgn abs mult *63 1 sub abs mult store
4 .focuseye *.eye4 sgn abs mult *64 1 sub abs mult store
5 .focuseye *.eye5 sgn abs mult *65 1 sub abs mult store
6 .focuseye *.eye6 sgn abs mult *66 1 sub abs mult store
7 .focuseye *.eye7 sgn abs mult *67 1 sub abs mult store
8 .focuseye *.eye8 sgn abs mult *68 1 sub abs mult store
9 .focuseye *.eye9 sgn abs mult *69 1 sub abs mult store
stop

the new eye values are saved:

Code: [Select]
cond
start
*.eye1 51 store
*.eye2 52 store
*.eye3 53 store
*.eye4 54 store
*.eye5 55 store
*.eye6 56 store
*.eye7 57 store
*.eye8 58 store
*.eye9 59 store

attached is a test version with simple aimshoot and fire every 20 cycle genes

Pages: [1] 2 3 ... 5