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>
|