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 73                                                           27 May, 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:
  ftp://rtfm.mit.edu/pub/usenet/news.answers/games/corewar-faq.Z
  http://www.koth.org/corewar-faq.html

The ftp site and 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.html             ;Stormking
  http://www.ncs.infi.net/~wtnewton/corewar  ;Terry's web page
  ftp://members.aol.com/ofechner/corewar     ;Fechner ftp site

Web pages are at:
  http://www.koth.org/                       ;Stormking
  http://www.ecst.csuchico.edu/~pizza/koth   ;Pizza
  http://para.inria.fr/~doligez/corewar      ;Planar

Newbies should check the Stormking page for the FAQ, language specification,
guides, and tutorials. Post questions to rec.games.corewar. All new players
are infinitely welcome!

A collection of Bezzi's hints in the first issues is available at:
  ftp://ftp.volftp.vol.it/pub/pc/msdos/games/solutions/bbhints.zip
_______________________________________________________________________________
Greetings...

Another quiet month for core war has passed, with little activity anywhere.
J K Lewis has announced the Intelligent Warrior Tournament, with US$100 as
first prize. The deadline is tommorrow, so if you haven't done so already,
take a look at:

  http://www.concentric.net/~liminal/IWT/index.html

This issue - the new Q^3 qscan and the code for Ian Oversby's aggressive
paper/stone Recovery.

-- 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  46.3/ 33.0/ 20.7             Recycled Bits          David Moore 159.6   29
 2  47.6/ 35.9/ 16.5            Pattel's Virus             Ben Ford 159.3   29
 3  46.5/ 37.4/ 16.1            Circle of Fire         John Metcalf 155.6    0
 4  42.8/ 32.1/ 25.1              Spooky Wench         John Metcalf 153.5   16
 5  42.2/ 31.1/ 26.7          The Stormbringer    Christian Schmidt 153.4   29
 6  40.8/ 31.7/ 27.4                Puddleglum         John Metcalf 149.9   17
 7  43.0/ 36.6/ 20.5          death by redcode     Simon Wainwright 149.4    8
 8  39.9/ 30.9/ 29.2                    Shadow    Christian Schmidt 148.8   26
 9  40.0/ 33.0/ 27.0                     Fixed         Ken Espiritu 147.1   29
10  37.3/ 28.9/ 33.9        Freight Train v0.2          David Moore 145.7   29
11  41.0/ 36.9/ 22.1                    BiShot    Christian Schmidt 145.1   17
12  31.2/ 18.4/ 50.4              The Fugitive          David Moore 143.9   29
13  41.4/ 41.1/ 17.5          Silver Talon 1.2                Edgar 141.6   30
14  34.8/ 28.8/ 36.4     chained to the system     Simon Wainwright 140.8   15
15  44.9/ 49.3/  5.7               Neon Spring         John Metcalf 140.5   13
16  40.6/ 40.8/ 18.6                   Galatea             Ben Ford 140.4   29
17  37.3/ 34.4/ 28.3                      Twin    Christian Schmidt 140.3   29
18  44.5/ 48.8/  6.7       fatal lure of pMars     Simon Wainwright 140.1    4
19  34.1/ 28.5/ 37.4       Even Less Innocuous               TeamQ3 139.7   18
20  41.0/ 42.5/ 16.4          Nuke it! (V 0.4)     Silvio Sampietro 139.6    9
21  38.5/ 37.9/ 23.6            trefoil 23 226        Steve Gunnell 139.0   39
22  41.0/ 43.9/ 15.1 Boys are Back in Town 1.1       Philip Kendall 138.1   16
23  41.3/ 45.7/ 13.0                  Zooom...         John Metcalf 136.9   22
24  42.9/ 49.0/  8.1 .sS$Ss.sS$Ss.sS$Ss.sS$Ss.     Simon Wainwright 136.9    6
25  39.5/ 43.7/ 16.8                    myBlur     Simon Wainwright 135.4    2

Age since last issue: 16 ( 10 last issue, 69 the issue before )
Days since last issue: 44 ( 36 last issue, 32 the issue before )
Average age: 19 ( 8 last issue, 3 the issue before )
Average score: 145 ( 138 last issue, 143 the issue before )

The top 25 warriors are represented by just 11 independent authors: Metcalf
and Wainwright with 5, Schmidt with 4, Moore with 3, Ford with 2 and the
remaining authors with one lonely warrior each. ( 10 authors last issue, 9
the issue before )

The hill still lacks equilibrium and several key players have still not
returned. P-spacers are occupying the top three ranks and the numerous
scanners lurk at the lower end of the hill.
_______________________________________________________________________________
94 - What's New (Sorted by rank and score)

 #   %W /  %L /  %T                       Name               Author Score  Age
 3  44.1/ 39.2/ 16.8            Circle of Fire         John Metcalf 149.0    0
 4  41.3/ 37.9/ 20.8          death by redcode     Simon Wainwright 144.7    0
 6  44.5/ 48.3/  7.2               Neon Spring         John Metcalf 140.6    1
 8  39.7/ 41.9/ 18.4 Boys are Back in Town 1.1       Philip Kendall 137.5    1
11  39.6/ 41.8/ 18.6          Nuke it! (V 0.4)     Silvio Sampietro 137.3    1
12  42.6/ 48.2/  9.2 .sS$Ss.sS$Ss.sS$Ss.sS$Ss.     Simon Wainwright 136.9    1
13  42.4/ 49.4/  8.2       fatal lure of pMars     Simon Wainwright 135.5    1
15  41.5/ 49.6/  9.0      Shattered Glass v0.3         John Metcalf 133.3    1
16  32.9/ 32.9/ 34.2   Three Queens and a King    Christian Schmidt 133.0    1
16  30.3/ 29.9/ 39.8                Redemption         John Metcalf 130.8    0
18  32.6/ 33.4/ 34.1             Quickest Zeta    Leonardo Humberto 131.7    1
20  27.1/ 27.1/ 45.8     chained to the system     Simon Wainwright 127.2    1
24  37.5/ 43.9/ 18.7                    myBlur     Simon Wainwright 131.0    1
25  34.7/ 41.8/ 23.5                    Z-Shot         John Metcalf 127.7    1
25  38.5/ 50.7/ 10.8                       )X(         John Metcalf 126.2    1

Players entering hill since last issue: 6 ( 7 last issue, 7 the issue before )
Average rank of new entries: 14 ( 14 last issue, 12 the issue before )

Wainwright uses Death by Redcode to demonstrate qscanning bombers are
still an effective strategy.
_______________________________________________________________________________
94 - What's No More (Sorted by age)

 #   %W /  %L /  %T                       Name               Author Score  Age
26  33.4/ 41.1/ 25.5            Digital Dragon    Christian Schmidt 125.7   20
26  31.7/ 43.8/ 24.5            trefoil 28 558        Steve Gunnell 119.6   17
26  26.7/ 27.4/ 45.9                 Innocuous         John Metcalf 126.0   16
26  31.3/ 33.7/ 35.0                Redemption         John Metcalf 128.8   12
26  29.0/ 31.7/ 39.3            Less Innocuous    Leonardo Humberto 126.2   12
26  36.7/ 46.1/ 17.2        redcode ragamuffin     Simon Wainwright 127.4   10
26  26.2/ 31.7/ 42.1              Quicker Zeta    Leonardo Humberto 120.7   10
26  39.9/ 50.9/  9.3      Shattered Glass v0.3         John Metcalf 128.9    8
26  18.7/ 18.7/ 62.6     ;strategy stone/paper         John Metcalf 118.6    8
26  31.2/ 32.7/ 36.1   Three Queens and a King    Christian Schmidt 129.6    5
26  32.5/ 35.9/ 31.6             Quickest Zeta    Leonardo Humberto 129.1    5
26  18.7/ 17.6/ 63.7   ( 2 x^2 + 3 x + 1 ) / 2         John Metcalf 119.8    5
26   1.7/  1.5/  0.9              Have No Pity         John Metcalf   5.8    3
26  34.0/ 42.5/ 23.5                    Z-Shot         John Metcalf 125.5    2
26  37.8/ 51.6/ 10.6                       )X(         John Metcalf 123.9    2

Digital Dragon and Trefoil leave the hill, so now the number of warriors of
the magic age is reduced to 8.
_______________________________________________________________________________
94 - What's Old

 #   %W /  %L /  %T                       Name               Author Score  Age

Nothing yet - maybe next issue?
_______________________________________________________________________________
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  obvious to those who k Robert Macrae      117    Q^2 -> Paper
29  Solomon v0.8           Ian Oversby        116    Stone and scanner
30  CC Paper 3.3           Franz              107    Q^2 -> Paper
31  mrb-test               M R Bremer         106    *Unknown*
32= T.N.T. pro             Maurizio Vittuari  105    Bomber
32= Pulp v0.5              Ian Oversby        105    Q^2 -> Paper
34  Fugitive               David Moore        102    Q^2 -> Paper/imp
35  Vengeance              Robert Hale        101    Q^2 -> Stone/imp
36= Jack in the box II     Beppe Bezzi        100    P-warrior
36= Fire and Ice           David Moore        100    P-warrior
38  Oblivion               Ian Sutton          99    P-warrior
39  Silver Talon 1.2       Edgar               93    Scanner
40  Bodge 1                Robert Macrae       85    Q^2 -> Scanner
41  Inferno 2.4            Philip Kendall      84    Qscan -> Bomber
42= Test                   Anton Marsden       83    *Unknown*
42= NCC-1701-A             Philip Kendall      83    P-warrior
44  RetroQ                 Paul Kline          82    Q^2 -> Paper
45  Tornado 4              Beppe Bezzi         78    Bomber
46  He Scans Again         Paul Kline          76    Scanner
47  Digitalis 4            Christian Schmidt   73    Q^2 -> Clear/imp
48  Taking Names           Paul Kline          68    Scanner
49  Red Baron              Christian Schmidt   64    P-warrior
50  Blain                  Nimon               63    *Unknown*

Now increased to 50 ranks, the New HoF should be much easier to enter.
_______________________________________________________________________________
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  54.7/ 28.9/ 16.4            Pattel's Virus             Ben Ford 180.6   33
 2  51.3/ 32.8/ 15.8          Nuke it! (V 0.4)     Silvio Sampietro 169.8    5
 3  48.7/ 37.5/ 13.8        redcode ragamuffin     Simon Wainwright 159.8   19
 4  45.6/ 32.2/ 22.2          death by redcode     Simon Wainwright 159.1    4
 5  46.4/ 34.5/ 19.0           Spat the dummy. Steve Gunnell (oh ye 158.4   91
 6  46.1/ 38.1/ 15.8          Nuke it! (V 0.2)     Silvio Sampietro 154.0    7
 7  36.4/ 20.4/ 43.2             Quickest Zeta    Leonardo Humberto 152.3    3
 8  32.9/ 20.3/ 46.8              Quicker Zeta    Leonardo Humberto 145.6   25
 9  30.9/ 19.2/ 49.8                Redemption         John Metcalf 142.6   67
10  42.4/ 43.5/ 14.1       fatal lure of pMars     Simon Wainwright 141.2   35
11  36.2/ 33.4/ 30.5          Silken Half Life            Dale Neal 139.0   11
12  35.2/ 32.9/ 31.9     Silken Half Life v4.0            Dale Neal 137.4    8
13  37.9/ 39.5/ 22.5               Fire Master             P_.V_.K. 136.3   15
14  34.0/ 33.0/ 33.0    of mirth and merriment     Simon Wainwright 134.9   37
15  33.8/ 32.9/ 33.2     Silken Half Life v3.0            Dale Neal 134.8    9
16  27.7/ 22.5/ 49.8                Quick Zeta    Leonardo Humberto 132.8   30
17  35.4/ 39.6/ 25.0          No Time To Think         A. S. Mehlos 131.2   92
18  30.9/ 31.0/ 38.1          A man with a Gun             Ben Ford 130.7   76
19  27.3/ 23.9/ 48.7            HardCore v0.2b           Simon Duff 130.7   31
20  31.2/ 33.5/ 35.3           Frusteration II         A. S. Mehlos 128.9   95
21  35.0/ 44.9/ 20.1 Death kiss with a dash of      Anders Rosendal 125.1   51
22  23.5/ 22.1/ 54.4                  H-Bomb 9          Josh Yeager 124.8   89
23  32.1/ 40.4/ 27.5                  Red Sand          Ken Hubbard 123.7   14
24  33.3/ 44.9/ 21.8                  Crossbow          Ken Hubbard 121.7   13
25  26.8/ 33.4/ 39.9            quatrefoil 133        Steve Gunnell 120.2    1

ModerationRevisited, Fat Man, Arsonic C and Sticky Taped Together 1.2 all
retired at age 100 in the 13 challenges which have passed since last issue.
I noticed my jmp #0 warrior scored a large number of draws against some
warriors, and even some wins...
_______________________________________________________________________________
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  42/ 26/ 32          The Stormbringer    Christian Schmidt     157     167
 2  43/ 32/ 24               BiShot v1.0    Christian Schmidt     155      65
 3  39/ 29/ 32                   Blacken          Ian Oversby     149     143
 4  38/ 27/ 35                      Vain          Ian Oversby     149     233
 5  41/ 33/ 26               Liquid Fire    Christian Schmidt     149     129
 6  46/ 44/ 11                      Win!          David Moore     148     131
 7  38/ 28/ 34                  Recovery          Ian Oversby     147     156
 8  38/ 29/ 34             Baseline Plus         Ken Espiritu     147     214
 9  43/ 40/ 17                  Zooom...         John Metcalf     146      32
10  43/ 41/ 16 Boys are Back in Town 1.1       Philip Kendall     145     158
11  37/ 32/ 30              Spooky Wench         John Metcalf     142      20
12  35/ 27/ 38                 Brigadeer     M Joonas Pihlaja     142     152
13  36/ 31/ 32                     Fixed         Ken Espiritu     141     216
14  28/ 17/ 54         _romanian_killah_  Costin Bontas rulez     139     125
15  45/ 51/  4               Neon Spring         John Metcalf     139      15
16  27/ 17/ 56              The Fugitive          David Moore     138     235
17  42/ 49/  8                        t5         John Metcalf     136       3
18  32/ 28/ 40             Quickest Zeta    Leonardo Humberto     136       9
19  41/ 50/  9                        t8         John Metcalf     133       1
20  39/ 48/ 13                        t7         John Metcalf     131       4

18 successful challenges push Stormbringer back up to king. Liquid Fire
climbs up 12 places and The Fugitive drops down 11.
_______________________________________________________________________________
The Hint -
The Q^3 Qscan by Leonardo Humberto and John Metcalf

On occasions in the redcode world, a group of players will come together
to work co-operatively on a new warrior. One of these rare occasions has
led to a new qscan both faster _and_ smaller than the commonly used Q^2,
which we present here as Q^3.

The concept of the Q^3 decoder is at the heart of these improvements. It
uses a pair of multiplications to achieve 27 scans, compared to a trio
of additions and possibly a number leaking table references which a Q^2
would use. There are also several smaller improvements concealed within
the code :-)

Puddleglum is a Paper/Stone using Q^3 which currently performs well on
the '94 hill. As with most Paper/Stone warriors, his main weakness is
against oneshots. As you probably guessed Puddleglum is named in honour
of the famous Narnian marsh-wiggle!

Hopeless tweakers may like to start by changing A to 14 and C to 19 and
adjusting the appropriate scans - remember the scan order can make a
huge difference to the resulting score too...


;redcode-94
;name Puddleglum
;author John Metcalf
;strategy Q^3 -> Paper/Stone
;assert CORESIZE==8000

     org qGo

     pStep1 equ  220
     pStep2 equ 6172
     pStep3 equ 3060
     sBoot equ (pap1+6645)     ; 'pocket'

pGo: spl   1,       {pap1+1190
     mov   {sGo,    {sPos
     spl   1,       {pap1+2735
     mov   {sGo,    {sPos
     spl   sBoot,   {pap1+2955
sPos:spl   sBoot+6, {pap1+4760

pap1:spl   @0,      {pStep1    ; harmless paper! (Innocuous)
     mov   }pap1,   >pap1
     mov   }pap1,   >pap1
pap2:spl   @0,      {pStep2
     mov   }pap2,   >pap2
     mov   {pap2,   {pap3
pap3:jmp   pStep3+1,>pStep3-3
     dat   }1,      >1

     sStep equ 3039
     sTime equ 3357

sGo: spl   #6,       0
     spl   #0,       0         ; aggressive stone (Spooky Wench?!)
sLp: mov   sBmb,     @sP
sSel:add   #sStep,   sP
sP:  djn.f sLp,      {sSel-sStep*sTime
sBmb:dat   2,        >1

     for   13
     dat   0,0
     rof

     qf equ qKil
     qs equ 100
     qd equ 4000
     qi equ 7
     qr equ 11

     dat   15,          10         ; A,D
qTab:dat   7,           4          ; B,E
     dat   13,          11         ; C,F
qBmb:dat   {qi*qr-10,   {1

;    -+)>] 0/1 cycles [(<+-

qGo: seq   qd+qf+qs,    qf+qs      ; 1
     jmp   qSki,        {qd+qf+qs+qi
     seq   qd+qf+7*qs,  qf+7*qs    ; B
     jmp   qFas,        {qd+qf+7*qs+qi
     seq   qd+qf+6*qs,  qf+6*qs    ; B-1
     jmp   qFas,        {qTab
     seq   qd+qf+8*qs,  qf+8*qs    ; B+1
     jmp   qFas,        }qTab
     seq   qd+qf+13*qs, qf+13*qs   ; C
     jmp   qFas,        }qFas
     seq   qd+qf+14*qs, qf+14*qs   ; A-1
     djn.a qFas,        {qFas
     seq   qd+qf+15*qs, qf+15*qs   ; A
     jmp   qFas,        {qFas

;    -+>)] 2 cycles [(<+-

     seq   qd+qf+4*qs,  qf+4*qs    ; E
     jmp   >qFas,       {qd+qf+4*qs+qi
     seq   qd+qf+3*qs,  qf+3*qs    ; E-1
     jmp   >qFas,       <qTab
     seq   qd+qf+5*qs,  qf+5*qs    ; E+1
     jmp   >qFas,       >qTab
     seq   qd+qf+9*qs,  qf+9*qs    ; D-1
     djn.b >qFas,       {qSlo
     seq   qd+qf+10*qs, qf+10*qs   ; D
     jmp   >qFas,       {qSlo
     seq   qd+qf+11*qs, qf+11*qs   ; F
     jmp   >qFas,       }qSlo
     seq   qd+qf+18*qs, qf+18*qs   ; B*E+1-B-E
     djn.f qSlo,        qTab
     seq   qd+qf+21*qs, qf+21*qs   ; B*E-B
     jmp   qSlo,        <qTab
     seq   qd+qf+24*qs, qf+24*qs   ; B*E-E
     jmp   qSlo,        {qTab
     seq   qd+qf+32*qs, qf+32*qs   ; B*E+E
     jmp   qSlo,        }qTab
     seq   qd+qf+35*qs, qf+35*qs   ; B*E+B
     jmp   qSlo,        >qTab
     seq   qd+qf+39*qs, qf+39*qs   ; C*E-C
     djn.b qSlo,        }qFas
     seq   qd+qf+52*qs, qf+52*qs   ; C*E
     jmp   qSlo,        }qFas
     seq   qd+qf+56*qs, qf+56*qs   ; A*E-E
     djn.a qSlo,        {qFas
     seq   qd+qf+60*qs, qf+60*qs   ; A*E
     jmp   qSlo,        {qFas
     seq   qd+qf+63*qs, qf+63*qs   ; B*D-B
     djn.b qSlo,        {qSlo
     seq   qd+qf+66*qs, qf+66*qs   ; B*F-F
     djn.a qSlo,        }qSlo
     seq   qd+qf+70*qs, qf+70*qs   ; B*D
     jmp   qSlo,        {qSlo
     seq   qd+qf+77*qs, qf+77*qs   ; B*F
     jmp   qSlo,        }qSlo
     sne   qd+qf+28*qs, qf+28*qs   ; B*E
     jmz   pGo,         qd+qf+28*qs-10  ; Free Scan :-)

qSlo:mul.b qTab,        qKil       ; decode
qFas:mul.ab qTab,       @qSlo
qSki:sne   >3456,       @qKil
     add   #qd,         qKil
qLoo:mov   qBmb,        @qKil      ; .5c negative bomber, scores better
qKil:mov   qBmb,        *qs        ; overall than a bi-directional
     sub   #qi,         qKil
     djn   qLoo,        #qr
     jmp   pGo,         >4567
     end
_______________________________________________________________________________
Extra Extra -
Recovery by Ian Oversby

Recovery appeared on the hill sometime around October last year and
was rarely seen outside the top three ranks until every warrior was
wiped from the hill in the February massacre.

Joonas Pihlaja, who won the code for Recovery as 1st prize in Ian's
tournament has kindly shared the code with us.  An aggressive paper
(Pulp 0.5) and a small quick stone with core-clear are combined in
Recovery to create a warrior which scores much differently from the
typical defensive paper/stone - as can be seen in the test results
below. (As usual qscans removed)

          :     Recovery     :    Puddleglum    :      Shadow      :
          : %W %L %T Sca Pap : %W %L %T Sca Pap : %W %L %T Sca Pap :
Z-Shot    : 81 11  8 251  41 : 37 24 39 150 111 : 57 24 19 190  91 : 591
P-Swing   : 58 30 12 186 102 : 49 26 25 172 103 : 46 36 18 156 126 : 514
Phantasm  : 47 37 16 157 127 : 54 28 18 180 102 : 51 30 19 172 109 : 509
Sleep     : 47 39 14 155 131 : 38 34 28 142 130 : 64 19 18 210  75 : 507
HAL 9000  : 44 32 24 156 120 : 37 23 40 151 109 : 54 16 30 192  78 : 499
Scan Man  : 53 31 16 175 109 : 45 30 25 160 115 : 45 26 29 164 107 : 499
One Shot  : 53 35 12 171 117 : 45 36 19 154 127 : 50 33 17 167 116 : 492
Sharkrage : 41 38 21 144 135 : 35 26 39 144 117 : 54 17 29 191  80 : 479
BiShot    : 42 29 29 155 116 : 45 24 31 166 103 : 43 36 21 150 129 : 471
Harmony2  : 49 36 15 162 123 : 43 39 18 147 135 : 40 31 29 149 122 : 458
Win!      : 50 46  4 154 142 : 40 50 10 130 160 : 49 36 15 162 123 : 446
myZizzor  : 52 26 22 178 100 : 28 40 32 116 152 : 40 35 25 145 130 : 439
sTalon1.2 : 42 39 19 145 136 : 32 40 28 124 148 : 50 34 16 166 118 : 435
myVamp3.7 : 39 47 14 131 155 : 37 37 26 137 137 : 36 32 32 140 128 : 408
Blur 2    : 25 62 13  88 199 : 42 41 17 143 140 : 46 29 25 163 112 : 394
Torch t18 : 35 34 31 136 133 : 30 27 43 133 124 : 23 28 49 118 133 : 387
Mirage1.5 : 44 49  7 139 154 : 33 56 11 110 179 : 31 56 13 106 181 : 355
HSA       : 42 54  4 130 166 : 46 46  8 146 146 : 18 72 10  64 226 : 340
Memories  : 40 58  2 122 176 : 32 61  7 103 190 : 31 57 12 105 183 : 330
Benj'sRev : 16 21 63 111 126 :  7  3 90 111  99 :  2  2 96 102 102 : 324
Fixed     :  4  8 88 100 112 :  2  4 94 100 106 :  0  2 98  98 104 : 298

Recovery demonstrates a clear advantage against paper - while all
three paper/stone warriors are easily beaten by a oneshot.


;redcode-94
;name Recovery
;author Ian Oversby
;strategy Q^2 -> Paper/Stone
;strategy v0.2 An alternative stone
;assert 1

QB EQU (start-350)
QS EQU (QD*2)
QD EQU -100

GAP EQU 12
REP EQU 8
REP2 EQU 2

pdist   equ     2450

datz EQU        (table-3)
first   equ     (table-5)
datone  equ     bomba

half    equ     2692
full    equ     (2*half)
gate    equ     (inc-3200)

init    spl.b   #0,     #0
inc     spl.b   #0,     <gate
loop    mov.i   bmb,    @ptr
        add.ab  #full,  ptr
ptr     mov.i   bmb,    @full-1
        djn.f   loop,   <gate
bmb     dat.f   >1,     #half
; bmb   dat.f   #half,  >1

for 15
        dat.f   $0,     $0
rof

         dat    10*QS, 2*QS ; can get 21 values from this table
table:   dat     4*QS, 1*QS ; and can also use the initial value
         dat    23*QS, 3*QS ; of fnd

qinc:    spl    #GAP,-GAP
tab:     add.a  table,table
slow:    add.a  @tab,fnd
fast:    add.ba *tab,@slow
which:   sne.i  datz,*fnd
         add.a  #QD,fnd
         mov.i  datone,*fnd
         add.ab fnd,fnd

fnd:    mov.i  QB,GAP/2
        add.f  qinc,fnd
        mov.i  datone,*fnd
        djn.b  fnd,#REP
        jmp    boot,}QS*13

start:
            ; WHICH
        seq.i  QB+QS*0,QB+QS*0+QD
        jmp    which,}QB+QS*0+QD/2

             ; FAST
         seq.i  QB+QS*1,QB+QS*1+QD
         jmp    fast,}QB+QS*1+QD/2

         seq.i  QB+QS*13,QB+QS*13+QD
         jmp    fast,{fast
         seq.i  QB+QS*2,QB+QS*2+QD
         jmp    fast,{tab
         seq.i  QB+QS*3,QB+QS*3+QD
         jmp    fast,}tab

            ; SLOW
         seq.i  QB+QS*4,QB+QS*4+QD
         jmp    >fast,}QB+QS*4+QD/2
         seq.i  QB+QS*5,QB+QS*5+QD
         jmp    slow,}QB+QS*5+QD/2

         seq.i  QB+QS*6,QB+QS*6+QD
         jmp    slow,{tab
         seq.i  QB+QS*7,QB+QS*7+QD
         jmp    slow,}tab
         seq.i  QB+QS*10,QB+QS*10+QD
         jmp    >fast,<tab
         seq.i  QB+QS*11,QB+QS*11+QD
         jmp    slow,<tab
         seq.i  QB+QS*12,QB+QS*12+QD
         djn.f  slow,tab
         seq.i  QB+QS*23,QB+QS*23+QD
         jmp    >fast,>tab
         seq.i  QB+QS*24,QB+QS*24+QD
         jmp    slow,>tab
         seq.i  QB+QS*17,QB+QS*17+QD
         jmp    slow,{fast

            ; TAB

         seq.i  QB+QS*8,QB+QS*8+QD
         jmp    <fast,}QB+QS*8+QD/2
for 0
         seq.i  QB+QS*9,QB+QS*9+QD
         jmp    tab,}QB+QS*9+QD/2

         seq.i  QB+QS*15,QB+QS*15+QD
         jmp    tab,<tab

         seq.i  QB+QS*16,QB+QS*16+QD
         jmp    tab,{tab
         seq.i  QB+QS*20,QB+QS*20+QD
         djn.f  <fast,tab
rof
boot    spl.b   init,   <-1100
        spl.b   init,   <-1208
        spl.b   init,   <-1316
        jmp.b   paper,  <-1425

for 15
        dat.f   $0,     $0
rof

paper   spl.b   1,      <-1500
        spl.b   1,      <-1608
        spl.b   1,      <-1716
silk    spl.b   @0,     <117
        mov.i   }-1,    >-1
silk1   spl.b   @0,     <771
        mov.i   }-1,    >-1
        mov.i   bomba,  }3307
        mov.i   {silk1, <silk2
silk2   jmp.b   @0,     <748
bomba   dat.f   <2667,  <5334

end start
_______________________________________________________________________________
Questions?  Concerns?  Comments?  Complaints?  Mail them to people who care.
Authors:  Beppe Bezzi <giuseppe.bezzi@galactica.it>, Anton Marsden
<anton@paradise.net.nz>, Philip Kendall <pak21@cam.ac.uk> and John Metcalf
<grumpy@digitald.uk.com>
© 2002-2005 corewar.info. Logo © C. Schmidt