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 > Core Warrior > Issue #1

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>
© 2002-2005 corewar.info. Logo © C. Schmidt