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

Pages: [1] 2 3
1
Off Topic / Saw this and thought of you.
« on: May 08, 2009, 09:54:03 AM »
http://www.nerogame.org/

This is a game where you train a neural network to execute various tactics.

2
Formula 3 / Formula 3 rules
« on: December 10, 2008, 12:45:50 PM »
Settings (copied from F2 league):
    * Field size 9237 X 6928. If you can't figure out how to get this (non standard size), just click the "Restart and Leagues" tab from the options window then check the "Use F1 conditions" box. If you don't want to run the leagues, simply uncheck it again and the size setting will stay the same.
    * Starting chloroplasts = 16000
    * Veggie feeding rate = 30
    * Maximum veggies = 25
    * Respawn veggies = 10
    * Kill distant Vaggies = OFF
    * Corpses = OFF
    * Pond mode = OFF
    * Day Night cycles = OFF
    * Bouyancy = OFF
    * Friction = 3
    * Gravity = zero
    * Brownian Motion = zero
    * Mutations = ALL Disabled
    * Internet sharing = OFF
    * Weather = ON
    * Costs = F1 Default

Selecting the "Set F2/F3/MB settings" button will automatically set these.
You can set league disqualifications from global settings.

Rules:
    * No viruses
    * No ties
    * No info shots
    * No venom
    * No poison
    * No slime
    * No shell
    * No use of .delgene
    * No sexrepro

3
Bugs and fixes / .tielen and .tieang
« on: October 27, 2008, 10:12:24 PM »
Tielen and tieang only read information about the most recently formed tie. Storing values in readtie and tienum does not change this.

Proposed correct behavior: tielen and tieang should read information about the tie port in readtie.

4
Untagged bots / Spyrus (F3)(abyaly)18-10-08
« on: October 18, 2008, 06:27:26 PM »
Code: [Select]
'Spyrus
'F3 bot by abyaly
'This is a modification of spiral
'to make it F3 legal and a few other things
'For version 2.43.1L
'Oct 18, 2008


def spiral -15

def swarmnumber 10

def swarmdensity 90

def id 8658
def status 62
def parity 63
def percent 64
def ally 1
def food 2
def enemy 3

cond
*.robage 0 =
start
  .tie inc
  140 .eye5width store
  .id .out5 store
  1 rnd 2 mult -- .parity store
stop

cond
*.nrg *.body 5 mult <
start
*.nrg *.body 5 mult sub 2 div - .fdbody store
stop

cond
*.nrg *.body 5 mult >
start
*.nrg *.body 5 mult sub 2 div .strbody store
stop


cond
start
  *.tiepres dup sgn abs .deltie mult store
  0 .fixpos *.fixed mult store
  100 *.totalmyspecies mult *.totalbots div .percent store
stop

cond
  *.eye5 0 >
start
  .ally
    *.in5 .id sub sgn abs -- - mult
  .status store
  .food .status
    *.status .ally sub sgn abs mult
    *.refshoot sgn -- - mult
    *.refaimsx sgn -- - mult
    *.refshell sgn -- - mult
    *.refslime sgn -- - mult
    *.refvenom sgn -- - mult
    *.refkills sgn -- - mult
    *.refeye sgn -- - mult
    *.refup sgn -- - mult
  store
  .enemy .status
    *.status .ally sub sgn abs mult
    *.status .food sub sgn abs mult
  store
stop

cond
  *.eye5 0 =
  *.in3 0 = or
  *.robage 2 >
start
  *.aim 317 sub .setaim store
  *.robage dup 2 mod add 4 mod -- 10 mult
  .up *.robage 2 mult 4 mod sgn 3 mult add store
stop

cond
  *.eye5 0 >
  *.status .ally =
  *.in3 0 !=
  *.robage 1 >
start
  *.in1 .out1 store
  *.in2 .out2 store
  *.in3 -- .out3 store
  *.in1 *.in2 angle .setaim store
  *.refvelup .swarmdensity *.eye5 sub add *.velup abs - floor .up store
  *.refveldx .spiral *.parity mult add .dx store
stop

cond
  *.eye5 0 >
  *.status .ally !=
  *.robage 1 >
start
  *.refxpos *.refypos angle .setaim store
  *.refvelup 80 *.eye5 sub add *.velup abs - floor .up store
  *.refveldx .dx store
stop

cond
  *.eye5 0 >
  *.status .food =
  *.robage 1 >
start
  *.refxpos .out1 store
  *.refypos .out2 store
  .swarmnumber *.percent 10 div sub .out3 store
stop

cond
  *.eye5 70 >
  *.status .food =
  *.body 33 <=
  *.refbody 300 <= or
start
  -1 .shoot store
stop

cond
  *.eye5 70 >
  *.status .food =
  *.body 33 >
  *.refbody 300 >
start
  -6 .shoot store
stop

cond
  *.eye5 70 >
  *.status .enemy =
start
  -1 .shoot store
  *.nrg 5 div 200 ceil .shootval store
stop

cond
  *.robage 0 >
  *.nrg *.body 10 mult add 300 *.percent mult 1000 floor >
start
  *.aim 317 add .setaim store
  50 .repro store
stop

5
F2 bots / Saber (F2)(abyaly)07-10-08
« on: October 07, 2008, 08:13:57 AM »
[div class=\'codetop\']CODE[div class=\'codemain\' style=\'height:200px;white-space:pre;overflow:auto\']
Code: [Select]
'Saber
'F1/F2 bot by abyaly
'Oct 5, 2008
'DB 2.43.1L


'Memory locations in use
def vdir 59
def pop 971
def type 972
def speed 10
def reftype 53
def treftype 54
def timercorrect 973
def enemysize 804

'Identification contants
def id1 9883
def id2 9884
def id3 9885
def key1 73
def key2 1621
def genome 1777

'Type and reftype states
def baby    12
def parry   23
def thrust  34
def riposte 45
def veggie  56
def empty   67
def enemy   78



'********************Species init****************************
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Gene 0
cond
start
  *.thisgene .delgene store
  10 .pop store
  0 .timer store
  .parry .type store
stop

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Gene 1
cond
start
  *.pop 0 >
  *.robage 0 > and
  *.nrg *.body 10 mult add 800 <= and
  0 .pop store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
clearbool
'************************************************************



'*********************Unfix myself***************************
  0 .fixpos *.fixed sgn mult store
'************************************************************



'**********************Delete ties***************************
  *.numties 0 >
  *.tiepres .deltie store
clearbool
'************************************************************



'*********************misc***********************************
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.timer -- .out9 store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  .timercorrect 1 =
  1 .out8 store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.robage 0 >
  2 .delgene store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.totalmyspecies 10 <=
  *.type .thrust = and
  *.robage 5 > and
  .parry .type store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.totalmyspecies 10 <=
  *.type .parry = and
  *.robage 5 > and
  3 .pop store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.shootval 0 !=
  0 .shootval store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.sexrepro 0 !=
  0 .sexrepro store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.enemysize 5 >
  *.enemysize 5 sub .enemysize store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
clearbool
'************************************************************



'*****************local init*********************************
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.eye5dir 628 !=
  628 .eye5dir store 
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.type 0 =
  .riposte .type store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.robage 0 =
  *.type .parry = and
  *.genes 1 = and
  4 rnd 0 != and
  .thrust .type store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.type .riposte !=
  *.timercorrect 1 != and
  1 .timercorrect store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
clearbool
'************************************************************



'*******************Identify myself**************************
  *.type .thrust =
  .id1 *.robage .key1 mod .key2 add mod dup
    .out1 store
    .tout1 store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.type .parry =
  .id2 *.robage .key1 mod .key2 add mod dup
    .out1 store
    .tout1 store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.type .riposte =
  .id3 *.robage .key1 mod .key2 add mod dup
    .out1 store
    .tout1 store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
clearbool
'************************************************************



'*************************ATAN*******************************
'This section calculates the direction the
'bot is going by using
'f = X / (1 + .28X^2)                  (abs x <= 1)
'f = (sgn x) pi/2 - X / (X^2 + .28)    (abs x >  1)
'to approximate arctan (veldx / velup)
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'f = X / (1 + .28X^2)                  (abs x <= 1)
'Combined with DB unit conversion, rearranging
'for precision, and premultoplying some
'constants, what I'm using becomes
'f = 71170(*.veldx)(*.velup)/(356(*.velup^2) + 100(*.veldx^2))
  *.veldx abs *.velup abs <=
  7117 10 mult *.veldx *.velup mult mult
    356 *.velup dup mult mult
    100 *.veldx dup mult mult
    add div
  *.velup sgn - sqr 628 mult add
  - *.aim add .vdir store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'f = (sgn x) pi/2 - X / (X^2 + .28)    (abs x >  1)
'Combined with DB unit conversion, rearranging
'for precision, and premultoplying some
'constants, what I'm using becomes
'f = (sgn *.veldx)(sgn *.velup)314
' - 71170(*.veldx)(*.velup)/(100(*.velup^2) + 356(*.veldx^2))
  *.veldx abs *.velup abs >
  *.velup 0 != and
  7117 10 mult *.veldx *.velup mult mult
    356 *.veldx dup mult mult
    100 *.velup dup mult mult
    add div -
  314 *.veldx sgn mult *.velup sgn mult add
  *.velup sgn - sqr 628 mult add
  - *.aim add .vdir store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Velup = 0 is a special case because it corresponds
'to a not-so-finite value of x
  *.velup 0 =
  *.veldx 0 != and
  *.veldx sgn 314 mult - *.aim add .vdir store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
clearbool
'************************************************************



'***********************Bodily fluids************************
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.pop 0 =
  *.type .riposte != and
  *.nrg *.body 10 mult > and
  *.nrg *.body 10 mult sub .strbody store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.pop 0 =
  *.nrg *.body 10 mult < and
  *.body 10 mult *.nrg sub .fdbody store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.pop 0 =
  *.type .thrust != and
  *.shell 100 < and
  *.nrg 800 > and
  100 .mkshell store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.pop 0 =
  *.type .parry = and
  *.body 10 div .mkslime store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.pop 0 =
  *.type .parry = and
  *.slime *.body 5 mult < and
  100 .mkslime store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.body 20 >
  *.type .riposte = and
  *.body 20 sub 10 mult .fdbody store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.body 20 <
  *.nrg 300 >= and
  *.type .riposte = and
  100 .strbody store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
clearbool
'************************************************************



'************************Target ID***************************
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.eyef 0 >
  .enemy .reftype store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.refage 0 = and
  .baby .reftype store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.in1 .id1 *.refage -- .key1 mod .key2 add mod =
  *.in1 .id1 *.refage .key1 mod .key2 add mod = or
  *.refage 0 > and
  *.eyef 0 > and
  .thrust .reftype store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.in1 .id2 *.refage -- .key1 mod .key2 add mod =
  *.in1 .id2 *.refage .key1 mod .key2 add mod = or
  *.refage 0 > and
  *.eyef 0 > and
  .parry .reftype store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.in1 .id3 *.refage -- .key1 mod .key2 add mod =
  *.in1 .id3 *.refage .key1 mod .key2 add mod = or
  *.refage 0 > and
  *.eyef 0 > and
  .riposte .reftype store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.eyef 0 >
  *.in1 .id1 *.refage -- .key1 mod .key2 add mod != and
  *.in1 .id1 *.refage .key1 mod .key2 add mod !=    and
  *.in1 .id2 *.refage -- .key1 mod .key2 add mod != and
  *.in1 .id2 *.refage .key1 mod .key2 add mod !=    and
  *.in1 .id3 *.refage -- .key1 mod .key2 add mod != and
  *.in1 .id3 *.refage .key1 mod .key2 add mod !=    and
  *.refpoison 0 = and
  *.refshoot 0 =  and
  *.refaimsx 0 =  and
  *.refkills 0 =  and
  *.refshell 0 =  and
  *.refeye 0 =    and
  *.refup 0 =     and
  .veggie .reftype store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  clearbool
'************************************************************



'************************Tie ID******************************
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.numties 0 >
  .enemy .treftype store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.tin1 .id1 *.trefage -- .key1 mod .key2 add mod =
  *.tin1 .id1 *.trefage .key1 mod .key2 add mod = or
  *.numties 0 > and
  .thrust .treftype store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.tin1 .id2 *.trefage -- .key1 mod .key2 add mod =
  *.tin1 .id2 *.trefage .key1 mod .key2 add mod = or
  *.numties 0 > and
  .parry .treftype store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.tin1 .id3 *.trefage -- .key1 mod .key2 add mod =
  *.tin1 .id3 *.trefage .key1 mod .key2 add mod = or
  *.numties 0 > and
  .riposte .treftype store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.numties 0 >
  *.tin1 .id1 *.trefage -- .key1 mod .key2 add mod != and
  *.tin1 .id1 *.trefage .key1 mod .key2 add mod !=    and
  *.tin1 .id2 *.trefage -- .key1 mod .key2 add mod != and
  *.tin1 .id2 *.trefage .key1 mod .key2 add mod !=    and
  *.tin1 .id3 *.trefage -- .key1 mod .key2 add mod != and
  *.tin1 .id3 *.trefage .key1 mod .key2 add mod !=    and
  *.trefpoison 0 = and
  *.trefshoot 0 =  and
  *.trefaimsx 0 =  and
  *.trefkills 0 =  and
  *.trefshell 0 =  and
  *.trefeye 0 =    and
  *.trefup 0 =     and
  .veggie .treftype store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  clearbool
'************************************************************



'*****************React to allies****************************
'root 2 = 14142 10000 div
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.eyef 0 >
  *.type .riposte = and
  *.reftype .riposte <= and
  *.in8 1 = and

  *.in9 .timer store
  1 .timercorrect store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.eyef 0 >
  *.reftype .riposte <= and
  *.in5 *.enemysize > and

  *.in5 .enemysize store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.eyef 0 >
  *.type .parry != and
  *.reftype .riposte <= and

  *.type .riposte =
  *.reftype .parry = and not and

  *.refveldx sgn abs -- - *.refveldx add sgn .speed mult - 14142 mult 20000 div  .dx store
  .speed 14142 mult 20000 div .dn store
  *.vdir 628 add .setaim store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.eyef 0 >
  *.reftype .riposte <= and
  *.type .parry = and

  200 .aimdx store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.eyef 0 >
  *.type .riposte = and
  *.reftype .parry = and
  *.nrg 500 >= and
 
  *.refxpos *.refypos angle 628 add .setaim store
  *.refveldx .dx store
  *.refveldn 100 add .dn store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.eyef 70 >
  *.type .riposte = and
  *.reftype .parry = and

  -2 .shoot store
  32000 .shootval store
  628 .aimshoot store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.eyef 0 >
  *.reftype .parry = and
  *.type .parry != and

  *.refxpos .out2 store
  *.refypos .out3 store

  .timercorrect 1 = and
  *.timer .out4 store 
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.reftype .parry !=
  *.type .parry != and
  *.in4 .out4 >=

  *.in2 .out2 store
  *.in3 .out3 store
  *.in4 .out4 store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
clearbool
'************************************************************



'************************Seeking*****************************
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.eyef 0 =
  *.type .parry != and
  *.timer 8 mod 157 mult .eye5dir store
  *.vdir 628 add .setaim store
  .speed .dn store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.eyef 0 =
  *.type .parry = and
  200 .aimdx store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.type .riposte =
  *.out2 *.out3 dist 500 < and
  *.out4 0 > and
  *.out2 *.out3 angle 628 add .setaim store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
clearbool
'************************************************************



'******************RAPERAPERAPERAPE**************************
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.eyef 0 >
  *.reftype .veggie >= and

  *.refxpos *.refypos angle 628 add .setaim store
  628 .aimshoot store

  *.refveldn 100 *.eyef sub add *.velup abs - floor .dn store
  *.refveldx .dx store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.eyef 50 >
  *.reftype .veggie = and
  *.type .parry = and

  -6 .shoot store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.eyef 0 >
  *.reftype .veggie =
  *.robage 3 mod 0 = and
  *.type .parry != and

  -8 .shoot store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.eyef 0 >
  *.reftype .veggie =
  *.robage 3 mod 1 = and
  *.type .parry != and

  .sexrepro .shoot store
  99 .shootval store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.eyef 0 >
  *.reftype .veggie =
  *.robage 3 mod 2 = and
  *.type .parry != and

  .setaim .shoot store
  *.refxpos *.refypos angle .shootval store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.eyef 50 >
  *.reftype .veggie = and
  *.type .parry != and
  *.memval 25 >= and
  *.timer *.robage add 3 mod 0 = and
 
  .shoot .shoot store
  -2 .shootval store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.eyef 50 >
  *.reftype .veggie = and
  *.type .parry != and
  *.memval 25 >= and
  *.timer *.robage add 3 mod 1 = and

  .shootval .shoot store
  32000 .shootval store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.eyef 50 >
  *.reftype .veggie = and
  *.type .parry != and
  *.memval 25 >= and
  *.timer *.robage add 3 mod 2 = and

  .setaim .shoot store
  *.setaim .shootval store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
clearbool
'************************************************************



'******************KILLKILLKILLKILL**************************
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.eyef 0 >
  *.reftype .enemy = and
  *.type .riposte != and
  .dn .speed ceil .dn store
  .dx .speed ceil .speed - floor .dx store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.eyef 0 >
  *.reftype .enemy = and
  *.refbody *.enemysize > and

  *.refbody .enemysize store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Parry is a coward. He runs away from foes.
  *.eyef 0 >
  *.reftype .enemy = and
  *.type .parry = and

  -30 .dn *.refveldn add -10 ceil .dn store

  *.eyef 50 > and
  dupbool
  *.refbody 2 mult 3000 ceil *.body > and

  .fixpos .shoot store
  100 .shootval store
  dropbool

  *.refbody 2 mult 3000 ceil *.body > and
  -6 .shoot store
  0 .shootval store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.eyef 0 >
  *.type .parry != and
  *.reftype .enemy = and
  *.poisoned 0 = and
  *.paralyzed 0 = and
  *.refbody 10 <= and

  .fdbody .shoot store
  100 .shootval store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.eyef 40 >
  *.reftype .enemy = and
  *.type .riposte = and 
  *.refbody 10 <= and
  *.totalmyspecies 20 > and
  *.numties 0 = and

  .tie inc
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.eyef 0 >
  *.reftype .enemy = and
  *.type .parry != and
  *.poisoned 0 = and
  *.paralyzed 0 = and
  *.refbody 20 >= and
  *.memloc .paralyzed !=
  *.memval 50 <= or and

  10 .strvenom store
  .repro .vloc store
  1000 *.refbody div 50 ceil 5 floor .venval store
  *.venom .shootval store
  -3 .shoot store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.eyef 0 >
  *.reftype .enemy = and
  *.poisoned 0 >
  *.paralyzed 0 > or
  *.memval 50 >
  *.memloc .paralyzed = and
  *.refbody 10 > and
  *.type .parry != and or

'  -50 .dn *.refveldn add -10 ceil .dn store
  *.refveldx sgn abs -- - *.refveldx add sgn .speed mult - 14142 mult 20000 div  .dx store
  .speed 14142 mult 20000 div .dn store
  *.vdir 628 add .setaim store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.poisoned 5 >
  *.paralyzed 5 > or

  99 .repro store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.eye5 0 >
  *.reftype .enemy = and
  *.memloc .paralyzed != and
  .paralyzed .memloc store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.eye5 0 >
  *.reftype .veggie = and
  *.memloc .totalmyspecies != and
  .totalmyspecies .memloc store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
clearbool
'************************************************************



'*****************Kill fruitfly and etch*********************
'This section is dedicated to moonfisher, who will read it
'and immediately know what he needs to do to counter it
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.numties 0 >
  *.robage 1 != and
  *.tiepres .tienum store
  0 .shoot store
  0 .shootval store
  100 .tieval store
  100 .mkslime store
  dupbool *.timer *.robage add 2 mod 1 = and
  .fdbody .tieloc store
  dropbool
  *.timer *.robage add 2 mod 0 = and
  .strvenom .tieloc store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
clearbool
'************************************************************



'*************************Repro******************************
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.type .parry =
  *.nrg *.body 10 mult add 4000 > and
  *.body *.nrg 10 div add *.enemysize 33 mult 10 div >= and
  180 *.velscalar sub 0 floor .dn store
  20 .repro store
  *.vdir 628 add .setaim store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.pop 0 >
  *.type .thrust = or
  *.nrg *.body 10 mult add 800 > and

  180 *.velscalar sub .dn store
  50 .repro store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.pop 0 >
  *.robage 0 =
  *.nrg *.body 10 mult add 800 > or and
  80 .dn store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.pop 0 >
  *.robage 0 = and
  314 .aimdx store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  *.type .riposte =
  *.totalmyspecies 25 < and
  *.nrg *.body 10 mult add 300 > and

  80 *.velscalar sub 0 floor .dn store
  50 .repro store
  *.vdir 628 add .setaim store
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
clearbool
'************************************************************

stop



It stomps F1 and F2

Well, it does in 2.43.1L at least. Havent been able to run leagues well in 2.44.


*typo corrected 8 oct 08, 7:13 CDT

6
Bot Tavern / The truth about instakill tie attacks
« on: October 06, 2008, 09:21:02 AM »
To instakill a bot with <= 100 nrg takes 1 cycle.
 (100 .strvenom or poison)
To instakill a bot with <= 10 body takes 1 cycle.
 (100 .fdbody)
To instakill a bot with >= 100 nrg and >= 10 body takes at least 2 cycles
  (.shootval + .shoot) or (.tieloc + .tieval)

7
The Gene depository / Interesting conspec idea
« on: October 04, 2008, 10:02:30 PM »
Code: [Select]
cond
start
  .id *.timer ++ .key mod mod .out1 store
stop

Code: [Select]
cond
  *.in1 .id *.timer .key mod mod !=
start
'attack
stop

Bots of the same species treat each other as conspecs only if their timers match up. This means that parents and children are usually on the same side, but it can be thrown out of sync by alzheimers or teleporters.
Those of you interested in evobots on IM might want to try this as a way to get competing strains within the same species.

8
Bot Tavern / Shots
« on: October 03, 2008, 09:04:07 AM »
Point blank shot damage:
Code: [Select]
             nrg                  body
-1    *.body(9/50) + 18     *.body/500 + 1/5
-6    *.body/10 + 2         *.body /25 + 4/5


It takes 200 poison to cancel one info shot.
It takes 20 slime to cancel one tie.
(Chance to actually do so depends on amount)

Wishlist: time decay of shots. shootval. Slime vs viruses. Shell vs venom. Shell vs -6 shots. Poison vs -1 shots.

9
Suggestions / Allow unlocking of tie length
« on: October 01, 2008, 09:38:11 AM »
When .fixang is negative it allows the bot to rotate at will without interference.
I propose that either .fixlen or .stifftie should produce the same effect w.r.t. length.

10
Suggestions / Shot code cleanup
« on: September 30, 2008, 12:58:08 AM »
.shootval does not work properly.
http://www.darwinbots.com/Forum/index.php?...ic=2590&hl=

shots do not do consistent damage based on rob size.
http://www.darwinbots.com/Forum/index.php?...ic=2572&hl=

.shotrange , .shotspread and .shotpower sysvars are still on the wishlist and could be lumped in.


.shotrange and .shotpower could work as follows:
Values are modded into the range [1, 100]
1 would be 10% of normal range/power
100 would be 1000% of normal range/power

This means that the possible multipliers for shot power/range are in the range [.1,10]
Cost could simply be modified by the square of the multiplier.

.shotspread could work as follows:
.shotspread defaults to the current spread at birth (15 units, perhaps?)
Values are mod 618
Shots randomly spread between the following angles: [0 - .shotspread, 0 + .shotspread]
0 means shots fire in the exact same direction every time.
617 means they fire in a random direction (except directly backwards)

11
Bugs and fixes / Im mode crashes on empty sim
« on: September 28, 2008, 09:48:54 PM »
When running a sim in IM with just 1 algae minimalis in it, I get a crash with overflow error very quickly (and consistently).
I am not getting this problem when running a populated sim in IM.

12
Bugs and fixes / Tieloc order evaluation bug
« on: September 28, 2008, 07:40:35 PM »
It seems that if two bots are simultaneously attempting to modify each other's tieloc, the result is based on bot evaluation order.

13
DNA - General / What is the current status of .sexrepro?
« on: September 27, 2008, 08:15:20 PM »
I remember proposed changes to require a matching dna substring of 3 bp in order for sexrepro to be successful. Is that currently the case? In the case of a failed sexrepro, does it fail completely or does it act like a normal repro?

14
Suggestions / ties should not be restricted to shooting forward
« on: June 01, 2008, 08:58:26 PM »
Current behavior:
Ties are only fired in the direction the bot is facing
Suggested behavior:
One of the following-
1) Ties are fired in the direction .aimshoot dictates
2) Ties are fired in the direction the new sysvar .aimtie dictates

15
Suggestions / .tielen and .tieang are unwieldly
« on: June 01, 2008, 03:00:55 PM »
Current behavior:
*.tielen and *.tieang give their respective information about the most recent tie.

Suggested behavior:
*.tielen and *.tieang should give information about the tie whose number is in in .readtie

Pages: [1] 2 3