Issue 76 12 December, 1999
_______________________________________________________________________________
Core Warrior is a newsletter promoting the game of corewar. Emphasis is placed
on the most active hills - currently the '94 draft hill, the beginner hill and
the '94 no-pspace hill. Coverage will follow where ever the action is. If you
haven't a clue what I'm talking about then check out these five-star internet
locals for more information:
FAQs are available from:
http://www.koth.org/corewar-faq.html
http://homepages.paradise.net.nz/~anton/cw/corewar-faq.html
The ftp site and it's mirrors are at:
ftp://ftp.csua.berkeley.edu/pub/corewar
ftp://ftp.inria.fr/INRIA/Projects/para/doligez/cw/mirror
ftp://www.koth.org/corewar
pMARS itself is also available from:
http://www.koth.org/pmars ;pMARS home page
ftp://members.aol.com/ofechner/corewar ;Fechner ftp site
Web pages are at:
http://www.koth.org/ ;KOTH
http://www.ecst.csuchico.edu/~pizza/koth ;Pizza
http://para.inria.fr/~doligez/corewar ;Planar
Newbies should check the above pages for the FAQ, language specification,
guides, and tutorials. Post questions to rec.games.corewar. All new players
are infinitely welcome!
_______________________________________________________________________________
Greetings...
Apologies for the length of time passed since last issue. Fortunately
however, plenty of fascinating redcode has been published. New entries on
Koenigstuhl's '94 Hill include Jade (16th), nPaper II (19th) and Goonie
(20th). Interestingly, Ian Oversby has the only two non-scanners in the
top ten with Newt (4th) and Recovery (10th).
-- John Metcalf
_______________________________________________________________________________
Current Status of the Internet Pizza Server ICWS '94 Draft Hill:
Hill Specs:
coresize: 8000
max. processes: 8000
duration: after 80,000 cycles, a tie is declared.
max. entry length: 100
minimum distance: 100
rounds fought: 200
instruction set: ICWS '94 Draft
# %W / %L / %T Name Author Score Age
1 40.9/ 33.7/ 25.4 Origami Harquebus mjp 148.0 11
2 36.4/ 29.7/ 33.8 Vilex Ken Espiritu 143.1 15
3 41.0/ 39.5/ 19.6 SnooPy P.Kline 142.5 10
4 38.4/ 35.5/ 26.0 Self-Modifying Code Ben Ford 141.4 63
5 30.1/ 19.9/ 50.1 Wintermute John Metcalf 140.3 4
6 29.1/ 18.4/ 52.5 Jade Ben Ford 139.8 40
7 31.7/ 24.7/ 43.6 Digital Dream Christian Schmidt 138.7 0
8 38.1/ 37.5/ 24.4 Recycled Bits David Moore 138.7 117
9 26.5/ 14.8/ 58.7 Return of the Fugitive David Moore 138.3 44
10 26.0/ 14.5/ 59.5 Cinammon John Metcalf 137.5 13
11 30.5/ 23.7/ 45.7 Stonewashed Christian Schmidt 137.4 57
12 28.0/ 19.3/ 52.8 Jaguar Christian Schmidt 136.7 14
13 38.8/ 41.2/ 20.0 Snowman John Metcalf 136.4 61
14 34.2/ 32.6/ 33.1 Am I alive? Christian Schmidt 135.8 16
15 26.2/ 17.7/ 56.0 Stylized Euphoria Ken Espiritu 134.7 7
16 27.7/ 21.5/ 50.8 EvoP 3 Ken Espiritu 134.0 20
17 35.6/ 37.8/ 26.7 Trefoil the original Steve Gunnell 133.4 8
18 37.7/ 42.1/ 20.2 myBlur2 Paulsson 133.3 28
19 28.1/ 23.0/ 48.9 nPaper II Paul-V Khuong 133.3 20
20 25.4/ 17.8/ 56.8 Safety in Numbers Ken Espiritu 133.1 14
21 29.7/ 26.6/ 43.7 Trefoil b Steve Gunnell 132.9 0
22 27.0/ 21.2/ 51.8 Exor Ken Espiritu 132.7 20
23 30.6/ 28.9/ 40.5 The Stormbringer Christian Schmidt 132.4 117
24 40.2/ 48.6/ 11.2 Kenshin c Steve Gunnell 131.8 0
25 37.6/ 45.6/ 16.7 Qshot Christian Schmidt 129.7 0
Age since last issue: 20 ( 25 last issue, 43 the issue before )
Days since last issue: 101 ( 37 last issue, 61 the issue before )
Average age: 28 ( 33 last issue, 24 the issue before )
Average score: 137 ( 141 last issue, 141 the issue before )
Average movement: -4.2 ( -0.4 last issue, -8.3 the issue before )
Warriors surviving: 9 ( 13 last issue, 4 the issue before )
The top 25 warriors are represented by just 10 independent authors: Schmidt
with 6, Espiritu with 5, Gunnell and Metcalf with 3 each, Moore and Ford
with 2, and the remaining four authors with a single warrior. ( 10 authors
last issue, 9 the issue before )
Pihlaja returns to the 94 hill, claiming a strong hold on top rank with his
Origami Harquebus scanner/paper. Only myBlur successfully gains rank since
last issue - moving up 6 places... The average movement for the 9 warriors
which survive in the same version since last issue is down 4.2 ranks.
The top four positions are held by pspacers. Only Paulsson and Khuong
maintain a presence on the '94 hill without one. Maybe scanners would do
well to include brainwashing, since they suffer more than most...
_______________________________________________________________________________
94 - What's New (Sorted by rank and score)
# %W / %L / %T Name Author Score Age
1 38.7/ 35.6/ 25.6 Origami Harquebus mjp 141.9 1
3 39.9/ 37.8/ 22.3 Vile Ken Espiritu 142.0 1
3 37.3/ 33.8/ 28.9 Am I alive? Christian Schmidt 140.9 1
3 29.8/ 21.1/ 49.1 Wintermute John Metcalf 138.5 1
4 35.7/ 32.3/ 32.0 Vilex Ken Espiritu 139.1 0
7 41.3/ 44.1/ 14.6 Stalker P.Kline 138.6 0
7 29.9/ 22.6/ 47.5 Exor Ken Espiritu 137.3 0
7 29.8/ 22.9/ 47.3 EvoP 3 Ken Espiritu 136.7 0
9 39.9/ 43.6/ 16.5 Ignominy Ian Sutton 136.2 1
9 28.8/ 22.6/ 48.6 Baseline Deluxe Ken Espiritu 135.0 1
10 38.2/ 43.3/ 18.5 Jinx Christian Schmidt 133.0 0
11 28.4/ 21.7/ 49.9 Jaguar Christian Schmidt 135.1 1
11 26.4/ 18.2/ 55.4 Safety in Numbers Ken Espiritu 134.7 0
11 25.6/ 18.3/ 56.1 Stylized Euphoria Ken Espiritu 132.9 1
12 29.3/ 28.1/ 42.6 Trefoil b Steve Gunnell 130.4 0
13 24.1/ 16.2/ 59.7 Cinammon John Metcalf 132.0 1
16 37.2/ 42.9/ 19.9 SnooPy P.Kline 131.5 0
18 38.4/ 49.7/ 11.9 Kenshin c Steve Gunnell 127.1 0
19 34.2/ 38.7/ 27.1 Trefoil the original Steve Gunnell 129.6 1
21 38.2/ 49.7/ 12.1 Kenshin Steve Gunnell 126.8 1
22 26.8/ 27.5/ 45.6 Trefoil a Steve Gunnell 126.1 1
23 37.7/ 47.3/ 15.0 ping pong Steve Gunnell 128.1 1
23 27.5/ 28.9/ 43.6 Digital Dream Christian Schmidt 126.2 0
24 36.8/ 45.2/ 17.9 Eraser II Ken Espiritu 128.4 1
24 26.2/ 26.8/ 47.0 Experimental John Metcalf 125.6 1
25 35.0/ 48.2/ 16.8 Qshot Christian Schmidt 121.7 0
Players entering hill since last issue: 7 ( 9 last issue, 8 the issue before )
Average rank of new entries: 13 ( 11 last issue, 9 the issue before )
Some interesting ideas make up for the lack of hill activity. Amoung the
more unusual are a self-modifying imp launcher, anti-Carbonite and delayed
imps. Undoubtedly, there will be some interesting tricks in several of the
other new warriors too... For an anti-Carb p-space component, Pihlaja's
back-tracker from Quick Cooking makes a good starting point.
_______________________________________________________________________________
94 - What's No More (Sorted by age)
# %W / %L / %T Name Author Score Age
26 32.0/ 40.8/ 27.2 death by redcode Simon Wainwright 123.2 91
26 32.5/ 40.6/ 26.9 Stranger John Metcalf 124.3 73
26 27.9/ 27.8/ 44.3 One Step Beyond John Metcalf 127.9 67
26 32.5/ 38.7/ 28.8 Draken Fire Ben Ford 126.2 63
26 28.6/ 29.9/ 41.5 Icen Ben Ford 127.4 50
26 20.8/ 18.6/ 60.5 No More Innocuous Leonardo H. Liporati 123.1 49
26 26.4/ 26.3/ 47.3 Slippery Eels Ben Ford 126.5 42
26 37.2/ 47.7/ 15.1 Qshot Christian Schmidt 126.8 34
26 1.6/ 2.3/ 0.1 SnooPy P.Kline 4.9 33
26 36.7/ 46.8/ 16.5 goonie David Moore 126.7 29
26 35.4/ 46.8/ 17.8 Stalker P.Kline 124.0 15
26 31.7/ 36.2/ 32.1 The Endless Knot John Metcalf 127.2 14
26 39.5/ 51.4/ 9.1 QHSA Ken Espiritu 127.6 12
26 0.5/ 0.5/ 3.0 Exor Ken Espiritu 4.5 12
26 2.6/ 1.3/ 0.1 Jinx Christian Schmidt 7.8 11
26 29.1/ 31.0/ 39.9 Sword'n'shield Christian Schmidt 127.3 10
26 36.4/ 46.5/ 17.1 Ignominy Ian Sutton 126.3 10
26 2.0/ 1.3/ 0.7 Vile Ken Espiritu 6.6 5
26 25.8/ 25.2/ 49.0 Baseline Deluxe Ken Espiritu 126.4 4
26 35.7/ 48.8/ 15.5 ping pong Steve Gunnell 122.5 3
26 1.5/ 1.7/ 0.9 Trefoil a Steve Gunnell 5.2 3
26 0.3/ 0.5/ 3.1 EvoP Ken Espiritu 4.1 3
26 26.5/ 27.5/ 46.0 Experimental John Metcalf 125.6 2
26 37.6/ 50.3/ 12.0 Kenshin Steve Gunnell 124.9 2
26 35.6/ 46.5/ 18.0 Eraser II Ken Espiritu 124.6 2
26 35.1/ 47.3/ 17.6 TheFlyOnTheWall Christian Schmidt 122.9 1
Wainwright, Liporati and Sutton leave the hill completely.
_______________________________________________________________________________
94 - What's Old
# %W / %L / %T Name Author Score Age
8 38.1/ 37.5/ 24.4 Recycled Bits David Moore 138.7 117
23 30.6/ 28.9/ 40.5 The Stormbringer Christian Schmidt 132.4 117
4 38.4/ 35.5/ 26.0 Self-Modifying Code Ben Ford 141.4 63
13 38.8/ 41.2/ 20.0 Snowman John Metcalf 136.4 61
11 30.5/ 23.7/ 45.7 Stonewashed Christian Schmidt 137.4 57
The age gap between the ancient duo and the rest of the pack becomes even
larger, though Stormbringer isn't looking as healthy as it once was.
_______________________________________________________________________________
The Extended New Hall of Fame: * indicates the warrior is still active.
Pos Name Author Age Strategy
1 Probe Anton Marsden 403 Q^2 -> Bomber
2 Blur 2 Anton Marsden 396 Scanner
3 Damage Incorporated Anton Marsden 373 Q^2 -> Bomber
4 Return Of The Jedimp John K W 357 Q^2 -> Stone/imp
5 unrequited love kafka 346 Q^2 -> Paper
6 Impish v0.2 Ian Oversby 345 Stone/imp
7 Gigolo Core Warrior staff 332 Q^2 -> Stone/imp
8 Falcon v0.3 Ian Oversby 275 P-warrior
9 Nine Seven Six M R Bremer 232 Q^2 -> Stone/imp
10 Rosebud Beppe 218 Stone/imp
11 Newt Ian Oversby 216 Q^2 -> Stone/imp
12 Q^2 Miro Anders Ivner 214 Q^2 -> Scanner/bomber
13 Instant Wolf 3.4 Edgar 205 P-warrior
14 Goldfinch P.Kline 201 P-warrior
15 Simple v0.4b Ian Oversby 197 QScan -> Stone/imp
16 Trident^2 John K W 195 Q^2 -> Stone/imp
17 ompega Steven Morrell 189 Stone/imp
18 Frogz Franz 172 Q^2 -> Paper
19 The Machine Anton Marsden 164 Scanner
20 Memories Beppe 152 Scanner
21 Vain Ian Oversby 147 Q^2 -> Stone/imp
22 Head or Tail Christian Schmidt 142 Q^2 -> Paper
23 Electric Head Anton Marsden 140 P-warrior
24 Vigor Ken Espiritu 138 Q^2 -> Paper
25 Fixed Ken Espiritu 135 Q^2 -> Paper
26 Tiberius 3.1 Franz 130 Q^2 -> Paper
27 Ultraviolet-B Ken Espiritu 120 Q^2 -> Paper
28 Recycled Bits David Moore 117* P-warrior
= The Stormbringer Christian Schmidt 117* Q^2 -> Stone/imp
= obvious to those who k Robert Macrae 117 Q^2 -> Paper
31 Solomon v0.8 Ian Oversby 116 Stone and scanner
32 CC Paper 3.3 Franz 107 Q^2 -> Paper
33 mrb-test M R Bremer 106 *Unknown*
34 T.N.T. pro Maurizio Vittuari 105 Bomber
= Pulp v0.5 Ian Oversby 105 Q^2 -> Paper
36 Fugitive David Moore 102 Q^2 -> Paper/imp
37 Vengeance Robert Hale 101 Q^2 -> Stone/imp
38 Jack in the box II Beppe Bezzi 100 P-warrior
= Fire and Ice David Moore 100 P-warrior
40 Oblivion Ian Sutton 99 P-warrior
41 Silver Talon 1.2 Edgar 93 Scanner
42 death by redcode Simon Wainwright 91 Q^2 -> Bomber
43 Bodge 1 Robert Macrae 85 Q^2 -> Scanner
44 Inferno 2.4 Philip Kendall 84 Qscan -> Bomber
45 Test Anton Marsden 83 *Unknown*
= NCC-1701-A Philip Kendall 83 P-warrior
47 RetroQ Paul Kline 82 Q^2 -> Paper
48 Tornado 4 Beppe Bezzi 78 Bomber
49 He Scans Again Paul Kline 76 Scanner
50 Digitalis 4 Christian Schmidt 73 Q^2 -> Clear/imp
= Stranger John Metcalf 73 Q^3 -> Bomber
Death by redcode reaches rank 42, it's final resting place. Another
qscanning bomber, Stranger, only just scrapes into the HoF with an age equal
to the age of Digitalis. The two remaining active warriors climb 11 places
to reach 28th.
_______________________________________________________________________________
Current Status of the Internet Pizza Server Beginner Hill:
Hill Specs:
coresize: 8000
max. processes: 8000
duration: after 80,000 cycles, a tie is declared.
max. entry length: 100
minimum distance: 100
maximum age: At age 100, warriors are retired.
rounds fought: 200
instruction set: ICWS '94 Draft
# %W / %L / %T Name Author Score Age
1 58.1/ 34.2/ 7.7 Nuke it! Silvio Sampietro 182.0 80
2 55.2/ 33.9/ 10.9 Grand Mal 1.0 Ransom Smith 176.4 15
3 45.2/ 24.2/ 30.6 PC WFB 166.3 52
4 48.7/ 38.1/ 13.3 Golden Gun Ken Hubbard 159.3 17
5 49.0/ 41.1/ 9.9 Forgotten Lore Simon Duff 157.0 31
6 45.9/ 36.1/ 17.9 the boy's a time bomb aCM 155.7 8
7 47.6/ 39.9/ 12.5 Gomjabbar V Ingo S Kacza 155.3 12
8 45.6/ 39.1/ 15.3 da mutant Paul-V Khuong 152.1 61
9 43.4/ 35.5/ 21.1 jollyblu aCM 151.3 16
10 45.3/ 44.3/ 10.4 Nuke it! (V 0.2) Silvio Sampietro 146.2 87
11 44.1/ 43.1/ 12.8 Wild-Fire P_.V_.K./John Metcal 145.1 62
12 36.2/ 27.7/ 36.1 Quickest Zeta Leonardo Humberto 144.7 83
13 43.8/ 43.8/ 12.4 B-52 #001 A.S. Mehlos 143.8 35
14 43.9/ 44.0/ 12.1 Neverland II John Metcalf 143.7 51
15 41.3/ 39.0/ 19.7 Arsonic C P._V._K. 143.6 59
16 45.5/ 47.5/ 7.0 Kenshin d Steve Gunnell 143.4 3
17 41.0/ 40.7/ 18.3 FireMaster 2 P._V._K. 141.4 57
18 38.9/ 36.5/ 24.6 DiHydrogen Monoxide Josh Yeager 141.2 14
19 40.9/ 41.1/ 18.1 Simpsons4Ever v0.4 Maurice Fern ndez 140.7 37
20 38.2/ 36.5/ 25.3 Silken Half Life v4.0 Dale Neal 139.8 88
21 31.3/ 24.6/ 44.0 2stoned aCM 138.0 22
22 29.9/ 22.7/ 47.4 Caladan II Ingo S Kacza 137.2 34
23 37.2/ 40.3/ 22.5 Silken Half Life Dale Neal 134.1 91
24 39.8/ 48.1/ 12.1 Gomjabbar IV Ingo S Kacza 131.5 13
25 23.4/ 57.3/ 19.3 x12 Herve Lepaisant 89.5 1
After an age of 34 since last issue, Nuke It! still dominates. Hardcore
and Quicker Zeta both retired, and Quick Zeta almost made it, dropping off
age 99.
_______________________________________________________________________________
Current Status of the KOTH.ORG '94 No Pspace Hill:
Hill Specs:
coresize: 8000
max. processes: 8000
duration: after 80,000 cycles, a tie is declared.
max. entry length: 100
minimum distance: 100
rounds fought: 250
instruction set: ICWS '94 Draft, excluding ldp and stp
# %W/ %L/ %T Name Author Score Age
1 36/ 20/ 44 Uninvited John Metcalf 151 6
2 45/ 42/ 13 Stalker P.Kline 149 39
3 36/ 26/ 38 Experimental John Metcalf 146 10
4 35/ 24/ 41 Omnibus John Metcalf 146 63
5 32/ 19/ 48 Jade Ben Ford 146 123
6 44/ 43/ 14 Eraser II Ken Espiritu 145 11
7 43/ 42/ 15 Zooom... John Metcalf 145 190
8 33/ 21/ 47 nPaper II Paul-V Khuong 144 54
9 36/ 28/ 35 Blacken Ian Oversby 144 301
10 32/ 20/ 48 Jaguar Christian Schmidt 143 41
11 32/ 21/ 47 EvoP 3 Ken Espiritu 143 50
12 43/ 43/ 14 Boys are Back in Town 1.1 Philip Kendall 143 316
13 43/ 44/ 14 Jinx Christian Schmidt 142 17
14 43/ 45/ 12 Win! David Moore 142 289
15 45/ 48/ 8 Kenshin Steve Gunnell 142 9
16 28/ 15/ 57 Cinammon John Metcalf 141 19
17 32/ 27/ 41 Icen Ben Ford 137 148
18 32/ 28/ 40 Ant Factory Christian Schmidt 137 149
19 41/ 45/ 14 Qshot Christian Schmidt 136 60
20 42/ 49/ 9 htest P.Kline 135 1
Four old warriors met their end during the 52 successful challenges since
last issue, Recovery (280), PC (134), The Pendragon (120) and goonie (108).
Only Blacken climbed, moving up a mere 3 ranks. For the 10 warriors which
survive from last issue, the average loss of rank is 5 places.
_______________________________________________________________________________
Tournament Results - Ilmari's Mini Tournament #2:
Ilmari's Mini Tournament #2 is over. The 22 competitiors each consisted of
just 4 redcode instructions, intended to battle for supremacy in an 80 cell
'teenie-weenie' core.
And the winner was - Dave Hillis with his h1_36.red - which amazingly was
created using a genetic algorithm. This illustrates how effective redcode
evolved in the correct environment can be.
# Score %W %L %T Strat Name Author
1 6882 67.6 21.1 11.2 clear h1_36.red Dave Hillis
2 5716 54.9 31.9 13.1 clear R-clear Ken Espiritu
3 5690 55.6 34.1 10.2 clear Petit Mal Ransom Smith
4 5634 54.0 32.7 13.1 clear 00 Clear Christian Schmidt
5 5577 50.5 27.4 22.0 paper invicta John Lewis
6 5273 52.6 41.1 6.1 stone Philosopher's Stone John Metcalf
7 5134 47.7 35.7 16.4 clear Target Practice Brian Haskin
8 4924 47.6 42.0 10.2 clear Those Lovely Banana... mjp
9 4912 46.9 41.0 11.9 clear pumpkin 4x Simon Wainwright
10 4876 41.8 31.8 26.3 stone Little scare Beppe Bezzi
11 4318 35.9 37.5 26.4 stone Obvious Leonardo H. Liporati
12 4308 28.8 23.6 47.4 imp Ring Thing Simon Duff
13 4109 33.8 39.8 26.3 s/imp MyGunIsQuick P.Kline
14 4037 39.6 53.5 6.7 scan Red Carpet Robert Macrae
15 3892 28.4 35.6 35.8 paper IMT#2_w2 Herve Lepaisant
16 3889 28.3 35.7 35.8 paper Nano Paper III Maurice Fernandez
17 3771 26.5 35.7 37.6 p/imp Chihuahua Chalupa David Moore
18 3621 29.5 46.4 24.0 clear hehehe Anders Rosendal
19 3562 30.0 49.2 20.6 clear Mini-Me WFB
20 3078 30.2 64.7 4.9 clear Dumb_Luck Kevin Brunelle
21 2732 10.1 35.1 54.7 stone A Little Something Planar
22 2307 16.9 61.9 21.1 clear Evolved C.Stubbs
The strategies in the table above provide the most minimal details and in
several cases are over-simplified. However, reading through the source
reveals interesting techniques plentiful.
Thanks to Ilmari for conceiving and hosting a superb tournament. Check out
the tournament homepage at:
http://www.sci.fi/~iltzu/corewar/imt2
_______________________________________________________________________________
Extra Extra -
Safety In Numbers by Ken Espiritu
Paper launched imp spirals are not new. They have been successfully used
before on the Hill. Some early examples include Diehard and theMystery.
More modern versions include Terkonit and the Fugitive.
There are many ways to launch imp spirals via paper: carrying an imp spiral
launcher in the paper (Diehard), binary launching the paper (theMystery,
Terkonit) or using steps in the paper which form imp spirals (the Fugitive).
I chose binary launching since it gives the most flexibility in chosing the
steps for the replicator. The problem with binary launch is that the paper
spends a lot of time at boot up, since it needs to boot 2 copies into core
before it can create imp spirals for 3-point imps.
Initially, the idea was to improve a paper I made a long time ago called
Bashful, which was an 8 process binary launched paper. One problem with it
was it was very susceptible to scanner attacks. By using lower processes,
scanners become less of a problem since the paper spends less time at each
location in core - which creates more decoys for the scanner to attack.
Also, spl carpets are less effective at stunning since only 4 processes are
caused to split versus 8. The problem is stones can more readily kill the
paper since the paper is longer and has more vulnerable instructions. Since
the paper is splitting very rapidly, it takes time before the child can get
its turn, and while it is waiting the stone could damage the replicator
causing it to die when it's turn comes. By using imp spirals, destruction
of the replicator section doesn't hurt the imp spirals formed.
At first I tried to use as few processes as possible, so I attempted to use
just 3 processes. This didn't score very well and it seemed it didn't bomb
enough; it was getting a very high amount of ties. Next I went to 4
processes and as I needed an extra instruction in the paper, I chose to use
the anti-imp and anti-djn bomb from the Fugitive (mov.i #1, {1). This bomb
is very good at killing a-field driven imps such as mov.i #2667, *0. You
may wonder would the bomb we are carrying affect our own imps? Yes, but the
carpet bombs laid down typically avoid hitting our own imps. Also the bomb
forces any type of djn whether it be djn.a, djn.b, or djn.f to fall through,
causing stones which use djn to lose built up processes, or drop processes
into their end game strategy. It also causes coreclears to drop through if
djn is used for loop back to the clear.
To understand binary launching we first must look at how a simple imp spiral
can be formed. Below is code to start a 3 process 3-point imp spiral:
spl first
spl last
middle jmp imp+2667*1 ;process 1
last jmp imp+2667*2 ;process 2
first nop 0 ;process 0
imp mov.i #0, 2667
What we see is that all processes must be started at the same time and in
the correct sequence. Order of execution is imp+2667*0, imp+2667*1,
imp+2667*2, imp+2667*3, imp+2667*4, etc. So to make a paper launching
version we must place the paper at the proper locations also and start it
in the correct sequence.
p equ 3 ;3 processes
spl 1
mov.i {0, #0 ;same as mov.i -1, #0
mov <middle, {middle
spl first
spl last
middle jmp 2667*1+top+p, top+p ;processes 3-5
last jmp 2667*2+top+p, top+p ;processes 6-8
first mov <last, {last ;processes 0-2
top spl @top, >1234
mov }top, >top
imp mov.i #0, 2667
Finally computer optimization was used to optimize both the bombing step and
paper's step constants. The optimization was performed by using a mini-hill
tournament which has variants of the paper which were scored against each
other by using modern scanners, one-shots and incendiary bombers as
opponents. After a couple of days of computation time, papers were
outputted based on score and age, and are tested on the real Hills.
Some improvements to this paper are the use of the decrements in the spl
b-fields in conjunction with the first carpet bomb run to create a decoy to
set off one-shots. Later, I added the new mini-q^3 that was published in
nPaper (Core Warrior 75), I also adjusted the q^3 constants to give it the
best score possible on the Hill with the paper.
Below is the code for Safety in Numbers:
;redcode-94
;name Safety in Numbers
;author Ken Espiritu
;strategy q^3 -> imp/paper
;strategy binary launched imp spirals
;assert 1
org qGo
p equ 4
stepa equ -3604
stepb equ -2748
bstep equ -1306
istep equ 2667
pGo spl 1, {imp+bstep+1+2*0 ; 4 processes
spl 1, {imp+bstep+1+2*1
mov {top, {middle
mov {top, {middle
mov <last, {last
spl first, {imp+bstep+1+2*2
spl last, {imp+bstep+1+2*3
middle jmp istep*1+top+p*2, {imp+bstep+1+2*4
last jmp istep*2+top+p*2,top+p*2
first mov <last, {last
top spl @top+p*2, {stepa
mov }top, >top
mov }top, >top
second spl @0, >stepb
mov }second, >second
mov.i #1, {1
imp mov.i #bstep, istep
for 41
dat 0,0
rof
qf equ qKil
qs equ (qd*3)
qd equ 100
qi equ 7
qr equ 11
; -+)>] 0/1 cycles [(<+-
qGo seq qd+qf+qs, qf+qs ; 1
jmp qSki, {qd+qf+qs+qi
seq qd+qf+6*qs, qf+6*qs ; B
jmp qFas, {qd+qf+6*qs+qi
seq qd+qf+5*qs, qf+5*qs ; B-1
jmp qFas, <qBmb
seq qd+qf+7*qs, qf+7*qs ; B+1
jmp qFas, >qBmb
seq qd+qf+9*qs, qf+9*qs ; A-1
djn qFas, {qFas
seq qd+qf+10*qs, qf+10*qs ; A
jmp qFas, {qFas
; -+>)] 2 cycles [(<+-
seq qd+qf+3*qs, qf+3*qs ; C
jmp >qFas, {qd+qf+3*qs+qi
seq qd+qf+2*qs, qf+2*qs ; C-1
jmp >qFas, {qSlo
seq qd+qf+4*qs, qf+4*qs ; C+1
jmp >qFas, }qSlo
seq qd+qf+12*qs, qf+12*qs ; B*C-B
jmp qSlo, {qSlo
seq qd+qf+15*qs, qf+15*qs ; B*C-C
jmp qSlo, <qBmb
seq qd+qf+21*qs, qf+21*qs ; B*C+C
jmp qSlo, >qBmb
seq qd+qf+24*qs, qf+24*qs ; B*C+B
jmp qSlo, }qSlo
seq qd+qf+27*qs, qf+27*qs ; A*C-C
djn qSlo, {qFas
seq qd+qf+30*qs, qf+30*qs ; A*C
jmp qSlo, {qFas
sne qd+qf+18*qs, qf+18*qs ; B*C
jmz.f pGo, qd+qf+18*qs-10
qSlo mul.ab #3, qKil ; C=3
qFas mul.b qBmb, @qSlo
qSki sne }imp+bstep+1+2*5, @qKil
add #qd, qKil
qLoo mov qBmb, @qKil
qKil mov qBmb, *qs
sub #qi, qKil
djn qLoo, #qr
jmp pGo, >10 ; A=10
qBmb dat {qi*qr-10, {6 ; B=6
end
_______________________________________________________________________________
Extra Extra Extra -
Wintermute by John Metcalf
Wintermute represents the final incarnation of the stone/imp Spooky Wench,
more lately known as One Step Beyond. Briefly then, Spooky Wench employed
a full Q^3 and a-driven imps; One Step Beyond simply moved to a miniQ^3 and
finally Wintermute changed to b-driven imps. Some improvement or other has
been made to the boot code with each new version - which now utilises 5
parallel processes to copy the imp-launcher and stone.
The stone is similar in concept to the much used Carbonite, but has been
designed to slow djn.f streams and d-clears with it's dat 1,>1 bomb. The
imp-launcher is almost identical to those typically used, having only one
small improvement. 7-point imps are also used.
The miniQ^3 is the same as the one which nPaper II uses, with a simple
alteration - the loop has been adjusted so the first of the 22 bombs is
placed not on the instruction found by the scan, but where-ever this
instruction's a-field points. This has shown a slight improvement in
performance against certain p-space and qscanning warriors. (Why?)
Anyhow, here is the code:
;redcode-94
;name Wintermute
;author John Metcalf
;strategy MiniQ^3 -> Stone/Imp
;assert CORESIZE==8000
org qGo
sBoot equ (sPtr+2093)
iBoot equ (sBoot-sStep)
pGo: spl 2, >-200 ; 5 processes
spl 2, >-350
spl 1, {-500
mov <sBmb, {iPos ; launch imp
mov <sPtr, {sPos ; launch stone
sPos:djn sBoot+5, #5 ; 4 processes for the stone
iPos:jmp iBoot+5, >-550 ; and 1 process for the imp
sStep equ 3039
sTime equ 3357
spl #0, 0
sLp: mov sBmb, @sP
sSel:add #sStep, sP
sP: djn.f sLp, {sSel-sStep*sTime
sBmb:dat 2, >6 ; used as boot pointer for imp
iStep equ 1143 ; 7-point imps
iPmp:spl #iImp, >-20
sub.f #-iStep-1, iJmp
sPtr:mov iImp, }iPmp ; used as boot pointer for stone
iJmp:jmp iImp-2*(iStep+1),>iImp+2*iStep-1
iImp:mov.i #iStep/2, iStep
for 41
dat 0,0
rof
qf equ qKil
qs equ (qd*2)
qd equ 100
qi equ 7
qr equ 11
; -+)>] 0/1 cycles [(<+-
qGo: seq qd+qf+qs, qf+qs ; 1
jmp qSki, {qd+qf+qs+qi
seq qd+qf+6*qs, qf+6*qs ; B
jmp qFas, {qd+qf+6*qs+qi
seq qd+qf+5*qs, qf+5*qs ; B-1
jmp qFas, <qBmb
seq qd+qf+7*qs, qf+7*qs ; B+1
jmp qFas, >qBmb
seq qd+qf+9*qs, qf+9*qs ; A-1
djn qFas, {qFas
seq qd+qf+10*qs, qf+10*qs ; A
jmp qFas, {qFas
; -+>)] 2 cycles [(<+-
seq qd+qf+3*qs, qf+3*qs ; C
jmp >qFas, {qd+qf+3*qs+qi
seq qd+qf+2*qs, qf+2*qs ; C-1
jmp >qFas, {qSlo
seq qd+qf+4*qs, qf+4*qs ; C+1
jmp >qFas, }qSlo
seq qd+qf+12*qs, qf+12*qs ; B*C-B
jmp qSlo, {qSlo
seq qd+qf+15*qs, qf+15*qs ; B*C-C
jmp qSlo, <qBmb
seq qd+qf+21*qs, qf+21*qs ; B*C+C
jmp qSlo, >qBmb
seq qd+qf+24*qs, qf+24*qs ; B*C+B
jmp qSlo, }qSlo
seq qd+qf+27*qs, qf+27*qs ; A*C-C
djn qSlo, {qFas
seq qd+qf+30*qs, qf+30*qs ; A*C
jmp qSlo, {qFas
sne qd+qf+18*qs, qf+18*qs ; B*C
jmz.f pGo, qd+qf+18*qs-10
qSlo:mul.ab #3, qKil ; C=3
qFas:mul.b qBmb, @qSlo
qSki:sne >3456, @qKil
add #qd, qKil
qKil:mov qBmb, *qs
sub #qi, qKil
mov qBmb, @qKil
djn qKil, #qr
jmp pGo, >10 ; A=10
qBmb:dat {qi*qr-10, {6 ; B=6
end
_______________________________________________________________________________
Questions? Concerns? Comments? Complaints? Mail them to people who care.
Beppe Bezzi <giuseppe.bezzi@galactica.it>, Philip Kendall <pak21@cam.ac.uk>,
Anton Marsden <anton@paradise.net.nz>, John Metcalf <grumpy3039@hotmail.com>
and Christian Schmidt <schmidt@chiral.apchem.nagoya-u.ac.jp>
|