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

Pages: [1] 2
1
Evolution and Internet Sharing Sims / Simulation
« on: October 14, 2007, 05:32:33 AM »
1st Simulation

My plan with this simulation is to explore how Vbody and Vrepro change over time. The sim was run using the following bot H 0.1 (5) and alga minimalis (10) under F1 conditions. As far as I know memory locations in bots cant be saved so I recorded the data by hand so to speak. I chose 5 bots, the 1 nearest each corner and the 1 nearest the center to make sure the sample was always random and then averaged the values. The data and graphs can be seen in sim1, but before you go looking at them, I want you to think about what you expect will happen to the values. Both Vbody and Vrepro start at  100 with the 1st bots, Vrepro and Vbody both determine the conditions under which the bot reproduces, Vbody also determines how big the bot becomes. So will the values remain low so that the bots can reproduce quickly or increase to improve feading? and is there an ideal value?

Code: [Select]
H 0.1
def Vbody 800
def Vrepro 801

cond
*.robage 1 =
start
1221 .eye5width store
*.in1 100 sub 200 rnd add 100 floor 10000 ceil .out1 store
*.in2 100 sub 200 rnd add 100 floor 10000 ceil .out2 store
stop

cond
*.eye5 0 >
*.myeye *.refeye !=
start
*.refxpos *.refypos angle .setaim store
-6 .shoot store
*.refveldx .dx store
*.refvelup 10 add .up store
stop

cond
*.eye5 0 =
*.myeye *.refeye = or
start
10 .up store
stop

cond
*.nrg *.body >
*.body *.Vbody <
start
*.Vbody *.body sub .strbody store
stop

cond
  *.nrg *.Vrepro >
  *.body *.Vbody >
start
  50 .repro store
stop

2nd simulation

For the 2nd simulation I wanted to see what would happen if I upped the pressure on the H 0.1 bots. To do so I used the following modified version of alga minimalis, to increase the difficulty in getting food.
Code: [Select]
cond
  *.nrg 6000 >
start
  50 .repro store
  15 .aimdx store
stop

cond
  *.shflav 0 !=
  *.robage 5 mod 3 =
start
  -6 .shoot store
  *.shang .aimshoot store
  0 .shflav store
stop
end

3rd + 4th Simulation

For the 3rd simulation, I upped the pressure further by using
Code: [Select]
cond
  *.nrg 6000 >
start
  50 .repro store
  15 .aimdx store
stop

cond
*.shflav 0 !=
*.robage 4 mod 2 =
start
-6 .shoot store
*.shang .aimshoot store
0 .shflav store
stop
end

unfortunately the H 0.1 bots didn't survive, so I upped the number of starting bots from 5 to 6 for simulation 4

2
F2 bots / Excalibur 1.12 (F2)(Light)-06.03.07
« on: March 07, 2007, 08:51:18 AM »
Code: [Select]
'Excalibur 1.12
'designed for db 2.43
'by Light
'06/03/07

def count 950
def spin 951
def count1 952

cond
*.memval 1904 !=
*.eye1 *.eye9 !=
*.eye1 *.eye5 >
*.eye9 *.eye5 > or
start
*.eye1 *.eye9 sub sgn 139 mult .aimsx store
stop

cond
*.memval 1904 !=
*.eye2 *.eye8 !=
*.eye2 *.eye5 >
*.eye8 *.eye5 > or
start
*.eye2 *.eye8 sub sgn 104 mult .aimsx store
stop

cond
*.memval 1904 !=
*.eye7 *.eye3 !=
*.eye3 *.eye5 >
*.eye7 *.eye5 > or
start
*.eye3 *.eye7 sub sgn 70 mult .aimsx store
stop

cond
*.memval 1904 !=
*.eye6 *.eye4 !=
*.eye4 *.eye5 >
*.eye6 *.eye5 > or
start
*.eye4 *.eye6 sub sgn 35 mult .aimsx store
stop

cond
*.memval 1904 !=
*.eye5 0 >
*.robage 1 >
start
*.refxpos *.refypos angle .setaim store
stop

cond
*.spin 30 =
start
0 .spin store
stop

cond
*.eye5 50 <
*.eye5 0 > and
*.memval 1904 != and
*.spin 20 >= or
start
*.refvelup 20 add .up store
*.refveldx .dx store
.spin inc
stop

cond
*.eye5 50 >
*.memval 1904 !=
start
*.refvelup .up store
*.refveldx .dx store
stop

cond
*.eye9 0 =
*.eye8 0 =
*.eye7 0 =
*.eye6 0 =
*.eye5 0 =
*.eye4 0 =
*.eye3 0 =
*.eye2 0 =
*.eye1 0 =
*.spin 20 <
start
300 .aimsx store
.spin inc
stop

cond
*.memval 1904 =
*.robage 2 >
*.spin 20 <
start
200 .aimsx store
.spin inc
stop

'****************
'* Reproduction *
'****************

cond
*50 1 =
start
628 .aimsx store
0 50 store
stop

cond
*.nrg 1000 >
*.body 500 >
*.eye5 50 <
start
628 .aimsx store
51 .repro store
1 50 store
stop

cond
*.robage 0 =
start
955 4 rnd add .memloc store
1904 955 store
1904 956 store
1904 957 store
1904 958 store
1904 959 store
1 .tie store
0 .out1 store
0 .aimsx store
.shoot .vloc store
.shoot .ploc store
100 .mkshell store
100 .strpoison store
stop

cond
*.robage 1 =
start
1 .deltie store
314 .aimsx store
stop

'********
'* Body *
'********

cond
*.body 20 >
*.nrg 500 <
start
100 .fdbody store
stop

cond
*.nrg 1000 >
*.robage 2 >
start
100 .strbody store
stop

'****************
'* Adaptive Armour *
'****************
'1 poison
'2 shell
'3 Poison + Shell

cond
*.in1 *.out1 !=
*.in1 0 !=
*.out1 3 <
*.memval 1904 =
start
*.in1 .out1 store
stop

cond
*.shflav -1 =
*.shflav 0 > or
*.out1 2 <
start
1 .out1 store
stop

cond
*.shflav -1 =
*.shflav 0 > or
*.out1 2 =
start
3 .out1 store
stop

cond
*.shflav -6 =
*.shflav -3 = or
*.out1 0 <
start
2 .out1 store
stop

cond
*.shflav -6 =
*.shflav -3 = or
*.out1 1 =
start
3 .out1 store
stop

cond
*.nrg 500 >
*.poison 500 <
*.out1 1 =
*.out1 3 = or
start
100 .strpoison store
stop

cond
*.nrg 500 >
*.shell 450 <
*.out1 1 >
start
500 *.shell sub .mkshell store
stop

cond
*.numties 0 >
*.robage 10 >
start
*.tiepres .tienum store
.tieval .tieloc store
3000 .tieval store
*.tiepres .deltie store
*.tieval 3000 div .tieloc store
.sharewaste inc
stop

'************
'* Shooting *
'************

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

cond
*.memval 1904 !=
*.eye5 5 >
*.refnrg 1500 <
*.refshell 50 > or
*.refpoison 0 = or
start
*.refxpos *.refypos dist 100 div -1 mult .shootval store
-1 .shoot store
stop

cond
*.memval 1904 !=
*.eye5 5 >
*.robage 1 >
start
' *.refxpos *.refypos dist 100 div -1 mult *.refxpos *.refypos dist 500 div sub .shootval store
*.refxpos *.refypos dist 100 div -1 mult .shootval store
-6 .shoot store
stop

cond
*.venom 100 <
start
100 *.venom sub 0 floor 100 ceil .strvenom store
stop

cond
*.count 0 >
start
.count dec
stop

cond
*.memval 1904 !=
*.eye5 20 >
' *.refpoison 0 =
*.count 0 =
*.refeye 0 >
start
.shoot .vloc store
-3 .shoot store
-2 .venval store
50 .shootval store
5 .count store
stop

cond
*.memval 1904 !=
*.eye5 20 >
*.count 0 =
*.refeye 0 >
*.refshell 5 >
start
.mkshell .vloc store
-3 .shoot store
-200 .venval store
50 .shootval store
0 .count store
stop

cond
*.genes 33 !=
*.sexrepro 0 != or
*.mrepro 0 != or
start
0 .repro store
0 .sexrepro store
0 .mrepro store
stop

cond
*.delgene 0 !=
*.shoot -2 = or
start
0 .delgene store
0 .shoot store
stop
end

4
Suggestions / League Settings
« on: December 04, 2006, 06:57:55 PM »
Jez's high level of work recently (and persistant nagging about leagues not working  ) has inspired me to try and work through all the settings. It would be good to have a few days for any discussion before setting them in stone.

Settings for Leagues

Species
   Number of individuals = 5
   Starting energy    = 3000
   Mutations       = All Disabled

General
Width Control
Field size      = 1 (9237 X 6928)
Random Numbers
Enable user seed   = No
Wrap Around
Toroidal      = Yes
Top/down wrap   = Yes
Left/right wrap   = Yes
   Waste
      Threshold = 0 / very big (whatever disables it)
   Misc Controls
      Disable Ties       = No
      Nrg shots no decay   = No
      Fix bot radii      = No
   Corpse Mode  
      Enable         = No
   Population Control
      Pond mode      = No
      Maximum number of veggies      = 25
      Repopulation threshold      = 10
      Veggies per repopulation event   = 10
      Repopulation cooldown period   = 1
      Veggy Energy            = 40 - Veggy per cycle
      Energy Management         = No
      Veg body/Nrg distribution      = 50

Physics and Costs
Big Blue Screen Acts Like = Solid - Metal
Movement Efficiency = Biological
Brownian Movement   = Animal
Vertical Gravity   = None
Max Velocity      = 180 (Fast)
Collision      = 1 (Marbles)
Costs                              = F1 Default
Energy Exchanged on Hit = Proportional – 100%

5
F2 bots / Excalibur 1.11 (F2)(Light)-30/10/06
« on: December 03, 2006, 08:26:46 AM »
Code: [Select]
'Added "0 .aimsx store" to gene 13

'Excalibur 1.11
'designed for db 2.42.9
'by Light
'30/10/06

def count 950
def spin 951
def count1 952

cond
*.refaimsx *.myaimsx !=
*.eye1 *.eye9 !=
*.eye1 *.eye5 >
*.eye9 *.eye5 > or
start
*.eye1 *.eye9 sub sgn 139 mult .aimsx store
stop

cond
*.refaimsx *.myaimsx !=
*.eye2 *.eye8 !=
*.eye2 *.eye5 >
*.eye8 *.eye5 > or
start
*.eye2 *.eye8 sub sgn 104 mult .aimsx store
stop

cond
*.refaimsx *.myaimsx !=
*.eye7 *.eye3 !=
*.eye3 *.eye5 >
*.eye7 *.eye5 > or
start
*.eye3 *.eye7 sub sgn 70 mult .aimsx store
stop

cond
*.refaimsx *.myaimsx !=
*.eye6 *.eye4 !=
*.eye4 *.eye5 >
*.eye6 *.eye5 > or
start
*.eye4 *.eye6 sub sgn 35 mult .aimsx store
stop

cond
*.refaimsx *.myaimsx !=
*.eye5 0 >
*.robage 1 >
start
*.refxpos *.refypos angle .setaim store
stop

cond
*.spin 30 =
start
0 .spin store
stop

cond
*.eye5 50 <
*.eye5 0 > and
*.refaimsx *.myaimsx != and
*.spin 20 >= or
start
*.refvelup 20 add .up store
*.refveldx .dx store
.spin inc
stop

cond
*.eye5 50 >
*.refaimsx *.myaimsx !=
start
*.refvelup .up store
*.refveldx .dx store
stop

cond
*.eye9 0 =
*.eye8 0 =
*.eye7 0 =
*.eye6 0 =
*.eye5 0 =
*.eye4 0 =
*.eye3 0 =
*.eye2 0 =
*.eye1 0 =
*.spin 20 <
start
300 .aimsx store
.spin inc
stop

cond
*.refaimsx *.myaimsx =
*.robage 2 >
*.spin 20 <
start
200 .aimsx store
.spin inc
stop

'****************
'* Reproduction *
'****************

cond
*50 1 =
start
628 .aimsx store
0 50 store
stop

cond
*.nrg 1000 >
*.body 500 >
*.eye5 50 <
start
628 .aimsx store
51 .repro store
1 50 store
stop

cond
*.robage 0 =
start
1 .tie store
0 .out1 store
0 .aimsx store
.shoot .vloc store
.shoot .ploc store
100 .mkshell store
100 .strpoison store
stop

cond
*.robage 1 =
start
1 .deltie store
314 .aimsx store
stop

'********
'* Body *
'********

cond
*.body 20 >
*.nrg 500 <
start
100 .fdbody store
stop

cond
*.nrg 1000 >
*.robage 2 >
start
100 .strbody store
stop

'****************
'* Adaptive Armour *
'****************
'1 poison
'2 shell
'3 Poison + Shell

cond
*.in1 *.out1 !=
*.in1 0 !=
*.out1 3 <
*.myeye *.refeye =
start
*.in1 .out1 store
stop

cond
*.shflav -1 =
*.shflav 0 > or
*.out1 2 <
start
1 .out1 store
stop

cond
*.shflav -1 =
*.shflav 0 > or
*.out1 2 =
start
3 .out1 store
stop

cond
*.shflav -6 =
*.shflav -3 = or
*.out1 0 <
start
2 .out1 store
stop

cond
*.shflav -6 =
*.shflav -3 = or
*.out1 1 =
start
3 .out1 store
stop

cond
*.nrg 500 >
*.poison 500 <
*.out1 1 =
*.out1 3 = or
start
100 .strpoison store
stop

cond
*.nrg 500 >
*.shell 450 <
*.out1 1 >
start
500 *.shell sub .mkshell store
stop

cond
*.numties 0 >
*.robage 10 >
start
*.tiepres .tienum store
.tieval .tieloc store
3000 .tieval store
*.tiepres .deltie store
*.tieval 3000 div .tieloc store
.sharewaste inc
stop

'************
'* Shooting *
'************

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

cond
*.refaimsx *.myaimsx !=
*.eye5 5 >
*.refnrg 1500 <
*.refshell 50 > or
*.refpoison 0 = or
start
*.refxpos *.refypos dist 100 div -1 mult .shootval store
-1 .shoot store
stop

cond
*.refaimsx *.myaimsx !=
*.eye5 5 >
*.robage 1 >
start
' *.refxpos *.refypos dist 100 div -1 mult *.refxpos *.refypos dist 500 div sub .shootval store
*.refxpos *.refypos dist 100 div -1 mult .shootval store
-6 .shoot store
stop

cond
*.venom 100 <
start
100 *.venom sub 0 floor 100 ceil .strvenom store
stop

cond
*.count 0 >
start
.count dec
stop

cond
*.refaimsx *.myaimsx !=
*.eye5 20 >
' *.refpoison 0 =
*.count 0 =
*.refeye 0 >
start
.shoot .vloc store
-3 .shoot store
-2 .venval store
50 .shootval store
5 .count store
stop

cond
*.refaimsx *.myaimsx !=
*.eye5 20 >
*.count 0 =
*.refeye 0 >
*.refshell 5 >
start
.mkshell .vloc store
-3 .shoot store
-200 .venval store
50 .shootval store
0 .count store
stop

cond
*.genes 33 !=
*.sexrepro 0 != or
*.mrepro 0 != or
start
0 .repro store
0 .sexrepro store
0 .mrepro store
stop

cond
*.delgene 0 !=
*.shoot -2 = or
start
0 .delgene store
0 .shoot store
stop
end

6
DNA - General / speed of shots
« on: May 09, 2006, 02:10:46 PM »
I was just wondering at what speed shots travel and is it the same as viruses?

7
Multi-Bots / Updated league
« on: May 06, 2006, 10:45:25 AM »
Well it had been a year since the last update to the league and with the emergance of some new bots and a bit of spare of time, it has been updated with the following new entries Hed Wig, Symboticus (cant help feeling that these 2 bots could have gone much further if it wasn't for Vermis Ettinus), Octapus and Botumor , appologies if I missed any other bots, if you want a bot added to the league post below.

8
F2 bots / Excalibur 1.1 (F2)(Light)-25.01.06
« on: January 25, 2006, 01:14:24 PM »
Modified the targeting genes
Fixed shell and poison, didn't seem to think venom is a threat

Code: [Select]
'Excalibur 1.1
'designed for db 2.37.6
'by Light
'25/01/06

def count 950
def spin 951
def count1 952

cond
  *.refaimsx *.myaimsx !=
  *.eye1 *.eye9 !=
  *.eye1 *.eye5 >
  *.eye9 *.eye5 > or
start
  *.eye1 *.eye9 sub sgn 139 mult .aimsx store
stop

cond
  *.refaimsx *.myaimsx !=
  *.eye2 *.eye8 !=
  *.eye2 *.eye5 >
  *.eye8 *.eye5 > or
start
  *.eye2 *.eye8 sub sgn 104 mult .aimsx store
stop

cond
  *.refaimsx *.myaimsx !=
  *.eye7 *.eye3 !=
  *.eye3 *.eye5 >
  *.eye7 *.eye5 > or
start
  *.eye3 *.eye7 sub sgn 70 mult .aimsx store
stop

cond
  *.refaimsx *.myaimsx !=
  *.eye6 *.eye4 !=
  *.eye4 *.eye5 >
  *.eye6 *.eye5 > or
start
  *.eye4 *.eye6 sub sgn 35 mult .aimsx store
stop

cond
  *.refaimsx *.myaimsx !=
  *.eye5 0 >
  *.robage 1 >
start
  *.refxpos *.refypos angle .setaim store
stop

cond
  *.spin 30 =
start
  0 .spin store
stop

cond
  *.eye5 50 <
  *.eye5 0 > and
  *.refaimsx *.myaimsx != and
  *.spin 20 >= or
start
  *.refvelup 20 add .up store
  *.refveldx .dx store
  .spin inc
stop

cond
  *.eye5 50 >
  *.refaimsx *.myaimsx !=
start
  *.refvelup .up store
  *.refveldx .dx store
stop

cond
  *.eye9 0 =
  *.eye8 0 =
  *.eye7 0 =
  *.eye6 0 =
  *.eye5 0 =
  *.eye4 0 =
  *.eye3 0 =
  *.eye2 0 =
  *.eye1 0 =
  *.spin 20 <
start
  300 .aimsx store
  .spin inc
stop

cond
  *.refaimsx *.myaimsx =
  *.robage 2 >
  *.spin 20 <
start
  200 .aimsx store
  .spin inc
stop

'****************
'* Reproduction *
'****************

cond
  *50 1 =
start
  628 .aimsx store
  0 50 store
stop

cond
  *.nrg 1000 >
  *.body 500 >
  *.eye5 50 <
start
  628 .aimsx store
  51 .repro store
  1 50 store
stop

cond
  *.robage 0 =
start
  1 .tie store
  0 .out1 store
  .shoot .vloc store
  .shoot .ploc store
  100 .mkshell store
  100 .strpoison store
stop

cond
  *.robage 1 =
start
  1 .deltie store
  314 .aimsx store
stop

'********
'* Body *
'********

cond
  *.body 20 >
  *.nrg 500 <
start
  100 .fdbody store
stop

cond
  *.nrg 1000 >
  *.robage 2 >
start
  100 .strbody store
stop

'****************
'* Adaptive Armour *
'****************
'1 poison
'2 shell
'3 Poison + Shell

cond
  *.in1 *.out1 !=
  *.in1 0 !=
  *.out1 3 <
  *.myeye *.refeye =
start
  *.in1 .out1 store
stop

cond
  *.shflav -1 =
  *.shflav 0 > or
  *.out1 2 <
start
  1 .out1 store
stop

cond
  *.shflav -1 =
  *.shflav 0 > or
  *.out1 2 =
start
  3 .out1 store
stop

cond
  *.shflav -6 =
  *.shflav -3 = or
  *.out1 0 <
start
  2 .out1 store
stop

cond
  *.shflav -6 =
  *.shflav -3 = or
  *.out1 1 =
start
  3 .out1 store
stop

cond
  *.nrg 500 >
  *.poison 500 <
  *.out1 1 =
  *.out1 3 = or
start
  100 .strpoison store
stop

cond
  *.nrg 500 >
  *.shell 450 <
  *.out1 1 >
start
  500 *.shell sub .mkshell store
stop

cond
  *.numties 0 >
  *.robage 10 >
start
  *.tiepres .tienum store
  .tieval .tieloc store
  3000 .tieval store
  *.tiepres .deltie store
  *.tieval 3000 div .tieloc store
  .sharewaste inc
stop

'************
'* Shooting *
'************

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

cond
  *.refaimsx *.myaimsx !=
  *.eye5 5 >
  *.refnrg 1500 <
  *.refshell 50 > or
  *.refpoison 0 = or
start
 *.refxpos *.refypos dist 100 div -1 mult .shootval store
  -1 .shoot store
stop

cond
  *.refaimsx *.myaimsx !=
  *.eye5 5 >
  *.robage 1 >
start
'  *.refxpos *.refypos dist 100 div -1 mult *.refxpos *.refypos dist 500 div sub .shootval store
 *.refxpos *.refypos dist 100 div -1 mult .shootval store
  -6 .shoot store
stop

cond
    *.venom 100 <
start
  100 *.venom sub 0 floor 100 ceil .strvenom store
stop

cond
  *.count 0 >
start
  .count dec
stop

cond
  *.refaimsx *.myaimsx !=
  *.eye5 20 >
'  *.refpoison 0 =
  *.count 0 =
  *.refeye 0 >
start
  .shoot .vloc store
  -3 .shoot store
  -2 .venval store
  50 .shootval store
  5 .count store
stop

cond
  *.refaimsx *.myaimsx !=
  *.eye5 20 >
  *.count 0 =
  *.refeye 0 >
  *.refshell 5 >
start
  .mkshell .vloc store
  -3 .shoot store
  -200 .venval store
  50 .shootval store
  0 .count store
stop

cond
  *.genes 33 !=
  *.sexrepro 0 != or
  *.mrepro 0 != or
start
  0 .repro store
  0 .sexrepro store
  0 .mrepro store
stop

cond
  *.delgene 0 !=
  *.shoot -2 = or
start
  0 .delgene store
  0 .shoot store
stop
end

9
F2 bots / E. Diplomaticus Diplo (F2)-01.02.04
« on: October 24, 2005, 07:41:39 PM »
Code: [Select]
'E_Diplomaticus 'Diplo'
'Feb. 2004 Joan
'---------------------

'---------------------
'*40 *41 counter values
'*80 .aimdx value
'---------------------

'----------Setup

cond
*.out1 32 !=
start
32 .out1 store
*.out1 .out2 store
300 .aimdx store
50 80 store
stop

'---Reproduction
cond
*.nrg 10000 >
start
50 .repro store
150 .aimsx store
stop

'------Movement
'--------Rotation
cond
*.eye5 0 =
start
*80 .aimdx store
*80 *41 add
41 store *.out1 .out2 store
stop

'---------Control
cond
*41 1200 >
*.eye5 0 =
start
15 .up store
0 41 store
stop

'---Go away from parthners
cond
*.eye5 0 !=
*.in1 *.out1 =
*.in2 *.out1 =
start
300 .aimdx store
stop

'---Go away from parthners
cond
*.eye1 0 !=
*.in1 *.out1 =
*.in2 *.out1 =
start
15 .dn store
stop

'---Atacs partners while eating
cond
*.eye5 0 !=
*.in2 *.out1 !=
start
10 .up store
-1 .shoot store
stop

'----------Feed
'----------------
cond
*.eye5 0 !=
*.in1 *.out1 !=
start
-1 .shoot store
*.up 5 add .up store
0 40 store
0 41 store
0 .out2 store
stop

'--------Defend
'-----------------
cond
*40 0 <
start
.aimdx .shoot store
300 .shootval store
150 .aimdx store
*40 10 add 40 store
0 .out2 store
stop

'------SideShot
cond
*.shsx 0 !=
start
-80 40 store
stop

'--------------
end

10
Off Topic / Happy Birthday Shvarz
« on: October 19, 2005, 03:39:54 AM »
:party:  :Birthday:  :party:

11
Off Topic / Happy Birthday Henk
« on: October 03, 2005, 03:15:54 AM »
:cheers:  :clap:  :party:  :Birthday:  :party:  :clap:  :cheers:  :cheers:

12
Off Topic / Happy Birthday Endy
« on: August 16, 2005, 05:15:22 AM »
Happy Birthday!  :cheers:  :party:  :Birthday:  :party:

13
DNA - General / Sharing Shell
« on: April 24, 2005, 10:54:57 AM »
Basically I want to share shell in my MB's, so I thought using

Code: [Select]
cond
  *.shell *.trefshell !%=
  *.multi 1 =
start
  50 .shareshell store
stop

I thought it would work just like sharenrg, but it just seems to make them act weird, losing a lot of energy, am I using it wrong or is it broken?

14
Multi-Bots / Inchy (MB)(Endy)-02.11.04
« on: April 23, 2005, 05:44:21 AM »
Code: [Select]
'Topic: New Bots
'Endy
'
' Inchy
' Does extremely well in high-G enviroments and when pitted against non-tiefeeding tiebots
cond
*.eye1 0 >
start
-102 .aimdx store
stop

cond
*.eye9 0 >
start
102 .aimdx store
stop

cond
*.eye4 0 >
start
-25 .aimdx store
stop

cond
*.eye6 0 >
start
25 .aimdx store
stop

' ============================
' Random Locomotion
cond
start
1 rnd 79 store
*79 .fixpos store
-100 *79 mult
9000 *79 1 sub -1 mult mult
add .tielen store
stop
' ============================
' Shoot the food
' Smaller weapon for food and attacks
cond
*.refeye *.myeye !=
*.eye5 77 !=
*.eye5 26 >
start
*.robage *.robage div .fixpos mult inc
-1 *.refage *.refage div mult .shoot store
stop

' Major weapon for hostile bots
' How do you define hostile?
' It's not in my family line. Open fire.
cond
*.refeye *.myeye !=
*.eye5 77 !=
*.refeye 0 !=
*.eye5 26 >
start
.strbody .shoot store
32000 .shootval store
stop
' ============================
'********
'* Body *
'********

cond
*.body 20 <
*.nrg 1000 >
start
100 .strbody store
stop

cond
*.nrg 2500 >
*.body 800 <
start
100 .strbody store
stop

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

cond
*.body 20 >
*.nrg 1000 <
start
100 .fdbody store
stop

cond
*.body 1000 >
*.robage 10 <
start
50 .fdbody store
stop

cond
*.body 30000 >
start
50 .fdbody store
stop
' ============================
' Tiebot section
' Sharing Gene
cond
*.multi 1 =
*.myeye *.trefeye =
*.tiepres 1 =
start
50 .sharenrg store
50 .sharewaste store
stop

' Child ties to parent
cond
*.robage 0 =
*.eye5 77 =
start
1 .tie store
stop

' Lone bot repros its head
cond
*.numties 0 =
*.eye5 40 <
*.nrg 100 >
start
50 .repro store
stop

cond
*.numties 1 =
start
1 .readtie store
1 .tienum store
628 .fixang store
stop

' Rescue Lost single bot
cond
*.tiepres 0 =
start
20 .aimdx store
stop

cond
*.numties 1 >
*.myeye *.trefeye !=
start
*.tiepres .tienum store
-1 .tieloc store
-1000 .tieval store
*.eye5 0 mult
stop

cond
*.numties 1 >
*.myeye *.trefeye =
start
*.tiepres .deltie store
stop

' Start Repro loop
cond
*.multi 1 =
*.nrg 3000 >
*.eye5 30 <
start
1 .deltie store
stop

' Last Ditch MB method
cond
*.nrg 100 <
*.numties 0 =
*.eye5 26 >
start
-1 .shoot store
stop
end

15
Multi-Bots / Shen3 (MB)(Shen)-13.08.04
« on: April 23, 2005, 05:42:58 AM »
Code: [Select]
'Topic: 3 cell bot 
'Shen
' Attempt at 3 cell life form
' Using *50 for role assignment
' 0 is a single bot or new child
' 110 is 1st cell tie temp
' 111 is 1st cell program temp
' 112 is 1st cell align temp
' 120 is 2nd cell align temp
' 121 is 2nd cell repro temp
' 122 is 2nd cell tie temp
' 123 is 2nd cell program temp
' 124 is 2nc cell 2nd tie align
' 130 is 3rd cell align temp
' 10 is 1st Cell
' 20 is 2nd Cell
' 30 is 3rd Cell
' 1st Cell ties to Child
cond
*50 110 =
start
100 .tie store
111 50 store
stop

' 2nd cell ties to child
cond
*50 122 =
start
200 .tie store
123 50 store
stop

' Single Bot repros 2nd cell and becomes 1st cell tie temp
cond
*.eye2 20 <
*.eye3 20 <
*.eye4 20 <
*.eye5 20 <
*.eye6 20 <
*.eye7 20 <
*.eye8 20 <
0 *50 =
*.numties 0 =
*.vel 0 =
start
50 .repro store
110 50 store
stop

' 2nd cell repros 3rd cell after align
cond
*.multi 1 =
*50 121 =
*.eye2 20 <
*.eye3 20 <
*.eye4 20 <
*.eye5 20 <
*.eye6 20 <
*.eye7 20 <
*.eye8 20 <
start
50 .repro store
122 50 store
stop

' 1st cell programs child to be 2nd cell align temp
cond
*.tiepres 100 =
111 *50 =
start
100 .tienum store
50 .tieloc store
120 .tieval store
112 50 store
stop

' 2nd cell align
cond
*.multi 1 =
*50 124 =
*.tiepres 200
start
200 .readtie store
200 .tienum store
0 .fixang store
120 .tielen store
35 .stifftie store
20 50 store
stop

' 2nd cell programs 3rd cell to be 3rd cell align temp
cond
*.tiepres 200 =
123 *50 =
start
200 .tienum store
50 .tieloc store
130 .tieval store
125 50 store
stop

'1st cell align
cond
*.multi 1 =
*50 112 =
start
100 .readtie store
100 .tienum store
628 .fixang store
120 .tielen store
35 .stifftie store
10 50 store
stop

' 2nd cell aligns tie to 3rd cell
cond
*.multi 1 =
*50 120 =
start
100 .readtie store
100 .tienum store
628 .fixang store
120 .tielen store
35 .stifftie store
121 50 store
stop

' 3rd cell programs 2nd
cond
*50 131 =
start
200 .tienum store
50 .tieloc store
124 .tieval store
30 50 store
stop

' 3rd cell align
cond
*.multi 1 =
*50 130 =
start
200 .readtie store
200 .tienum store
628 .fixang store
131 50 store
stop

' repro genes
cond
*50 30 =
*.nrg 10000 >
*.vel -5 >
start
70 .repro store
stop

'rescue bots
cond
*50 200 <
*50 0 >
*.numties 0 =
*.robage 200 >
start
0 50 store
stop

cond
*50 0 =
*.numties 0 =
start
20 .aimdx store
stop

cond
*50 20 =
*.eye5 30 <
*.numties 2 !=
start
121 50 store
stop

' -=- Head Nav -=-

' - Approach Enemy -
cond
*.eye5 0 >
*.eye5 40 <
*.refeye *.myeye !=
*.vel 5 <
*.multi 1 =
*50 10 =
start
5 .up store
stop

' - Search -
cond
*.eye5 0 =
*.refeye *.myeye !=
*.eye3 *.eye 7 =
*.vel 5 <
*.multi 1 =
*50 10 =
start
5 .up store
30 rnd 30 rnd sub .aimdx store
stop

' --==-- Distant Tracking --==--

' - Wide -
cond
*.eye5 30 <
*.refeye *.myeye !=
*.eye7 *.eye3 !=
*.multi 1 =
*50 10 =
start
*.eye7 *.eye3 sub 2 mult .aimdx store
*.eye7 *.eye3 sub 4 div .dx store
stop

' - Narrow -
cond
*.eye5 30 <
*.refeye *.myeye !=
*.eye6 *.eye4 !=
*.multi 1 =
*50 10 =
start
*.eye6 *.eye4 sub 2 mult .aimdx store
*.eye6 *.eye4 sub 4 div .dx store
stop

' --==-- Close Tracking --==--

' - Wide -
cond
*.eye5 30 >
*.refeye *.myeye !=
*.eye7 *.eye3 !=
*.multi 1 =
*50 10 =
start
*.eye7 *.eye3 sub 3 div .aimdx store
*.eye7 *.eye3 sub 8 div .dx store
stop

' - Narrow -
cond
*.eye5 30 >
*.refeye *.myeye !=
*.eye6 *.eye4 !=
*.multi 1 =
*50 10 =
start
*.eye6 *.eye4 sub 3 div .aimdx store
*.eye6 *.eye4 sub 8 div .dx store
stop

' --==-- Conspecifics --==--

' - Avoid Close Friend -
cond
*.eye5 30 >
*.refeye *.myeye =
*.multi 1 =
*50 10 =
start
*.eye4 *.eye6 sub .aimdx store
*.eye4 *.eye6 sub 5 div .dx store
stop

' - Ignore Distant Friend -
cond
*.eye5 30 <
*.refeye *.myeye =
*.vel 5 <
*.multi 1 =
*50 10 =
start
5 .up store
30 rnd 30 rnd sub .aimdx store
stop



' - Eat -
cond
*.eye5 35 >
*.refeye *.myeye !=
*.multi 1 =
start
-1 .shoot store
stop

' Waste disposal
cond
*.waste 400 >
start
-4 .shoot store
*.waste .shootval store
stop

' - Sharing -
cond
*.nrg *.trefnrg !%=
*.multi 1 =
*.robage 30 >
start
50 .sharenrg store
stop


end

Pages: [1] 2