A midweek review of Corewar
September 15, 1993
-------------------------------------------------------------------------------
I. The Standings:
# %W/ %L/ %T Name Author Score Age
1 45/ 42/ 12 Iron Gate 1.01 Wayne Sheppard 148 225
2 45/ 47/ 8 Agony 6.0 Stefan Strack 142 34
3 41/ 39/ 20 Beholder's Eye v2 W. Mintardjo 142 2
4 32/ 23/ 45 Night Crawler Wayne Sheppard 142 1082
5 32/ 25/ 43 ttt nandor sieben 140 306
6 37/ 35/ 28 QuickFreeze t24 P.Kline 139 4
7 42/ 46/ 12 Dragon Spear c w blue 139 1184
8 29/ 20/ 51 pMARS pMARS project 139 131
9 30/ 24/ 46 Impact v1.0 Anders Ivner 137 219
10 30/ 25/ 45 Imprimis 7 P.Kline 135 322
11 36/ 37/ 27 Keystone t13 P.Kline 135 40
12 32/ 29/ 39 FlyPaper 3.0 J.Layland 135 506
13 36/ 37/ 26 Winter Werewolf 3 W. Mintardjo 135 400
14 40/ 47/ 13 Impurge Fredrik Ohrstrom 134 406
15 36/ 40/ 24 Leprechaun 1b Anders Ivner 133 150
16 38/ 43/ 20 Grimm's Vampyre c w blue 132 265
17 29/ 26/ 45 Sphinx v2.8 W. Mintardjo 131 2080
18 38/ 45/ 17 Eclipse II P.Kline 131 1
19 28/ 27/ 46 Hydra Stephen Linhart 129 151
20 34/ 39/ 27 Herem VI Anders Ivner 129 254
21 26/ 42/ 32 Disruptor v2.7 Fumitaka Hayashi 110 11
-------------------------------------------------------------------------------
II. The Basics:
-Core War Archives are available via anonymous FTP at
soda.berkeley.edu in pub/corewar...
-FAQ for this newsgroup is available via anonymous FTP at
rtfm.mit.edu as pub/usenet/news.answers/games/corewar-faq.z
-------------------------------------------------------------------------------
III. The Scoop:
Man, things have been tight on the Hill. Several days only 15 points
separated the top from the bottom. When scores are that close, every
challenge mixes up the rankings making it hard to tell what is holding
the top spot. In part this is due to my own Keystone, which brought
down the scores of those high-flying scanners and also the score of
Fly Paper. Keystone looks exactly like Emerald 4 (except for constants),
unless it thinks the opponent is paper, then it goes for the tie. Any
guesses as to how a stone detects paper?
Last week I suggested that imp-vampire combos like Snake and Incrimination
might have been made obsolete by anti-vamp programs. For those of you
not getting reports from KotH (you have to have a fighter on KotH),
W. Shepard put up Snake just to see. It placed 11th. But he knocked it
off because "it takes too many points away from Night Crawler".
Now, I thought we were trying to knock OFF the imps :-)
W. Mintardjo has been recycling some of his old favorites, Medusa and
Beholder's Eye. They are still tough. Working on some improvements
or just more constant tweaking? And what happened to Deck of Many Things
by C. Blue? Looked very good but he knocked it off. Seems like there
are a lot of tough programs out there. Maybe KotH is too small.
Or maybe people are exercising their warriors in preparation for the
upcoming tournament.
Can anybody give us a report on KotH at Stormking?
Welcome back! to Mark Durham, who is reconnected now, through Delphi.
-------------------------------------------------------------------------------
IV. The Outlook:
3 30/ 24/ 46 Deck of Many Things c w blue 137 1
5 39/ 39/ 23 sub-type-cmp c w blue 139 1
5 39/ 40/ 20 Beholder's Eye v2 W. Mintardjo 138 1
8 36/ 34/ 30 QuickFreeze t24 P.Kline 137 1
-------------------------------------------------------------------------------
V. The Quick Look:
18 38/ 45/ 17 Eclipse II P.Kline 131 1
19 25/ 39/ 36 Disruptor v2.7 Fumitaka Hayashi 112 1
19 39/ 51/ 10 Agony 7.0 Stefan Strack 128 1
20 3/ 69/ 28 sub-type-impx c w blue 37 1
20 11/ 31/ 58 bangle 4.1 Steve Gunnell 90 1
20 16/ 63/ 21 Smart Bomb 2.0 Devin Kilminster 68 1
20 24/ 58/ 18 ScanR2 Jonathan Wolf 91 1
20 25/ 62/ 13 Spiral Stephen Linhart 87 1
20 35/ 44/ 21 Distance v6.5 Brant D. Thomsen 127 1
21 1/ 37/ 62 Clinched Fist v1 Mitch Burton 66 0
21 2/ 50/ 47 sweep Fumitaka Hayashi 55 0
21 2/ 78/ 21 Jump! Jump! v1 Mitch Burton 25 0
21 4/ 39/ 56 impi II Geoff 69 0
21 4/ 65/ 30 Thief v1.3 Mitch Burton 44 0
21 5/ 88/ 7 Jester3 Fumitaka Hayashi 23 0
21 8/ 56/ 36 JuMPer Mitch Burton 61 0
21 11/ 44/ 45 Shwing! v2.1 T. H. Davies 78 0
21 13/ 45/ 42 <oh no not another> test Campbell Fraser 81 0
21 16/ 62/ 22 Invest Andre van Dalen 70 0
21 18/ 75/ 7 Daemon's BANE ]I[ Bryan 62 0
21 19/ 78/ 3 Inswarm Andre van Dalen 60 0
21 20/ 71/ 9 Dwarf AK Dewdney 69 0
21 24/ 24/ 52 Incrimination v2.0 Brant D. Thomsen 123 0
21 25/ 49/ 26 BombR Jonathan Wolf 101 0
21 26/ 56/ 18 BS1 J.Layland 97 0
21 29/ 60/ 11 ScanR Jonathan Wolf 97 0
-------------------------------------------------------------------------------
VI. The Hint:
Let's talk about a little-used bombing technique that I picked up from
'B-scanners-live-in-vain' by Matt Hastings, master of tiny programs.
;redcode quiet
;name B-scanners live in vain
;author Matt Hastings
add #1226,3
start jmz -1,@2
b1 mov grave,@1
b2 mov prog,<-2+1226
jmn -4,-4
prog spl 0,0
mov @10,<-1
grave jmp -1,0
(The labels 'b1' and 'b2' were added for this discussion.)
Notice how b1 moves 'grave' to where b2 is pointing, then b2 moves
'prog' to one position above that by using the 'grave' b1 dropped
as a pointer. This was Matt's solution to the problem of dropping
a second bomb (prog) without decrementing his bscan pointer, which
would have altered his scan sequence unpredictably. Also, notice
that prog and grave have zero b-operands, making them invisible
to his own scanning and to other b-scanners. Today there
are few successful b-scanners so most of us don't bother about zero
b-operands. And of course, under the '94 standard, you could scan
for a-operands.
Anyway I want to focus on the use of a first bomb as a pointer
for a second. The pointer can be anywhere. For example, a dumb
spl-jmp type bomber could be written like this:
step equ 2936 ; mod-8 step
next add #step,b2
b1 mov bjmp,@b2
b2 mov bspl,@bspl
b3 jmp next
bspl spl 0
bclr mov 10,<-10
bjmp jmp -1,step-1
In this version, the bjmp's are dropped and used as pointers so the
bspl's are dropped step-minus-1 locations away. The final bspl is dropped
on b3 to start the core-clear.
Next, look at this dat-bomber which bombs N and N+DIST which is what
QuickFreeze does. (W. Mintardjo and A. Ivner take note :-)
DIST equ 1000
b1 mov bbmb,@b2
b2 mov bbmb,@-100
sub #4,b2
jmp b1
bbmb dat #DIST
With a little work this could be turned into a bombing loop that would
bomb two and decrement two locations for every four instructions.
Of course any constant could be used, 4000 for instance.
-------------------------------------------------------------------------------
VII. The End:
Paul Kline
pk6811s@acad.drake.edu