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 17                                                    February 19, 1996
______________________________________________________________________________
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:
http://www.stormking.com/~koth                  ;Stormking
http://www.ecst.csuchico.edu/~pizza/koth        ;Pizza
http://pauillac.inria.fr/~doligez/corewar/      ;Planar
______________________________________________________________________________
Greetings.

Much thanks to Beppe for covering my issue.  I've been out of things as of
late, so Bezzi has been keeping me current.  He even offered to help me get
back on the hill.  The _nerve_ of that guy 8) !
______________________________________________________________________________
Tournament Time

It's been a long while since the end of the NS fall core war tournament.  
Nandor and Stefan forced us to play in a different set of rules than the '94
draft hill's.  In the same spirit Wilkinson presents the Intellignet Warrior
Tournament.

The Details:

The Intelligent Warrior Tournament
v1.0

The subject of intelligent warriors often revolves around the idea that 
programs don't need to be intelligent to win.  The reason for this is 
fairly simply, the core is very forgiving.  There is little need for 
intelligence if the only thing you can break in core is the other 
program.  This isn't true in most computers.  Most computers need an 
operating system.  Programs might act a little smarter if there was an OS 
in core. 

The rules are fairly straight forward, they are exactly the same as the 
94 hill on Pizza, with one small exeption: RedOS.  The RedOS is a 
simulated operating system which resides somewhere in core with the two 
combatants.  Should the RedOS die, for any reason, the computer will 
"crash".  Scoring goes something like this.

Points  |  Condition
   3          Program kills opposing program and kept OS alive.
   1          Program, opponent, and OS live.
   0          Program dies, opponent and OS live.
  -3         OS dies.

Below you will find a listing for the RedOS.  Bear in mind that the RedOS 
is dynamic.  It makes several calls to P-Space and uses these numbers for 
internal checks.

;redcode-94
;name RedOS
;author jkl


org start

version equ 2,0

head    dat     CORESIZE,CORESIZE-toe   ;CORESIZE, CORESIZE-OS
        dat version
input   dat 0,0

start   ldp     #0,#0                   ; last state request
        sne.b   start,#-1               ; check for start up
        jmp     cold                    ; goto cold_boot
        sne.b   start,#0                ; check for error after hard crash
        jmp     error                   ; goto error
        stp     #1,#1

wait    jmz     0,input                 ; wait for input
        sne     input,#1                ; check for run
        jmp     run                     ;
        sne     input,#2                ; check for user clear
        jmp     clear
        sne     input,#3                ; user cold boot
        jmp     cold
        mov     clean,input
        jmp     error
        jmp     wait                    ; future function go here

error   ldp     #1,#0                   ; load previous error count
        add     #1,error
        stp.b   -2,#1                   ; store error codes
        slt.b   #10,error
        jmp     wait

clear   mov.b   head,2
        mov     clean,>toe              ; clear memory
        djn     -1,#0
        mov.ab  #1,toe
        mov     fix,head                ; bug fix
        mov     clean,input
        jmp     wait                    ; goto wait

cold    stp     #0,#1                   ; clean error count
        mov     clean,input
        jmp     wait

run     spl     *input
        mov     clean,input
        jmp     wait

fix     dat     CORESIZE,CORESIZE-toe+head      ;CORESIZE, CORESIZE-OS
clean   dat     0,0
toe     dat     1,1


;----------end os----------


The tournament rules:

One program person.  Programs should be mailed to jklewis@umich.edu 
before 3/5/96.  The tournament will be round robin style.  Results will 
be given on rec.games.corewars as soon as they are completed.

If you have further questions feel free to contact me at the address above.
------------------------------------------------------------------------------
John K. Lewis                   ** Please remember to CC:facu **
Ph# 747-3748                      John's sig.virus; copy me!
text pager: http://www.us.itd.umich.edu/~facu/page
______________________________________________________________________________
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  41/ 26/ 34      Grilled Octopus v0.1         David Boeren     155      47
 2  44/ 40/ 15                  Memories          Beppe Bezzi     148      21
 3  30/ 12/ 58      Hazy Shade Of Winter             John K W     147       8
 4  38/ 28/ 34               Tornado 3.0                Beppe     147     181
 5  41/ 40/ 18             Frontwards v2       Steven Morrell     142     632
 6  34/ 27/ 39               Blue Funk 5       Steven Morrell     141      53
 7  37/ 33/ 30               Thermite II        Robert Macrae     140     380
 8  41/ 42/ 16                      quiz              Schitzo     140     779
 9  38/ 36/ 27                    T.N.T.    Maurizio Vittuari     140     105
10  33/ 27/ 40                      test              P.Kline     139       2
11  40/ 41/ 19                Mirage 1.5        Anton Marsden     138     293
12  32/ 26/ 41           Jack in the box          Beppe Bezzi     138    1146
13  27/ 16/ 57                  Blizzard        Anton Marsden     137      99
14  27/ 18/ 55            Impfinity v4g1               Planar     136     579
15  24/ 12/ 63              Evol Cap 6.6       John Wilkinson     136     394
16  27/ 18/ 55                   Clisson              P.Kline     136       1
17  41/ 46/ 13               seventyfive         Anders Ivner     135     279
18  34/ 33/ 33                 Torch t18              P.Kline     135    1158
19  22/ 10/ 68               Night Train           Karl Lewin     134     666
20  39/ 43/ 18                      Blur        Anton Marsden     134       5
21  30/ 27/ 43                 patroclus       Kafka and Kurt     134     175
22  27/ 21/ 51                  Hector 3          Kurt Franke     133     125
23  37/ 42/ 20                Boombastic    Maurizio Vittuari     132     514
24  38/ 45/ 18                      Test             J E Long     131      27
25  36/ 48/ 16                      test          Beppe Bezzi     125       3

Weekly age: 118  
New warriors 8  Turnover/age rate 7%
Average age: 308 ( 249 last week, 284 the week before )
Average score: 138 ( 139 last week, 132 the week before )
The 25 warriors on the hill are represented by 15 authors.

Sorry I've been out of things.

Master of Weird Names--Boeren--has held the top spot for most of the week.
Bezzi's new entry, Memories, has jockeyed for that slot more than a few 
times.  And Hazy Shade of Winter sits at number 3.  These three new warriors
take the three top slots.  Not bad gentleman.  Blue Funk makes a reapperance,
stronger than ever.  Does the Funk retain its roots as an imp/stone or has it
evolved into the stunning bombers that are quite successful right now?
______________________________________________________________________________
94 - What's New

 1  41/ 26/ 34      Grilled Octopus v0.1         David Boeren     155      47
 2  44/ 40/ 15                  Memories          Beppe Bezzi     148      21
 3  30/ 12/ 58      Hazy Shade Of Winter             John K W     147       8
 6  34/ 27/ 39               Blue Funk 5       Steven Morrell     141      53
10  33/ 27/ 40                      test              P.Kline     139       2
20  39/ 43/ 18                      Blur        Anton Marsden     134       5
24  38/ 45/ 18                      Test             J E Long     131      27
25  36/ 48/ 16                      test          Beppe Bezzi     125       3
______________________________________________________________________________
94 - What's No More.

26   1/  1/  2                   test i7a         Beppe Bezzi       5      23 
26  29/ 34/ 37                Breeder v2           J. E. Long     124     150
26  36/ 50/ 14          smart crow again           Karl Lewin     122     106
26  35/ 50/ 15                   orestes                Kafka     120      77
26  34/ 45/ 21                  testnorm    Maurizio Vittuari     123     104
26  33/ 44/ 22                   Harmony              P.Kline     123      55
26  33/ 44/ 23     Koolaid II: WoGG v2.2         David Boeren     122     162
26   1/  0/  6      Hazy.Shade.Of.Winter             John K W      10     320
______________________________________________________________________________
94 - What's Old

23  31/ 35/ 34                 Torch t18              P.Kline     127    1158
13  31/ 28/ 42           Jack in the box          Beppe Bezzi     133    1146
 7  40/ 43/ 16                      quiz              Schitzo     137     779
22  19/ 11/ 70               Night Train           Karl Lewin     127     666
 5  41/ 41/ 18             Frontwards v2       Steven Morrell     142     632
10  26/ 19/ 54            Impfinity v4g1               Planar     134     579
24  35/ 44/ 21                Boombastic    Maurizio Vittuari     126     514
18  22/ 14/ 64              Evol Cap 6.6       John Wilkinson     130     394
 6  37/ 35/ 29               Thermite II        Robert Macrae     139     380
 8  40/ 43/ 17                Mirage 1.5        Anton Marsden     137     293
17  39/ 47/ 13               seventyfive         Anders Ivner     131     279

Geez.  We ought to think about raising the price of admission here.  And most
of these programs are rising in the hall of fame!  Mirage will be the next 
one to enter the HOF.  Tornado 3.0 is the next warrior staged to pass 200.
______________________________________________________________________________
HALL OF FAME
* means the warrior is still running.

Pos    Name                  Author          Age     Strategy
 1  Torch t18              P.Kline           1158 *  Bomber
 2  Jack in the box        Beppe Bezzi       1146 *  P-warrior
 3  Iron Gate 1.5          Wayne Sheppard     926    CMP scanner
 4  Agony II               Stefan Strack      912    CMP scanner
 5  Blue Funk              Steven Morrell     869    Stone/ imp
 6  Thermite 1.0           Robert Macrae      802    Qscan -> bomber
 7  quiz                   Schitzo            779 *  Scanner/ bomber
 8  Blue Funk 3            Steven Morrell     766    Stone/ imp
 9  HeremScimitar          A.Ivner,P.Kline    666    Bomber
10  Night Train            Karl Lewin         666 *  Replicator
11  La Bomba               Beppe Bezzi        650    Qscan -> replicator
12  myVamp v3.7            Paulsson           643    Vampire
13  Frontwards v2          Steven Morrell     632 *  One shot scanner
14  Armory - A5            Wilkinson          609    P-warrior
15  juliet and paper       Bremer & Bezzi     607    P-warrior
16  Phq                    Maurizio Vittuari  589    Qscan -> replicator
17  Impfinity v4g1         Planar             579 *  Stone/ imp
18  Hector 2               Kurt Franke        561    Qscan -> replicator
19  B-Panama X             Steven Morrell     518    Stone/ replicator
20  Boombastic             Maurizio Vittuari  514 *  Bomber
21  Evol Cap 6.6           John Wilkinson     394 *  Replicator
22  NC 94                  Wayne Sheppard     387    Stone/ imp
23  Cannonade              P.Kline            382    Stone/ imp
24  Thermite II            Robert Macrae      380 *  Bomber
25  Torch t17              P.Kline            378    Bomber

Lucky 3, Derision, and Request v2.0 have been dropped from the hall to make
way for Thermite II, Evol Cap 6.6, and Boombastic.  Now there are nine active
warriors climbing the ladder.
______________________________________________________________________________
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

 #  %W/ %L/ %T                      Name               Author   Score     Age
 1  55/ 18/ 27               CoreWarrior           M R Bremer     191      91
 2  51/ 14/ 35               Pretentious          Ian Oversby     188      32
 3  57/ 30/ 13            Assassin XII-b       Andy Nevermind     184       6
 4  50/ 18/ 32                  Gluttony                  JEL     183      42
 5  56/ 34/ 10                      test             J E Long     177      11
 6  43/ 10/ 47                     Test2         George Eadon     175      99
 7  44/ 18/ 37      Hyakutake C/1996 B2`         Scott Manley     171      13
 8  51/ 34/ 14               Paper Eater         David Boeren     168      23
 9  43/ 27/ 30     Uvavu II (revistited)         Scott Manley     160      34
10  43/ 27/ 30        Uvavu II (test 25)         Scott Manley     159      30
11  40/ 22/ 39                    Shabba             J E Long     158      24
12  34/ 16/ 50                Banshee VI       Andy Nevermind     153      57
13  43/ 41/ 16               Auntie v0.2          Ian Oversby     145      70
14  30/ 17/ 53          AB Scanner 2.9.3         Chris Hodson     144      36
15  43/ 45/ 12               Assassin XI       Andy Nevermind     142      17
16  36/ 34/ 29     Jezebel's Revenge CXX       Andy Nevermind     138      21
17  39/ 50/ 11               Fei-Oh v0.6         David Boeren     129      29
18  32/ 49/ 18               Slaver v1.1    Christoph C. Birk     115      83
19  34/ 55/ 11                      XPEH               Julian     113       2
20  31/ 50/ 18                      MJv5           J. E. Long     112      68
21  24/ 42/ 34             Fizz Wiz v0.1         David Boeren     105      19
22  24/ 45/ 31                  Inchworm             J E Long     103      18
23  24/ 53/ 24            Constrictor v2               Julian      94       4
24   7/ 45/ 48                 Test-bomb       Jens Heunemann      69      27
25  13/ 59/ 28         193g014 pop 500.2   Martin M. Pedersen      67       1

J E Long has made an apperance on the '94 draft hill as has Boeren--as King!
The last time I remember a b-hill author vaulting to the top of the '94 hill
was when Jippo's Silk Warrior claimed the top spot.  But perhaps Marsden's
Mirage did so recently.  I can't be sure.
______________________________________________________________________________
The Hint

Just a short hint today since I'm feeling quite ill and want to go home.

In the golden age, you could make a simple spl/jump scanner with a coreclear
and expect to kill replicators.  We all know this isn't true anymore.  The 
evolution of paper products has forced scanners to move to spl/spl/jump bombs
and spl/dat coreclears.  Sometimes spl/spl/dat clears are needed for diehard
type replicators, but they can also fail.  How do you kill these things?  Try
using a spiral clear with 381 as an increment.  It has a scan 2667 and a scan
1143 number of 7 and 3 respectively.  It should be able to eliminate 3 and 7
point imps.  127 is also a decent step size.  (Bezzi told me all this.)

But what if you don't have time for fancy coreclears and the like but need a
better endgame than just a plain dat clear?  Try using

	mov gate, <clear
	djn.f 0, <somewhere

You can get a 100%c decrement stream to wrap around the core without 
affecting spl #0s but mutating every other instruction.  Then the dat clear
can clean up the cripples.  I remember this from one of Kline's programs way
back when.
______________________________________________________________________________
Planar's Corner

                          CDB tutorial, part 5

I don't have much time, so this part will be very short.  I hope it
will still be useful.

"search" is the only command we haven't described in detail yet.
This command is much more useful than it seems.  It looks like a
command you'd only use once in a while, in interactive mode.

But we can also put it to good use in loops and macros.  Have a look
at Fahrenheit (in Core Warrior 9).  Say you want to run it until the
first MOV (the "ptr" line) is bombed.  You cannot use Stefan's "check"
macro, because the operands of "ptr" are changed by the ADD in the
normal operation of the warrior.  What you want to do is compare the
"ptr" line with "MOV.I <something, <otherthing".  "search" is the only
CDB command that can do it.

This is how I do it:

(cdb) @s~@0~@se mov.i <*,<*~if .==1~!

What it does: step once, then search for the first occurence of
"MOV.I <*, <*" from address 0.  The "*" are wildcards: they will match
anything (here: any number).  The dot address is set to this first
occurence.  If Fahrenheit has not bombed "ptr" yet, it will be 1.  If
not, it will be some other number.  If there is no occurence of the
search pattern in the whole core, the dot address will stay 0.

I have not tested the above code, so there must be some but in it.  If
anybody is reading this, find the bug and post it in the newgroup.

Another way of using "search" is to search from $ (the address before 0)
for a DAT, then check if its address is less than 5.  If it is, then
one of Fahrenheit's instructions has been bombed.  This is not perfect
either, because "DAT $0, $0" is seen as the empty string by "search",
just like "list", so we can't search for it.

We could also do a search for a comma "," starting from each of the 5
addresses, to check each instruction for emptyness, but this would be
quite slow (as described in the docs, searching for "," will find
every instruction that is not "DAT $0, $0").

-- Planar
______________________________________________________________________________
Questions?  Concerns?  Comments?  Complaints?  Mail them to people who care:
Beppe Bezzi <bezzi@iol.it> or Myer R Bremer <bremermr@ecn.purdue.edu>
2002-2005 corewar.info. Logo C. Schmidt