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 77                                                         13 April, 2000
_______________________________________________________________________________
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!
_______________________________________________________________________________
Welcome to issue 77...

Time has passed slowly since last issue, with little sign of activity on
the hills.  However, there are clearly a couple of outstanding projects
in progress, as evidenced by some interesting test results returned by
both Pizza and Koth.

Pihlaja has revealed the secrets of Origami Harquebus, which still
dominates Pizza's '94 hill by 5 points.  Other excellent code published
includes Kline's Stalker...

-- 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  42.0/ 33.9/ 24.1         Origami Harquebus                  mjp 150.0   23
 2  39.7/ 34.2/ 26.1       Self-Modifying Code             Ben Ford 145.1   75
 3  37.3/ 29.9/ 32.8                     Vilex         Ken Espiritu 144.7   27
 4  30.7/ 20.2/ 49.1                Wintermute         John Metcalf 141.2   16
 5  29.7/ 19.1/ 51.3                      Jade             Ben Ford 140.2   52
 6  38.7/ 37.3/ 24.0             Recycled Bits          David Moore 140.2  129
 7  28.1/ 16.9/ 55.1               Tie Factory    Christian Schmidt 139.3    1
 8  27.2/ 15.6/ 57.2         Stylized Euphoria         Ken Espiritu 138.7   19
 9  29.5/ 20.9/ 49.6                 nPaper II        Paul-V Khuong 138.1   32
10  43.3/ 48.6/  8.2            Iron Curtain 3         Ken Espiritu 138.0    3
11  26.3/ 16.1/ 57.6                  Cinammon         John Metcalf 136.6   25
12  29.3/ 22.2/ 48.5               Stonewashed    Christian Schmidt 136.4    9
13  25.0/ 13.9/ 61.0    Return of the Fugitive          David Moore 136.1   56
14  29.5/ 23.6/ 46.9          Unlucky Redcoder         John Metcalf 135.4    5
15  30.9/ 26.9/ 42.2          The Stormbringer    Christian Schmidt 134.9  129
16  32.0/ 29.4/ 38.5                 Trefoil f        Steve Gunnell 134.6    7
17  35.7/ 37.6/ 26.7      Trefoil the original        Steve Gunnell 133.7   20
18  27.9/ 22.3/ 49.9                    EvoP 3         Ken Espiritu 133.5   32
19  39.8/ 46.2/ 14.0                  Friction         Ken Espiritu 133.3    7
20  30.4/ 27.6/ 42.0                 Trefoil c        Steve Gunnell 133.2   12
21  27.7/ 22.6/ 49.7                      Exor         Ken Espiritu 132.9   32
22  37.6/ 42.7/ 19.7                    SnooPy              P.Kline 132.6   22
23  27.2/ 22.5/ 50.4                    Jaguar    Christian Schmidt 131.8   26
24  39.2/ 48.1/ 12.8              Resurrection         Ken Espiritu 130.2    4
25  36.6/ 43.0/ 20.5                   myBlur2             Paulsson 130.2   40

Age since last issue: 12 ( 20 last issue, 25 the issue before )
Days since last issue: 121 ( 101 last issue, 37 the issue before )
Average age: 34 ( 28 last issue, 33 the issue before )
Average score: 137 ( 137 last issue, 141 the issue before )
Average movement: -1.5 ( -4.2 last issue, -0.4 the issue before )
Warriors surviving: 18 ( 9 last issue, 13 the issue before )

The top 25 warriors are represented by just 10 independent authors: Espiritu
with 7, Schmidt with 4, Metcalf and Gunnell with 3 each, Ford and Moore with 2
and the others with just one warrior each. ( 10 authors last issue, 10 the
issue before )

Snoopy drops 19 places from 3rd;  nPaper climbs 10 places to 9th.
_______________________________________________________________________________
94 - What's New (Sorted by rank and score)

#   %W /  %L /  %T                       Name               Author Score  
Age
 5  25.7/ 18.0/ 56.2               Tie Factory    Christian Schmidt 133.4    1
 7  39.6/ 46.2/ 14.2                  Friction         Ken Espiritu 133,1    1
 8  41.9/ 49.8/  8.3              Iron Curtain         Ken Espiritu 134.0    1
15  35.3/ 41.5/ 23.2                  Combatra          David Moore 129.1    1
15  29.1/ 31.0/ 39.9                 Trefoil f        Steve Gunnell 127.3    0
16  26.1/ 24.8/ 49.1          Unlucky Redcoder         John Metcalf 127.4    1
19  27.9/ 29.3/ 42.8                 Trefoil e        Steve Gunnell 126.5    1
23  37.0/ 49.3/ 13.8              Resurrection         Ken Espiritu 124.6    1
25  35.6/ 46.8/ 17.6         Spat the dummy II        Steve Gunnell 124.5    1
25  27.2/ 31.1/ 41.7                    Skaven    Christian Schmidt 123.4    1
25  35.9/ 48.8/ 15.4          vamp/scan test 7         Ken Espiritu 122.9    1

Players entering hill since last issue: 5 ( 7 last issue, 9 the issue before )
Average rank of new entries: 17 ( 13 last issue, 11 the issue before )

Moore demonstrates p-space can be used for more than just p-switching, with
Combatra, his boot distance calculator.  Schmidt's brainwashing paper
achieves some excellent scores, suffering only against one of Espiritu's
new scanners.
_______________________________________________________________________________
94 - What's No More (Sorted by age)

#   %W /  %L /  %T                       Name               Author Score  
Age
26  34.4/ 45.2/ 20.4                   Snowman         John Metcalf 123.7   64
26  21.4/ 19.6/ 59.0         Safety in Numbers         Ken Espiritu 123.3   23
26  29.7/ 36.0/ 34.3               Am I Alive?    Christian Schmidt 123.4   22
26  25.8/ 30.1/ 44.1             Digital Dream    Christian Schmidt 121.4   10
26  32.2/ 43.5/ 24.3                  Combatra          David Moore 120.8    3
26   1.9/  1.6/  0.6                 Trefoil e        Steve Gunnell   6.1    3
26  35.2/ 47.8/ 17.0                     Qshot    Christian Schmidt 122.5    2
26  26.6/ 31.1/ 42.3                    Skaven    Christian Schmidt 122.2    2
26  34.7/ 47.7/ 17.6         Spat the dummy II        Steve Gunnell 121.8    2
26  35.0/ 49.3/ 15.7          vamp/scan test 7         Ken Espiritu 120.7    2
26  37.9/ 50.9/ 11.2                 Kenshin c        Steve Gunnell 124.9    1
_______________________________________________________________________________
94 - What's Old

#   %W /  %L /  %T                       Name               Author Score  
Age
 6  38.7/ 37.3/ 24.0             Recycled Bits          David Moore 140.2  129
15  30.9/ 26.9/ 42.2          The Stormbringer    Christian Schmidt 134.9  129
 2  39.7/ 34.2/ 26.1       Self-Modifying Code             Ben Ford 145.1   75
12  29.3/ 22.2/ 48.5               Stonewashed    Christian Schmidt 136.4   69
13  25.0/ 13.9/ 61.0    Return of the Fugitive          David Moore 136.1   56
 5  29.7/ 19.1/ 51.3                      Jade             Ben Ford 140.2   52

Stormbringer climbs a few ranks out of the danger zone.
_______________________________________________________________________________
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  Recycled Bits          David Moore        129 *  P-warrior
 =  The Stormbringer       Christian Schmidt  129 *  Q^2 -> Stone/imp
29  Ultraviolet-B          Ken Espiritu       120    Q^2 -> Paper
30  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  Self-Modifying Code    Ben Ford            75 *  P-warrior

Recycled Bits and The Stormbringer continue to make slow progress, climbing
just a single place.  We welcome Ben Ford to the Hall of Fame with his Self
Modifying Code.
_______________________________________________________________________________
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  45.5/ 18.8/ 35.7                        PC                  WFB 172.3   85
 2  42.4/ 28.0/ 29.5       DiHydrogen Monoxide          Josh Yeager 156.8   47
 3  46.7/ 37.3/ 16.0             Grand Mal 1.0         Ransom Smith 156.2   48
 4  45.2/ 35.1/ 19.7                Golden Gun          Ken Hubbard 155.2   50
 5  32.0/ 13.3/ 54.7                Arkenstone         John Morahan 150.7    2
 6  40.1/ 32.6/ 27.3                  jollyblu                  aCM 147.6   49
 7  32.1/ 16.8/ 51.0                Caladan II         Ingo S Kacza 147.5   67
 8  42.7/ 39.2/ 18.1               Gomjabbar V         Ingo S Kacza 146.1   45
 9  27.2/  8.8/ 64.0              PimpKing 1.0           Simon Duff 145.5   32
10  31.0/ 18.2/ 50.8                   2stoned                  aCM 143.7   55
11  37.4/ 31.2/ 31.4                  Mob Boyz           Simon Duff 143.5   33
12  42.6/ 42.0/ 15.4            Forgotten Lore           Simon Duff 143.2   64
13  44.8/ 46.4/  8.8                 Kenshin d        Steve Gunnell 143.1   36
14  44.5/ 47.8/  7.7                      Mini         John Metcalf 141.3    1
15  40.9/ 41.5/ 17.6                 Wild-Fire P_.V_.K./John Metcal 140.4   95
16  25.4/ 12.5/ 62.1                   Fangorn         John Morahan 138.3    6
17  40.4/ 43.6/ 16.0              Neverland II         John Metcalf 137.2   84
18  37.5/ 38.7/ 23.8                 da mutant        Paul-V Khuong 136.2   94
19  36.7/ 38.1/ 25.2                 Arsonic C             P._V._K. 135.2   92
20  36.9/ 39.0/ 24.1     the boy's a time bomb                  aCM 134.8   41
21  37.0/ 40.0/ 23.0                Freeze 1.3        David Houston 134.0   13
22  36.8/ 40.1/ 23.1              FireMaster 2             P._V._K. 133.5   90
23  34.6/ 37.9/ 27.5                Freeze 2.0        David Houston 131.4   29
24  30.4/ 48.0/ 21.5                  pop1.red          ----------- 112.9    7
25  23.0/ 38.6/ 38.4                   Imp2000          Dave Hillis 107.3    8

Silken Half Life, Quickest Zeta and Nuke it! all retired during the 33
successful challenges since last issue.
_______________________________________________________________________________
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  45/ 42/ 13                   Stalker              P.Kline    147.7    136
 2  34/ 20/ 47                 Uninvited         John Metcalf    147.3    103
 3  35/ 24/ 41                   Omnibus         John Metcalf    146.6    160
 4  33/ 20/ 48                      Jade             Ben Ford    145.7    220
 5  43/ 42/ 14                  Zooom...         John Metcalf    144.7    287
 6  36/ 28/ 35                   Blacken          Ian Oversby    144.6    398
 7  43/ 42/ 15                 Eraser II         Ken Espiritu    144.0    108
 8  34/ 25/ 40              Experimental         John Metcalf    143.8    107
 9  44/ 47/  9                   Kenshin        Steve Gunnell    142.4    106
10  31/ 21/ 48                    Jaguar    Christian Schmidt    141.9    138
11  43/ 44/ 13 Boys are Back in Town 1.1       Philip Kendall    141.6    413
12  32/ 22/ 46                 nPaper II        Paul-V Khuong    141.4    151
13  43/ 45/ 12         vamp/scan test b1         Ken Espiritu    140.8     66
14  30/ 19/ 51               Tie Factory    Christian Schmidt    140.6      2
15  42/ 44/ 14                      Jinx    Christian Schmidt    139.3    114
16  31/ 22/ 47                    EvoP 3         Ken Espiritu    139.1    147
17  27/ 16/ 58                  Cinammon         John Metcalf    137.9    116
18  44/ 50/  7         Iron Curtain test         Ken Espiritu    137.3      1
19  32/ 28/ 40               Ant Factory    Christian Schmidt    136.9    246
20  31/ 27/ 42                      Icen             Ben Ford    134.2    245

The hill ages 97 with seemingly perpetual testing, helping Boys are Back
in Town become the first warrior to pass the age of 400.  Win! perishes,
age 322.
_______________________________________________________________________________
Extra Extra - Midget by Chip Wendell

Breaking from the great Core Warrior tradition of publishing warriors employing
innovative new techniques, presented below is Midget, a warrior of interest to
Core War historians...

Midget somehow became lost in time.  We know of it's existence from Dewdney's
report (Scientific American, Jan 1987) of the first annual Core War tournament.
Now, thanks to Ian D Bartholomew, the code for Midget has been recovered, as
have all missing finalists from this tournament.

As you will have no doubt suspected, Midget is based on Dwarf.  However, there
are important improvements which have since become commonplace.  For example,
the distance between zero bombs is 28.  The highest common factor of this and
coresize is 4.  Every fourth location will therefore be bombed but the larger
step size finds larger opponents much sooner than a step of 4 would.  Midget is
the first known warrior to exploit this fact.

One problem many early warriors face is the changes which have occurred to
redcode since Dewdney's first specifications.  Midget has suffered in this
repsect.  Originally, Midget's zero bombs would have been fatal if they were
place on an enemy program; this is no longer the case.

Another interesting change to redcode is the CMP instruction.  This originally
functioned as skip if not equal; currently it performs skip if equal. This
affects warriors such as Gemini.

Anyhow, here's the code for Midget.  Watch also for the other five missing
finalists (including Commando :-) appear on Koenigstuhl sometime soon.

;redcode
;name Midget
;author Chip Wendell
;strategy 3rd place in ICWST'86
;assert 1
START   ADD     #-28   ,3
        MOV     #0     ,@2
        JMP     -2
        DAT     #-980
        END     START

Examples of famous warriors still missing include Scanner by David Jones,
mentioned in Dewdney's first Core War article (Scientific American, May 1984)
as the first self-repairing program.  Also lost are almost all of the warriors
which competed in the ICWS Tournaments of 1991 and 1992.

                            - > ) ] O [ ( < -

A. K. Dewdney's Core War articles, as published in Scientific American, are
available on the WWW at http://www.koth.org/info/sciam
_______________________________________________________________________________
Extra Extra Extra - Cinammon by John Metcalf

Cinammon is a paper/imp which produces imps with two different techniques.
Imp-ring forming paper steps are chosen to generate 3-point rings, while
mirrored-imps are created by binary-launching the paper.

To create a paper which forms 3 point imp-rings (which have an imp-step of
2667) we need to find paper steps which ensure when an imp is executed, it is
followed at least sometimes by processes executing at imp+2667 and imp+2667*2.

If we take a simple silk copy copy, we can create a diagram showing where and
when each process is executed, as described by David Moore's article in Core
Warrior #68:

        spl     2       ; 5 parallel processes
        spl     2
        spl     1
pap1:   spl     @0,     X
        mov     }pap1,  >pap1           ; copy
pap2:   spl     @0,     Y
        mov     }pap2,  >pap2           ; copy
imp:    mov.i   #0,     2667


        | 0   1    2     3      4       5        6
    ----+------------------------------------------
      0 | 0   1    2     3      4!
      1 |              2+Y    3+Y     4+Y!
      2 |                    2+2Y    3+2Y     4+2Y!
      3 |                            2+3Y     3+3Y
      4 |                                     2+4Y
      5 |     X  1+X   2+X    3+X     4+X!
      6 |                   2+X+Y   3+X+Y    4+X+Y!
      7 |                          2+X+2Y   3+X+2Y
      8 |                                   2+X+3Y
      9 |         2X  1+2X   2+2X    3+2X     4+2X!
     10 |                          2+2X+Y   3+2X+Y
     11 |                                  2+2X+2Y
     12 |               3X   1+3X    2+3X     3+3X
     13 |                                   2+3X+Y
     14 |                      4X    1+4X     2+4X
     15 |                              5X     1+5X

Each row in the table represents an individual copy of the paper.  Each entry
shows where a process is executing at any given time.  Processes are executed
in column order; each entry will be executed in turn, top to bottom, repeated
once for each parallel process the paper has.  This is followed by the same
procedure in each subsequent column.

To make a paper which generates 3 point imp-rings, we select 3 positions which
we will refer to as R, S and T, sharing the same column in the table, each
lower (and consequently executed later) than the previous.  Position R should
be where an imp is executed, as indicated by an exclamation mark in the table.

Now, all we require are values for X and Y providing a solution, if one exists,
to the following equations, where R, S and T are substituted with their
corresponding entries in the table:

    S = R + 2667                 (2667 is the imp-step for 3 point rings in
    T = S + 2667                  a coresize of 8000, since 2667*3 = 8001)

For example, after selecting the processes at rows 0, 1 and 2 of column 4, we
can show Y must be equal to 2668 for imp-rings to form.  This is the sequence
employed by Return of the Fugitive:

    (3+Y)  =  (4)  + 2667
    (2+2Y) = (3+Y) + 2667     ->  Y = 2668

By selecting the processes at rows 2, 6 and 9 of column 6, we show Y must be
equal to X - 2667 for imp-rings to form.  This sequence is used by both The
Fugitive and Cinammon:

    (4+X+Y) =  (4+2Y) + 2667
    (4+2X)  = (4+X+Y) + 2667  ->  Y = X - 2667

At least 4 other sequences which allow imp-rings to form exist.  However, these
appear to be less effective than the two illustrated above, which were chosen
for use by David Moore in his two Fugitives.

Cinammon expands on this simple paper/imp, with the addition of a 3rd silk
copier, a silk-imp and a binary-launched mirrored-imp.  A mini-Q^3 has also
been added, as has a wimp.

The decision to add a wimp was not taken without careful consideration.  While
the score improves against certain scanners and p-spacers, it suffers a slight
decrease against many other warriors.  Notable examples include Friction and
Eraser.

The wimp is placed in an area of core which isn't overwritten by the paper.  To
ease the process of finding these core pockets I used a CDB macro which lists
the location of all pockets of at least 5 memory units.  I'm certain you can
improve on the macro below:

    pockets=&l0~!!~if1>a+b~!!~m_p~!1~&l+1~if0<x=.~!
    _p=!!~&l+1~if1>a+b~!~&l-1~if.-x>3~ca.-x+1,x

OPTIMIZATION:

To optimize Cinammon, I wished to improve on the simple slow Dumb Brute Force
method I have used in the past.  The mini-hill technique is popular and has
produced good results.  In the end though, I opted for the quicker to implement
Improved Brute Force:

  * proceeding as with Dumb Brute Force, we test the paper with random
    steps against a selection of warriors,

  * if the test paper scores below a carefully chosen value against one
    particular opponent, we abandon the steps without further testing,

  * if the paper scores well overall, we test similar steps during the
    next round of tests. In this instance, similar steps were chosen by
    changing just one step - by adding a large factor of coresize.

One small problem has troubled me in the past.  PMars uses a random number
generator to determine the distance between warriors in each round.  Over 200
rounds there are usually some duplicate distances.  Presuming we wish to avoid
these, we can either modify pMars or select a suitable -F number.

Once again I opted for the easiest approach, and looked for a -F number without
either duplicate or consecutive distances over 200 rounds.  There are just
four, 1306, 2204, 4864 and 7293 - one of which I selected to use during
optimization.  (What drawbacks are there to this solution?)

After a couple of hours runtime on an i486, several potentially good sets of
steps were revealed.  The top three of these were tested against Pizza's '94
hill before the steps used in the warrior below were finally selected:

;redcode-94
;name Cinammon
;author John Metcalf
;strategy Mini-Q^3 -> Paper/Imps and Wimp
;assert CORESIZE==8000

     pStep1 equ 6405                    ; computer optimized against scans
     pStep2 equ 4240                    ; from HSA, Snoopy & Recycled Bits
     pStep3 equ (pStep2-2667)
     wBoot  equ (pap1+5373)             ; pocket to place wimp, distance
                                        ; particularly effective against
     org qGo                            ; Recycled Bits scan :-)

ppGo:mov   {pap1,       {bb             ; binary launch
     mov   {pap1,       {bb
bb:  spl   pap1+4000+12,{qf+25*qs

pap1:spl   @12,         >pStep1
     mov   }pap1,       >pap1
     mov   }pap1,       >pap1           ; copy
pap2:spl   @0,          >pStep2
     mov   }pap2,       >pap2           ; copy
pap3:spl   @0,          >pStep3
     mov   }pap3,       >pap3           ; copy

     mov.i #-2669,      }4000-pStep3    ;   silk-imp
     mov.i #-pStep2,    2667            ; standard-imp
     mov.i #4001,       *0              ; mirrored-imp

     for 40
     dat 0,0
     rof

wimp:jmp   #0,          #0

     qf equ qKil
     qs equ 222
     qd equ 322
     qi equ 7
     qr equ 11

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

     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   #3,          qKil       ; C=3
qFas:mul.b qBmb,        @qSlo
qSki:sne   >qf+23*qs,   >qKil
     add   #qd,         qKil
qLoo:mov   *qKil,       <qKil
qKil:mov   qBmb,        }qs
     sub   #qi-1,       @qLoo
     djn   qLoo,        #qr

pGo: spl   }0,          >qf+29*qs  ; 6 parallel processes and 1
     spl   0,           }qf+28*qs  ; stray process for the wimp
     djn   ppGo,        #1
     mov   wimp,        {1
     djn.f wBoot+1,     #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