__ __)
(, ) | / ,
__ _ __ _ | /| / _ __ __ _ __
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>
|