Sections
Home
Hills
Infinite Hills
Tournaments
Software
Evolving
Optimizer
Community
Newsletter
Discussion
History
Sections
 
For Beginners
First Steps
FAQ
Guides
Lexicon
Benchmarks
For Beginners
> Home > The Corewar Newsletters > The Nano Warrior > Issue #1

                              __       __)
                             (, )  |  /            ,
                __   _  __   _  | /| / _   __  __    _  __
Issue 1         / (_(_(_/ (_(_) |/ |/ (_(_/ (_/ (_(_(_)/       24 March, 2006
________________________________/__|_________________________________________

  "I think nano only supports one strategy
   only mad mad bombers"

                                  - BARKLEY VOWK, irc.koth.org (19 June
2004)

On 11 June 2004 the Nano hill on SAL opened for business.  The online
Corewar community wondered if an 80 cell core with warriors of just 5
instructions had anything of interest to offer.  Seven days later,
940-914-xt430-1-nano-eve78 evolved by Bvowk shot straight to the top.
The stuggle between evolved and hand-written warriors had begun.  On
28 June, the hill was extended to 50 positions.

In the beginning, Barkley Vowk and others predicted the hill would be
dominated by warriors which disrupt the core as quickly as possible.
Evolved warriors and core-clears saturated the hill for the next 10
months, and for a while it seemed they were right.

Fast-forward to 19 April 2005 and an explosion of diversity - the
first of the nano qscans enters the hill, Toy Soldier by John Metcalf.
The following day, G.Labarga claimed first place with his nano scanner
Humans rule over machines!  followed by nano-oneshot on day 3. Even
the attention of the evolving elite had been captured:

   ;name GO! Nano QScan
   ;author Dave Hillis
   ;strategy - dying of curiosity about nano qscan

Since they first appeared, a variety of other qscans, scanners and
oneshots have taken strong positions, as evidenced in the Hall of
Fame.  The Nano hill is now providing an interesting challenge to
beginners and veterans alike.
_____________________________________________________________________________

Specs for SAL's Nano Hill,
http://sal.math.ualberta.ca/hill.php?key=nano

        Hill key:      nano
        Core size:     80
        Max processes: 80
        Max cycles:    800
        Max length:    5
        P-space size:  5

Resources for Nano programmers:

        http://www.ociw.edu/~birk/COREWAR/NANO/hill_rec.html

        http://corewar.co.uk/nano.htm
_____________________________________________________________________________

Status of the SAL Nano Hill after 736 successful challenges:

 #    %W/   %L/   %T                Name       Author        Score  Age
 1  50.1/ 42.9/ 7.1          Polarization 05   Zul Nadzri    157.2  180
 2  50.5/ 43.7/ 5.9        Foggy Maus (beta)   The MicroGP...157.2   24
 3  50.5/ 44.9/ 4.6     Millionaire Landlord   Zul Nadzri    156.0   26
 4  49.8/ 45.6/ 4.7  Petro "I'm Old" Warrior   Zul Nadzri    154.0  216
 5  48.9/ 45.4/ 5.7         Polarization 04    Zul Nadzri    152.4  183
 6  49.2/ 46.3/ 4.5     rdrc: Repent Linemen   Dave Hillis   152.2  394
 7  48.8/ 45.7/ 5.5                 Resolute   John Metcalf  151.8   62
 8  48.4/ 45.9/ 5.7    rdrc: Alcoholism Malt   Dave Hillis   150.9  382
 9  47.9/ 45.0/ 7.2 Mellisuga helenae (RB...   The MicroGP...150.8   27
10  48.5/ 46.5/ 4.9       rdrc: Laundry OSHA   Dave Hillis   150.5  376
11  47.9/ 45.4/ 6.7 Paedocypris horridus (RBv  The MicroGP...150.5   51
12  48.2/ 46.6/ 5.2                 iEvo[[1]]  inversed      149.7   25
13  48.2/ 46.8/ 5.0           Drunken Onion I  The MicroGP...149.5   23
14  48.0/ 46.9/ 5.1    rdrc: Revere Gimmickry  Dave Hillis   149.0  322
15  47.4/ 45.8/ 6.8     Muddy Mouse (RB...     The MicroGP...148.9   36
16  47.8/ 46.8/ 5.4 Shutting Down Evolver Now  Roy van Rijn  148.8  414
17  47.3/ 46.2/ 6.5                   test     John Metcalf  148.3   11
18  47.4/ 46.6/ 6.0        Master of the Core  John Metcalf  148.3  190
19  47.4/ 46.6/ 6.0             Man&Machine    Roy van Rijn  148.2  345
20  47.7/ 47.4/ 4.9  rdrc: Blanch Autoclave    Dave Hillis   148.0  389
21  47.0/ 46.9/ 6.1     rdrc: Borneo Birdie    Dave Hillis   147.1  401
22  48.8/ 50.6/ 0.6       My nano Qscan III    G.L           146.9  306
23  47.4/ 48.1/ 4.5          SuperSentryIV     J.J. 'Imrahil'146.7   67
24  47.0/ 47.5/ 5.6 4989-5634-xt642-3-nano-ev  bvowk         146.4   81
25  47.7/ 49.0/ 3.4         Bombus Sylvestris  S.Fernandes   146.3  123
26  47.0/ 48.0/ 5.0   rdrc: Delicate Crowbait  Dave Hillis   146.0  572
27  47.1/ 48.1/ 4.8 Petro "I'm Old" Warrior [  Zul Nadzri    146.0  215
28  44.2/ 42.6/ 13.2                 qEvo[[3]] inversed      145.8   73
29  41.6/ 37.5/ 21.0 2218-6722-xt430-22-nano-e bvowk         145.7  179
30  46.6/ 47.7/ 5.7  10702-3379-xt642-0-nano-e bvowk         145.5   75
31  46.2/ 47.3/ 6.5                Merdeka 06  Zul Nadzri    145.1  242
32  46.8/ 48.5/ 4.8  the last of the dragons   John Metcalf  145.1  329
33  46.0/ 47.0/ 7.0            Bombus Polaris  S.Fernandes   145.0   95
34  38.2/ 31.6/ 30.2   rdrc: Breakaway Carte   Dave Hillis   144.8  355
35  46.0/ 47.4/ 6.6                  Go on!    Roy van Rijn  144.7  413
36  45.5/ 46.6/ 7.9     victim of the night    John Metcalf  144.5    7
37  38.0/ 33.0/ 29.0       Happy Onion VIII    The MicroGP...143.0   34
38  44.8/ 46.9/ 8.3             toy soldier    John Metcalf  142.7  348
39  45.7/ 49.1/ 5.2 rdrc: Sportsmen Momentary  Dave Hillis   142.4  390
40  45.0/ 48.4/ 6.6             Happy Onion V  The MicroGP...141.6   37
41  45.8/ 50.2/ 4.1                 Unit 0446  G.Labarga     141.3   20
42  45.3/ 49.5/ 5.2 around the core in 80 cyc  John Metcalf  141.0  265
43  44.9/ 49.2/ 6.0 7698-6009-biostat-xt3-nan  bvowk         140.6   66
44  41.6/ 42.7/ 15.7                  NanoWarp inversed      140.5   74
45  44.8/ 49.4/ 5.8 5312-1734-xt430-15-nano-e  bvowk         140.3   92
46  44.0/ 48.9/ 7.1  spawn of the grasshopper  Simon Wainwright139.1  1
47  42.9/ 46.8/ 10.3  the path best forgotten  John Metcalf  139.0   12
48  45.3/ 52.3/ 2.4  Thylacinus Cynocephalus   S.Fernandes   138.3    3
49  43.0/ 47.8/ 9.2         honey and cheese   John Metcalf  138.3    8
50  45.3/ 52.5/ 2.1        Acarus Calvanicus   S.Fernandes   138.1    4

Averages:

21  46.6/ 45.2/  8.1    33 evolved warriors      6 authors 147.9   203
34  46.0/ 48.4/  5.7   17 hand-coded warriors    5 authors 143.6   109

    46.3/ 46.3/  7.3           all warriors     11 authors 146.1   171

John Metcalf and Dave Hillis each have 9 warriors, with John
representing the hand-coders and Dave the evolvers.  Following
closely are The MicroGP Corewars Collective with 7, Zul Nadzri
with 6 and bvowk with 5.

Currently, the Nano hill is home to the 14 oldest warriors on
any hill!
_____________________________________________________________________________

The SAL Nano Hall of Fame:  * indicates the warrior is still active.

Pos Name                   Author             Age    Strategy
 1  rdrc: Delicate Crowbai Dave Hillis        572 *  evolved
 2  on-speed               brx                533    clear
 3  Shutting Down Evolver  Roy van Rijn       414 *  evolved
 4  Go on!                 Roy van Rijn       413 *  evolved
 5  rdrc: Borneo Birdie    Dave Hillis        401 *  evolved
 6  rdrc: Repent Linemen   Dave Hillis        394 *  evolved
 7  rdrc: Sportsmen Moment Dave Hillis        390 *  evolved
 8  rdrc: Blanch Autoclave Dave Hillis        389 *  evolved
 9  rdrc: Alcoholism Malt  Dave Hillis        382 *  evolved
10  rdrc: Laundry OSHA     Dave Hillis        376 *  evolved
11  rdrc: Aborning Chute   Dave Hillis        370    evolved
12  rdrc: Breakaway Carte  Dave Hillis        355 *  evolved
13  toy soldier            John Metcalf       348 *  qscan
14  Man&Machine            Roy van Rijn       345 *  evolved
15  the last of the dragon John Metcalf       329 *  qscan
16  rdrc: Revere Gimmickry Dave Hillis        322 *  evolved
17  My nano Qscan III      G.L                306 *  qscan
18  Military Grade Nano    Ken Hubbard        299    evolved
19  h1_3.red               Dave Hillis        275    evolved
20  6843-5724-xt430-4-nano bvowk              271    evolved
21  around the core in 80  John Metcalf       265 *  clear
22  Merdeka 06             Zul Nadzri         242 *  evolved
23  rdrc: Chiefdom Monogam Dave Hillis        241    evolved
24  @}---                  Zul Nadzri         240    evolved
25  rdrc: Silhouette Ulcer Dave Hillis        231    evolved
26  Go on!                 Roy van Rijn       220    evolved
27  Petro "I'm Old" Warrio Zul Nadzri         216 *  evolved
28  Petro "I'm Old" Warrio Zul Nadzri         215 *  evolved
 =  rdrc: Cosy Eruption    Dave Hillis        215    evolved
30  rdrc: Bangui Handy     Dave Hillis        213    evolved
31  18393-6049-werewulf-na bvowk              209    evolved
32  Sabertooth.red         Ken Hubbard        206    evolved
33  rdrc: Surpass Strictur Dave Hillis        202    evolved
34  rdrc: Dub Pluck        Dave Hillis        194    evolved
35  Master of the Core     John Metcalf       190 *  qscan
36  4910-8311-xt430-9-nano bvowk              186    evolved
37  Polarization 04        Zul Nadzri         183 *  evolved
38  Polarization 05        Zul Nadzri         180 *  evolved
 =  Bombus Terrestris      S.Fernandes        180    evolved
40  2218-6722-xt430-22-nan bvowk              179 *  evolved
41  Heavy Ash              Ken Hubbard        174    clear
 =  wisdom of the grasshop Simon Wainwright   174    clear
43  YACE: Optimistic Limbo Roy van Rijn       164    evolved
 =  Micro-Masher           Roy van Rijn       164    evolved
45  Type-1                 John Metcalf       163    scanner
46  152154-5742-xt642-8-ev bvowk              162    evolved
47  Hit the button, George Kathi              160    evolved
48  Man vs Machine         Roy van Rijn       156    evolved
 =  9988-449-xt642-8-nano- bvowk              156    evolved
50  testb                  John Metcalf       153    scanner
 =  Humans rule over machi G.Labarga          153    scanner

40 of the 51 warriors in the HoF are evolved, showing how evolved
warriors once possessed a strong advantage on the Nano hill.  The
11 hand-written warriors compose 4 qscans, 4 clears and 3 scanners.
Are the evolved warriors slowly losing their edge?
_____________________________________________________________________________

Status of the Koenigstuhl Recursive Infinite Nano Hill:

Rank Name                          Author                 Score
----------------------------------------------------------------
   1 Shutting Down Evolver Now..   Roy van Rijn           178.32
   2 Go on!                        Roy van Rijn           175.02
   3 h1_36                         Dave Hillis            174.35
   4 h1_3                          Dave Hillis            173.34
   5 toy soldier                   John Metcalf           172.99
   6 rdrc: Silhouette Ulcer        Dave Hillis            172.86
   7 Taking Over Nano IX           Jens Gutzeit           171.70
   8 listen to the rain            John Metcalf           170.51
   9 9988-449-xt642-8-nano-eve78   bvowk                  170.08
  10 forsaken                      John Metcalf           169.05
  11 looking glass                 John Metcalf           168.33
  12 12261-1211-xt430-8-nano-eve78 bvowk                  168.12
  13 Bombus Pratorum               S.Fernandes            168.10
  14 Bombus Terrestris             S.Fernandes            167.83
  15 Iceblade                      Metcalf/Wainwright     167.68
  16 wisdom of the grasshoppers    Simon Wainwright       167.02
  17 on-speed                      brx                    167.00
  18 Taking Over Nano VI           Jens Gutzeit           166.01
  19 3923-7280-xt430-0-nano-eve78  bvowk                  166.01
  20 Eagle: Wings of Fire          Zul Nadzri             165.79
  21 strike against the machines   John Metcalf           165.04
  22 miracles DO happen            Kathi                  164.67
  23 4910-8311-xt430-9-nano-eve78  bvowk                  164.05
  24 Sub                           Zul Nadzri             163.58
  25 Taking Over Nano V            Jens Gutzeit           162.51
  26 Sniper VI                     G.Labarga              162.32
  27 rdrc: Surpass Stricture       Dave Hillis            161.67
  28 written in the dust           John Metcalf           161.05
  29 Just another try...           Roy van Rijn           160.99
  30 A b y s s                     Zul Nadzri             160.07
  31 940-914-xt430-1-nano-eve78    bvowk                  159.49
  32 trial by fire                 John Metcalf           159.45
  33 Imp Legacy                    Zul Nadzri             158.88
  34 Second Nature                 John Metcalf           158.78
  35 Wild Roses                    John Metcalf           158.39
  36 Kore Klear 2                  Neo                    158.38
  37 Bombus Sylvestris             S.Fernandes            158.31
  38 Giant Killer                  Zul Nadzri             156.70
  39 flesh eating owls             John Metcalf           156.13
  40 from the analogue core        John Metcalf           155.50
  41 Attackimp                     Zul Nadzri             154.15
  42 Nano Clear                    Christian Schmidt      153.76
  43 Kore Klear                    Neo                    153.36
  44 SuperSentryIV                 J.J. 'Imrahil' Wingert 151.06
  45 imp-test2                     Neo                    150.76
  46 muddy puddle                  John Metcalf           150.68
  47 naosv2                        Nenad Tomasev          150.59
  48 Humans counter-attack!        Neo                    148.54
  49 More mutated beast            Neo                    148.46
  50 unique geometry               John Metcalf           148.33

The top 50 of 137 warriors on Christoph's Nano Koenigstuhl includes
24 evolved and 26 hand-written.

14 authors are represented in the top 50.  With 13, John has most.
Zul and Neo each have 6, bvowk 5, Dave Hillis 4.
_____________________________________________________________________________

Strategy: Nano Quickscanners

Sounds like a joke, but Qscans for nano are not only possible, they
also can be very effective.  By comparison, if a tiny warrior has a
size of 20 in a 800 sized core, (that's 1/40th of the core), a nano
warrior has 5 lines for a core size of 80, (1/16th of the core).
This suggests that if such a Qscanner can be fitted in 5 lines, it
could have a more effective detection rate.

The scan+decode engine can be implemented in several ways, though,
in my opinion, the next one seems to be the most effective:

st:     sne.i d1,d2
        seq.i {ptr,d3
ptr:    mul.x #x,#y

...(attack, usually a simple clear loop)

Here we use the typical sne/seq pair from a standard Q^4, while the
mul line performs the decoding and also contains the pointer to the
scanned location.

So, the rule to calculate the addresses d1,d2 and d3 is as follows:

    d1=x*y

    d2 can be any location, shortly after or before d1, (depending
    if the clear attack goes forward or backward).

    d3=(x-1)*y , x being a location near d3: x=(x-1)*y +/-distance

We use the last formula to calculate x, so there exist several x,y
pairs that acomplish this rule. These pairs can be calculated quite
easily in a loop using your favourite programming language.

Also, to be more effective, it is better not to start attacking the
scanned location, but any other close to it, so your clear can wipe
completely your 5-line opponent with a forward or backwards clear.
So, the final formula may be like this:

    x=(x-1)*y-5

Forward attack, scanned (x*y)+5,(x*y)+10 first, and then (x-1),
(x-1)+5. -> x=(x-1)*y+5

Clearing backwards, scanned (x*y)-5,(x*y)-10 first, and then (x-1),
(x-1)-5. -> x=(x-1)*y-5

As an example, here is "My nano Qscan III", my best nano Qscan so
far, and the program I used to calculate constants.  It calculates
the location next to the scanned pair and clears backwards.

;redcode-nano
;name My nano Qscan III
;author G.Labarga
;assert 1

x equ 30
y equ 70
d1 equ ptr+(x*y)-6
d2 equ ptr+(x*y)-1
d3 equ ptr+(x-1)-5

st:     sne.i d1,d2
        seq.i {ptr,d3
ptr:    mul.x #x,#y
clr:    mov <49,<ptr
        djn.f clr,{clr
end st

The x,y calculation code is written for MatLab, though I believe it
is easy to understand. Lines starting with % are just comments,
values is a N,2 matrix containing the x,y pairs. I save them to file
and then create automatically N warriors for testing with these
constants, using another program.

% Calculates and saves constants for a nano-Qscan of the form:
%sne d1,d2
%seq {1,d3
%mul.x #x,#y
%mov ..,<-1
%so: x=y*(x-1)+k*80     %The formula

resp=input('Generate file with values? (y/n): ','s');
if (resp=='y')
  file=input('File name?: ','s');
end
kmax=input('Number of iterations, (k*80)? ');
n=1;
for k=0:kmax
  for y=5:74
     x=mod( ( (y+(k*80))/(y-1) ),80);  %Change this for other patterns
     if ( (mod(y*(x-1),80)>4) & (mod((x*y),80)>4) & (y~=mod((x*y),80))
& (y~=mod((y*(x-1)),80)) & (mod(x,1)==0) )
       disp(['x:' num2str(x) ' y:' num2str(y) ' x*y:'
num2str(mod(x*y,80)) ' y*(x-1):' num2str(mod(y*(x-1),80))]);
       valo(n,1)=x;
       valo(n,2)=y;
       n=n+1;
     end
  end
end
% Clear repeated x y pairs
j=2;
values(1,1:2)=valo(1,1:2);
for (i=2:n-1)
  igual=0;
  r=1;
  while ( (r<j) & (igual==0) )
       if (values(r,1:2)==valo(i,1:2))
        igual=1;
     end
     r=r+1;
  end
  if (igual==0)
     values(j,1:2)=valo(i,1:2);
     j=j+1;
  end
end
disp([num2str(n-j) ' repeated combos eliminated'])
if (resp=='s')
  save(file,'values')
  disp(['values saved: ' num2str(j-1) ' in ' file]);
end
values

Also, John Metcalf wrote a program to calculate x,y pairs in Redcode!

; command line:  pmars -s 80 -l 20 xycalc.red
; generates potential xy pairs for the nano Q^4 qscan, stored as dat
x,y

        org    eval

        xoff   equ -8

        upper  equ -8

        temp   equ xy-1
xy      dat    8-xoff,  8

loop    mov.a  #8-xoff, xy

eval    mov.f  xy,      temp    ; check x*y-xoff = x
        mul.x  xy,      temp
        sub    #xoff,   temp
        seq.ab xy,      temp
        jmp    next

        add.ba xy,      temp    ; check x*y+y in range
        slt.a  #-17,    temp
        slt.a  #7,      temp
        jmp    next

        sub.b  xy,      temp
        slt    #-5,     temp
        slt    #4-xoff, temp
ptr     jmp    next,    list

        mov.f  xy,      >ptr    ; store xy

next    slt.a  #upper,  xy      ; xloop
        jmp    eval,    }xy

        slt    #upper,  xy      ; yloop
        jmp    loop,    >xy

list    end

Thanks to John, for being the first Redcoder to send a Qscan to the
nano hill.  Otherwise it is likely no-one would have tried such an
unheard-of idea.  Finally, here's the code for the first
nano Qscan to become KOTH, the last of the dragons:

;redcode-nano
;name the last of the dragons
;author John Metcalf
;strategy another nano Q^4 qscan
;assert CORESIZE==80

; king of the nano hill April 2005

     x equ 59
     y equ 9

     sne   ptr+x*y+y+4, ptr+x*y+y+9
     seq   {ptr,        ptr+x-5
ptr  mul.x #x+1,        #y

loop mov   <35,         >ptr
     djn.f loop,        }loop

     end
_____________________________________________________________________________

Strategy: Nano Scanners

Before the appearance of Qscans and scanners, evolved clears were
dominating the nano hill. The only proud motivation for hand-coders
was brx's on-speed, which performed well on a very hard-to-enter hill.

The first succesful scanner to enter the hill as KOTH was Humans rule
over machines!, based on the 94nop warrior Origin of Storms.  This
nano warrior uses a special anti-clear bomb, widely used actually.

;redcode-nano
;name Humans rule over machines!
;author G.Labarga
;assert CORESIZE==80
;strategy scanner
;Using JM's Origin of storms trick

loop:   add.ab #5,ptr
atk:    mov.i bm,>ptr
ptr:    jmz.f loop,7
        jmp atk,<-8
bm:     mov.i #1,-1
end ptr

This second one is another former KOTH.  It is just a slightly faster
scanner which uses the same bomb.

;redcode-nano
;name Rocket propelled monkey II
;author G.Labarga
;assert CORESIZE==80
;strategy scanner

loo:    add #5,#9
        jmz.f loo,@loo
        mov bm,>loo
        jmp -2,<-8
bm:     mov.i #1,-1
end loo+1

And the third scanner is the only one of this group at the hill today.
It uses a transparent bomb, that works in a very similar way than the
previous bomb. It makes the warrior a smaller target to other scanners.

;redcode-nano
;name Ucekupatox
;author G.Labarga
;assert CORESIZE==80
;strategy Scanner
;strategy Randomly named

loop:   add #-5,scan
scan:   jmz.a loop,-7
        mov bmb,>scan
        jmp scan,<35
bmb:    mov.i #0,{0
end scan

The mov.i #1,-1 / mov.i #0,{0 bomb copies itself back when executed.
This is very useful to overwrite those nasty SPL heads in clears. The
scanner covers the target forwards, then continues scanning, so
a clear's processes will finally fall in empty core. Unfortunately,
the processes take some time to do this, and sometimes the scanner
attacks itself before the opponent dies.

A faster way to kill those processes is to drop first the bomb and
then clear with empty core, like S.Fernandes did in the oneshot
Bombus Sylvestris.

Our final scanner, unique geometry, is a surprising bomb/scan hybrid
which uses the 0.66c scan loop and also creates a slow decrement trail
as both secondary attack and decoy.

It scans backwards two separated locations using a -5 scan step,
(thanks to the djn.f) and bombs opponents with empty core.  This means
that it scans and attacks 4 locations every 10, (if nothing is found).

It is a bit more vulnerable to decoys than other scanners due to its
reduced bombing speed, (0.25c when a target is found).

On the other hand, Unique geometry scores well against other scanners
thanks to its wide core coverage and decrement trail.  Nice code from
J. Metcalf:

;redcode-nano
;name unique geometry
;author John Metcalf
;strategy scanner
;assert 1

scan:sne   -7,       39
     add   inc,      scan
ptr: mov   {40,      *scan
     mov   }ptr,     @scan
inc: djn.f scan,     scan
     end
_____________________________________________________________________________

Strategy: Nano Oneshots

Shortly after the qscans and scanners arrived on the Nano hill, the
first of the oneshots appeared.  To begin with, the scores looked
disappointing - the early oneshots survived just a few challenges.
Where others failed, Nenad Tomasev found the way forward with a
tricky piece of coding, a .5c scan -> spl/dat clear in just 5 lines!

;redcode-nano
;name naosv2
;author Nenad Tomasev
;assert CORESIZE==80
;strategy nano oneshot v2.0

step equ 5
ini equ 12

 org scan
scan add.ab stun, #ini
 jmz.f scan, @scan
stun spl #step, 10
clr mov.i *scan, >scan
 djn.f clr, {-10
end

Four months later, G.Labarga updated one of his oneshots from the
early Nano hill to produce the most successful nano oneshot to date.
Sniper VI effectively uses a reverse scan / reverse clear to create
a warrior which survived for 133 challenges - the current record for
a nano oneshot.

;redcode-nano
;name Sniper VI
;author G.Labarga
;assert CORESIZE==80
;strategy Oneshot

ptr:    sub.ab #6,#-6
scan:   jmz.f ptr,>ptr
        spl #0,<40
        mov {35,<ptr
        djn.f -1,{-1
end scan

Bombus Sylvestris first made an appearance on the Nano hill back in
November.  The key to its success is simple - it drops a single
anti-clear bomb on its target then switches immediately to a dat wipe.
The mov.i #0,-1 takes care of any processes which might be lurking in
a spl #0 at the top of an opponent, which the dat wipe might otherwise
miss.

;redcode-nano
;name Bombus Sylvestris
;author S.Fernandes
;strategy oneshot
;assert CORESIZE==80

        org     loop+1
step    equ     5

bomb    mov.i   #1          ,    -1
loop    sub.ab  #-step      ,    #10
        jmz.f   loop        ,    @loop
attack  mov.i   {bomb       ,    >loop
        djn.f   attack      ,    {bomb
        end

Victim of the night is relative newcomer to the Nano hill, which has
the advantage of only 3 lines visible to .f scanners.  Combined with
the reverse scan, this creates a lethal combination against the
majority of nano scanners.

;redcode-nano
;name victim of the night
;author John Metcalf
;strategy oneshot v2

scan add   #-6,      ptr
star jmz.f scan,     >ptr
     spl   #0,       0
ptr  mov   <-48,     -16
     djn.f {0,       }0
     end   star
_____________________________________________________________________________

Extra Extra: Type-1 by John Metcalf

September 15, 2005:  a day with a surprise addition to the Nano hill.
Along came a warrior with a score outside the typically narrow 140-150
range:

 #    %W/   %L/   %T                      Name             Author Score
  Age
 1  55.7/ 41.0/  3.3                    Type-1       John Metcalf 170.4
    1
 2  47.9/ 46.0/  6.0       rdrc: Borneo Birdie        Dave Hillis 149.8
  206
 3  47.5/ 45.7/  6.8 Rocket propelled monkey I          G.Labarga 149.4
    9
 4  47.6/ 46.3/  6.1 Petro "I'm Old" Warrior [         Zul Nadzri 148.8
   21
 5  47.1/ 45.9/  6.9 Shutting Down Evolver Now       Roy van Rijn 148.3
  219

Metcalf's new scanner, Type-1, entered the hill as Koth with an
impressive score of 170.4, a 20.6 point lead over the second place
warrior.  Type-1 remained in first place on the hill until it reached
age 65.

Type-1 scored extremely well against conventional d-clears (including
former Koths on-speed and Military Grade Nano) and some early
nano-scanners (such as former Koths Rocket propelled monkey II and
Humans rule over machines!).

As the only clear weakness, its vulnerability to nano-Qscan made it
drop down this hill as these new nano warriors increased their
presence.  Type-1 left the hill January 31, 2006 with an age of 163.

One of the secrets to the success of Type-1 is simple - scanning
backwards using a step of -5.

Finally, here's Metcalf's mystery code:

;redcode-nano;name Type-1
;author John Metcalf
;strategy scanner
;assert CORESIZE==80

     step  equ 5
     first equ bomb-10

bomb:mov.i #1,       -1
ptr: sub   #step,    #first
wipe:jmz.f ptr,      @ptr
     mov   bomb,     >ptr
     djn.f wipe,     {ptr-5
     end   wipe
_____________________________________________________________________________
NanoWarrior #1 authors:
S.Fernandes
John Metcalf <grumpy3...@hotmail.com>
Germán Labarga <neogryzorm...@mixmail.com> 
© 2002-2005 corewar.info. Logo © C. Schmidt