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 54                                                    20 January, 1997
______________________________________________________________________________
Core Warrior is a weekly newsletter promoting the game of corewar.  Emphasis
is placed on the most active hills--currently the '94 draft hill and the
beginner hill.  Coverage will follow where ever the action is.  If you have
no clue what I'm talking about then check out these five-star internet locals
for more information:

FAQs are available by anonymous FTP from rtfm.mit.edu as
pub/usenet/news.answers/games/corewar-faq.Z
FTP site is: ftp.csua.berkeley.edu /pub/corewar
Web pages are at: (Please note new Stormking's address)
http://www.koth.org/                            ;Stormking
http://www.ecst.csuchico.edu/~pizza/koth        ;Pizza
http://pauillac.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!

If ftp.csua.berkeley.edu is unreachable, you can download pMARS at:
Terry's web page--http://www.infi.net/~wtnewton/corewar/
Planar ftp site--ftp://ftp.inria.fr/INRIA/Projects/para/doligez/cw/pmars
Fechter ftp site--ftp://members.aol.com/ofechner/corewar

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

Beppe Bezzi web page - http://www.aspide.it/freeweb/Bezzi
______________________________________________________________________________
Greetings.

Happy New Year everyone.  Hopefully 1997 will be an active, progressive year
for corewar.  It's been about a month since last issue so most of the stats
are for four weeks instead of one.

Also be sure to check Kline's article in the hints section.  Paul is always
quick to exploit the composition of the hill and find a niche.  RetroQ,
currently sitting pretty on top of the hill, does battle with all those nasty
Q^2 scans dominating the hill.

--M R Bremer
______________________________________________________________________________
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  37.4/ 20.8/ 41.8                    RetroQ              P.Kline 154.1    4
 2  33.4/ 17.7/ 48.9      Return Of The Jedimp             John K W 149.1  204
 3  38.2/ 27.4/ 34.4                    Gigolo   Core Warrior staff 149.1  258
 4  37.9/ 29.3/ 32.8            Nine Seven Six           M R Bremer 146.5   68
 5  34.4/ 23.5/ 42.1           unrequited love                kafka 145.3  302
 6  41.9/ 38.6/ 19.4                NCC-1701-A       Philip Kendall 145.2    7
 7  45.6/ 47.8/  6.6            He Scans Alone              P.Kline 143.4   19
 8  32.7/ 23.4/ 43.8                 Trident^2             John K W 142.0  134
 9  39.8/ 37.8/ 22.4              Solomon v0.8          Ian Oversby 141.8   50
10  36.8/ 36.6/ 26.6       TEST FFF mod10 full                Franz 136.9    1
11  29.3/ 22.1/ 48.6               Impish v0.2          Ian Oversby 136.5  243
12  33.1/ 29.7/ 37.2              Terkonit 0.4    Christian Schmidt 136.4   10
13  35.0/ 34.0/ 31.0         Fast Fast Fast v2                Franz 136.1   18
14  38.6/ 41.4/ 20.0               The Machine        Anton Marsden 135.7  110
15  37.9/ 41.6/ 20.5              Instant Wolf                Edgar 134.1   25
16  36.9/ 41.2/ 22.0              Scanitator 4    Christian Schmidt 132.6    6
17  36.5/ 40.8/ 22.7       Damage Incorporated        Anton Marsden 132.1  245
18  38.1/ 44.5/ 17.4                  Oblivion           Ian Sutton 131.7   69
19  40.2/ 49.2/ 10.6                  Memories               Beppe  131.2  118
20  40.7/ 51.1/  8.3                ScanKiller    Christian Schmidt 130.3    2
21  39.2/ 48.3/ 12.5                   Wallung    Christian Schmidt 130.1    8
22  37.6/ 45.6/ 16.8                     Probe        Anton Marsden 129.6  382
23  34.6/ 39.8/ 25.6              Tiberius 3.1                Franz 129.3  121
24  36.9/ 45.0/ 18.1                    Blur 2        Anton Marsden 128.8  381
25  35.8/ 42.9/ 21.3          Silver Talon 1.2                Edgar 128.7   91

Weekly age: 15 this week ( 43 last issue, 22 the issue before )
New warriors: 7  Turnover/age rate 47%
Average age: 115 ( 119 last issue, 91 the issue before )
Average score: 138 ( 142 last issue, 137 the issue before )
The top 25 warriors are represented by 12 independent authors:  Schmidt and
Marsden with 4; Franz with 3; Kline, JKW, Edgar, and Oversby with 2.  All
others with one lonely warrior each.

Kline rules the roost, first with He Scans Alone and than with RetroQ.  As
usual, his top rated warrior has a comfortable lead over second place Jedimp.

Venerable Blur 2 is in danger of falling of the hill completely.
______________________________________________________________________________
94 - What's New

 #   %W /  %L /  %T                       Name               Author Score  Age
16  30.0/ 29.2/ 40.8              Terkonit 0.4    Christian Schmidt 130.9    1
 2  42.9/ 37.6/ 19.5                NCC-1701-A       Philip Kendall 148.2    1
11  37.5/ 38.7/ 23.8              Scanitator 4    Christian Schmidt 136.3    1
16  41.8/ 49.6/  8.5                ScanKiller    Christian Schmidt 134.0    1
 1  36.8/ 19.9/ 43.4                    RetroQ              P.Kline 153.6    1
17  40.2/ 48.1/ 11.8                   Wallung    Christian Schmidt 132.3    1
10  36.8/ 36.6/ 26.6       TEST FFF mod10 full                Franz 136.9    1

New warriors entered the hill in the first and second position, although the
Enterprise has fallen to sixth in recent challenges.
______________________________________________________________________________
94 - What's No More 

 #   %W /  %L /  %T                       Name               Author Score  Age
26  37.1/ 49.8/ 13.1            Scankiller 0.1    Christian Schmidt 124.5   31
26  32.1/ 36.7/ 31.2                       YAP                Franz 127.5   22
26   1.3/  1.5/  1.1              Terkonit 0.3    Christian Schmidt   5.1    7
26  30.7/ 32.1/ 37.2               Falcon v0.3          Ian Oversby 129.4  282
26  33.8/ 42.4/ 23.7                CC Paper 2                Franz 125.2   91
26   1.0/  1.9/  1.1              Tsunami v0.5          Ian Oversby   4.1   12
26  31.3/ 35.6/ 33.1                    scTest              P.Kline 127.1   25

The average age drops as Oversby's Falcon v0.3 falls from the hill.
______________________________________________________________________________
94 - What's Old

 #   %W /  %L /  %T                       Name               Author Score  Age
22  37.6/ 45.6/ 16.8                     Probe        Anton Marsden 129.6  382
24  36.9/ 45.0/ 18.1                    Blur 2        Anton Marsden 128.8  381
 5  34.4/ 23.5/ 42.1           unrequited love                kafka 145.3  302
 3  38.2/ 27.4/ 34.4                    Gigolo   Core Warrior staff 149.1  258
17  36.5/ 40.8/ 22.7       Damage Incorporated        Anton Marsden 132.1  245
11  29.3/ 22.1/ 48.6               Impish v0.2          Ian Oversby 136.5  243
 2  33.4/ 17.7/ 48.9      Return Of The Jedimp             John K W 149.1  204

JKW enters the bottom of the list.
______________________________________________________________________________
HALL OF FAME
* means the warrior is still active.

Pos    Name                  Author          Age     Strategy
 1  Thermite II            Robert Macrae     2262    Qscan -> bomber
 2  Impfinity v4g1         Planar            1993    Stone/ imp
 3  Jack in the box        Beppe Bezzi       1620    P-warrior
 4  Tornado 3.0            Beppe Bezzi       1567    Bomber
 5  Torch t18              P.Kline           1539    Bomber
 6  Chameleon              Myer R Bremer     1437    P-warrior
 7  Frontwards v2          Steven Morrell    1420    One shot scanner
 8  Evol Cap 6.6           John Wilkinson    1299    Imp / stone
 9  quiz                   Schitzo           1262    Scanner/ bomber
10  T.N.T.                 Maurizio Vittuari 1204    Bomber
11  Grilled Octopus v0.5   David Boeren      1154    P-warrior
12  Hazy Shade II          John Wilkinson    1102    P-warrior
13  Stepping Stone         Kurt Franke       1049    Qscan -> Vampire
14  Rosebud                Beppe Bezzi        993    Stone/ imp
15  Iron Gate 1.5          Wayne Sheppard     926    CMP scanner
16  T.N.T. pro             Maurizio Vittuari  925    Bomber
17  Agony II               Stefan Strack      912    CMP scanner
18  Barrage                Anton Marsden      876    Qscan -> replicator
19  Blue Funk              Steven Morrell     869    Stone/ imp
20  Flurry                 Anton Marsden      835    Qscan -> pwarrior
21  Thermite 1.0           Robert Macrae      802    Qscan -> bomber
22  Blue Funk 3            Steven Morrell     766    Stone/ imp
23  Night Train            Karl Lewin         755    Replicator
24  Mirage 1.5             Anton Marsden      736    Scanner/ bomber
25  Blizzard               Anton Marsden      713    Qscan -> replicator

No changes this week, and I think we won't see any for long time, but we at
the Core Warrior are working on a new hall of fame that addresses testing,
etc.  Stay tuned for details or mail me with your opinions.
______________________________________________________________________________
Current Status of the Internet Pizza Server Beginner's 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

Last challenge: Thu Jan 16 17:26:45 PST 1997
 #   %W /  %L /  %T                       Name               Author Score  Age
 1  49.9/ 33.7/ 16.4          Silver Talon 1.1                Edgar 166.1   89
 2  48.1/ 33.1/ 18.8                  Hexagram            J.A.Denny 163.0    8
 3  50.4/ 38.5/ 11.1             Pentagram 2.a            J.A.Denny 162.3   10
 4  40.4/ 18.9/ 40.7              Terkonit 0.4    Christian Schmidt 161.9    5
 5  46.2/ 33.4/ 20.4               Flimsy v0.6          Ian Oversby 159.0    9
 6  49.3/ 42.2/  8.5            Scankiller 0.1    Christian Schmidt 156.4   20
 7  43.2/ 31.3/ 25.5            Scanitator 3.0    Christian Schmidt 155.1   15
 8  40.9/ 29.0/ 30.1            Hammermill 4.0        Matt Lewinski 152.8   95
 9  47.5/ 43.6/  8.9   The Stainless Steel Rat    Christian Schmidt 151.5   31
10  45.9/ 40.9/ 13.2          Goothmonger v1.2           Ian Sutton 150.9   33
11  35.8/ 20.8/ 43.4                DemonSpawn            J.A.Denny 150.8   18
12  42.3/ 34.3/ 23.5           Versatility 1.7   Ross Morgan-Linial 150.3   36
13  40.8/ 31.5/ 27.6                Apocalypse        Matt Lewinski 150.1   66
14  43.4/ 41.6/ 15.0      Mostly Harmless v1.1           Justin Kao 145.3   39
15  41.6/ 39.4/ 19.0       Vivid Radiation 2.0        Matt Lewinski 143.8   57
16  42.6/ 43.0/ 14.5            Flamberge 13.4        Matt Lewinski 142.2   58
17  37.1/ 32.7/ 30.2                Dust 0.7.5           Justin Kao 141.6   35
18  33.8/ 26.2/ 40.0                   Quantum    Christian Schmidt 141.4   12
19  40.0/ 40.5/ 19.5      Microsoft Office '96           Justin Kao 139.6   85
20  33.7/ 30.6/ 35.7                 Heartworm                Edgar 136.8    6
21  32.7/ 30.9/ 36.5              Escargot 0.5           Justin Kao 134.4   55
22  37.5/ 46.2/ 16.3         Bash the Rat V1.4           Ian Sutton 128.8   50
23  32.8/ 57.8/  9.4                  Trap94_1    Waldemar Bartolik 107.8    4
24  29.8/ 58.6/ 11.5                  Trap94_2    Waldemar Bartolik 101.0    2
25  28.4/ 61.3/ 10.2               Gisela 7110   Andrzej Maciejczak  95.5    1

26   8.9/ 83.0/  8.1               Forker v1.0         Andrew Bortz  34.8    0

Top 25 Averages:
    40.6/ 37.6/ 21.8                                                143.5   33
______________________________________________________________________________
The Hint
                On QScans and CoreWar Strategy.

QScans, particularly Q^2 scans modeled on Probe, are very successful on
the '94 Hill.  A couple of tests show why.  My little silk-imp program
'dTest' scores 120 points and gets zero wins against other replicators
and imps.  Adding a Q^2 scan increased the score by 20 points and obtained
20-30% wins against those other programs.  In fact, a dummy program
consisting of the Q^2 scan and a 20-line do-nothing loop scored 52 points,
with 20-30% wins against several programs (40% against Scanitator)!

Probe's Q^2 scan checks 50 core locations in 25 instructions, jumping
immediately to the calc/bomb routine when something is found.  His scan
code is about 70 instructions long, making him a good target for other
Q^2 scans.  Running the dummy Q^2 program against itself gives about
45% wins to each for a 90% 'find' rate between the two of them, which
is amazing.  This means that in a battle between two Q^2 scanning 
opponents, nearly 90% of the battles could be decided by the Q^2 scan,
with the two of them exchanging wins at 3 points apiece.  No wonder
non-scanners are struggling - by not cooperating with the Q^2 program,
they have to slug it out with "real" strategies :-)

Of course, any time you have several programs doing the same thing on
the Hill, a niche is created which is also an opportunity.  The
program 'He Scans Alone' puts a short decoy at minus-100 locations from
the cmp-scanner, which sometimes diverts the Q^2 scanner's attack.

Another approach is to put the Q^2 scan into reverse.  Scanning backwards
along the mirrored trail of a normal Q^2 scan will result in the two
scanners finding each other at the same time.  Then it's a race to
see who can bomb the other faster, putting a lucky bomb in the right
place before executing the opponent's bomb.  Still an even chance
to win or lose.

However, we don't want an even chance, we want more!  Either more wins
or fewer losses.  A non-cooperating Q^2 scan that gets his share
of wins but withholds them from others :-)  Which is where Retro-Q
comes in.

Retro-Q does a mirrored scan of the usual Q^2 so that he and a regular
Q^2 scanner find each other at the same time.  Then he splits his attack
into two routines which are located such that the opponent's attack will
not kill both.  Now both programs bomb each other, but at least one of
Retro-Q's routines will survive long enough to see his opponent die.

How well does it work?  Using Probe's Q^2 scan, Retro-Q scored 42/42
against Probe.  Using the RQ^2 scan he scored 58/25.  Against CCPaper2
he went from 29/25 to 38/7.  Against Gigolo from 21/30 to 30/20.

Of course this only works because Anton's scan routine has been copied
as-is into several programs.  Jumbling up the scan order (as opposed
to tweaking the scan 'step') would change the environment for Retro-Q,
robbing him of his advantage.  Still, he will continue to have an
advantage against non-redundant post-scan attacks in those matches
where they find each other at the same time, mabye 1-2 times per
200 fights.

If the RQ^2 scan fails to win, the silk-imps are launched.  Imps are like:

         mov.i #2*spcsz,}-spcsz*1

with multiple processes spaced 'spcsz' locations apart.  This means that
the imp is copying itself backward one step as well as forward one step
at the same time, which gives it enormous strength against spl carpets.
By themselves the silk-imps go 50/20 against The Machine and Scanitator.
Since they don't dat-bomb they can only win by surviving and overwriting
the opponent, like a good spiral should :-)

(The term "Retin-A" comes from a wrinkle cream that came out a while back)

;redcode-94
;name RetroQ
;kill RetroQ
;author P.Kline
;assert CORESIZE == 8000
;strategy Retro Q^2 scan
;strategy silk-imps with retin-A - clear up those ugly spl's

spcsz    equ  (2000+381)
impsz    equ  (127*22)

;  RQ^2, like Anton's Probe only backward

QB EQU (start-350)
QS EQU (0-200)
QD EQU (0+100)

GAP EQU 8
REP EQU 15
datz     equ (start-200)         ; save one instruction

         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
qbomb:   dat    -GAP,GAP
qincr    dat    -GAP,2*GAP

         dat start+1,0           ; very important!
tab:     add.a  table  ,table    ; translate found location
slow:    add.ab @tab   ,fnd
fast:    add.b  *tab   ,@slow
which:   sne.i  datz   ,@fnd
         add.ab #QD    ,fnd
;break
         add.ba fnd    ,fnd
         spl    attack2          ; start primary bomber
         
attack1  add.b  fnd,fnd2         ; redundant bomber bombs left-to-right
bmb1     mov.i  qbomb  ,@fnd2
fnd2     mov.i  qbomb  ,@fnd-(GAP*REP)/2-GAP/2
         add    #2*GAP ,fnd2
bcnt     djn    -3     ,#REP
         spl   RetinB  ,<RetinB  ; start silk-imps
         jmz   RetinA  ,RetinA   ; if not already started
         dat 0,0

RetinA   spl   1,0
         mov.i -1,#0
         spl   1
b0       spl   @0,spcsz          ; two-level silk spawner
         mov   }b0,>b0           
c0       spl   @0,impsz
         mov   }c0,>c0
         spl   c0,{c0            ; loop and split
         mov.i #2*spcsz,}-spcsz*1
         mov.i #2*spcsz,}-spcsz*1
         mov.i #2*impsz,}-impsz*1
         
start:   seq.i  QB+QS*0,QB+QS*0+QD
         jmp    which,}QS*13 ; qinc+GAP

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

         seq.i  QB+QS*13,QB+QS*13+QD
         jmp    fast,{fast

         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

         seq.i  QB+QS*8,QB+QS*8+QD
         jmp    <fast,}QB+QS*8+QD/2
         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
         seq.i  QB+QS*21,QB+QS*21+QD
         jmp    tab,{fast
         seq.i  QB+QS*22,QB+QS*22+QD
         djn.f  tab,tab
         seq.i  QB+QS*27,QB+QS*27+QD
         jmp    <fast,>tab
         seq.i  QB+QS*28,QB+QS*28+QD
         jmp    tab,>tab

RetinB   spl   1,0
         mov.i -1,#0
         spl   1
         mov   <1,{1             ; make another copy and start him
         spl   4000+7,7          ;   safer than going back to RetinA 
                                 ;   which might have been spl-bombed by now
         
d0       spl   @0,spcsz          ; two-level silk spawner
         mov   }d0,>d0
e0       spl   @0,impsz
         mov   }e0,>e0
         spl   e0,{e0            ; loop and split
         mov.i #2*spcsz,}-spcsz*1
         mov.i #2*spcsz,}-spcsz*1
         mov.i #2*impsz,}-impsz*1
        
attack2  mov    qbomb  ,*fnd     ; primary bomber
         mov.i  qbomb  ,@fnd     ; bombs left and right from found location
fnd:     mov.i  -GAP/2 ,@QB
         add    qincr  ,fnd
         djn    -4     ,bcnt
         spl   RetinA  ,<RetinA  ; start silk-imps
         jmz   RetinB  ,RetinB   ; if not already started
         end start
______________________________________________________________________________
Questions?  Concerns?  Comments?  Complaints?  Mail them to people who care.
authors: Beppe Bezzi <bezzi@nemo.it> or Myer Bremer <bremermr@ecn.purdue.edu>
or Anton Marsden <amarsden@etherspace.gen.nz>
© 2002-2005 corewar.info. Logo © C. Schmidt