February 2, 1994 Issue #1
This is the first edition of _The '94 Warrior_, a new bi-weekly (twice a
month) newsletter that will discuss the ICWS '94 Draft hills on Stormking --
in much the same way as Paul Kline's _PUSH OFF_ newsletter covers the '88
Standard hill on KOTH. The 1994 redcode (draft) standard offers some exciting
advantages and challenges not available in the current (1988) standard.
It is my hope that this newsletter will help to increase enthusiasm for the
new standard among the newsgroup readers, and will ease its transition.
(After all, if you're going to live with it, you might as well enjoy it! ;^)
If you are unfamiliar with the '94 draft standard, you can learn more about
it by reading the FAQ for this newsgroup. In addition, the program pMARS
includes a highly recommended tutorial on the new standard. Feel free
to send me e-mail if you have any difficulty finding either of them, or
if you have any other questions.
First off, let's start with an introduction to the hills:
The ICWS '94 Draft Hill:
Core size: 8000 instrucitons
Max processes: 8000 per program
Duration: After 80,000 cycles, a tie is declared.
Max entry length: 100 instructions
This hill is exactly like the standard for the KOTH hill, except that it
also allows you to use instrutions from the '94 standard. Any programs you
have written for KOTH will work exactly the same on this hill. In fact,
a recent article in the rec.games.corewar newsgroup recommended that
everyone automatically submit their program to the '94 draft hill whenever
they send it to the standard KOTH hill. This sounds like a good idea to me!
The current ICWS '94 Draft hill:
# %W/ %L/ %T Name Author Score Age
1 42/ 24/ 35 NC II Wayne Sheppard 160 55
2 48/ 42/ 10 Rave Stefan Strack 155 38
3 47/ 42/ 11 Rave 3 Stefan Strack 153 27
4 45/ 36/ 19 Fast Food v2.1 Brant D. Thomsen 153 13
5 46/ 39/ 15 SJ-4 J.Layland 152 4
6 47/ 43/ 9 Medusa's v6 Mintardjo & Strack 151 60
7 37/ 23/ 40 Snake Wayne Sheppard 151 10
8 38/ 26/ 35 Sphinx v5.1 W. Mintardjo 151 58
9 36/ 23/ 41 ttti nandor sieben 149 11
10 45/ 40/ 15 Sylvester v1.0 Brant D. Thomsen 149 37
11 36/ 24/ 40 ttti94 nandor sieben 148 6
12 45/ 42/ 13 Fire Storm v1.1 W. Mintardjo 148 61
13 37/ 28/ 35 JustTakingALookSee J.Layland 145 54
14 43/ 41/ 16 Ntttgtstitd Simon Hovell 145 1
15 42/ 41/ 18 Beholder's Eye v1.7 W. Mintardjo 143 67
16 40/ 40/ 19 tiny J.Layland 141 35
17 42/ 46/ 12 infraRed nandor sieben 137 7
18 37/ 37/ 27 RotLD TNG 2 nandor sieben 136 21
19 40/ 54/ 6 Testdec 0.8 Jonathan Wolf 127 2
20 31/ 38/ 31 Plasma Wayne Sheppard 125 9
I have found the code for many of these programs on SODA, and several others
have been posted to the newsgroup. It may be revealing that the program
holding strong in the #1 position is written in the '88 standard.
(Correct me if I'm wrong, Wayne. :^)
The ICWS '94 Draft Experimental Hill:
Core size: 55,440 instructions
Max processes: 10,000 per program
Duration: After 500,000 cycles, a tie is declared.
Max entry length: 200 instructions
The size 55,440 was chosen for the core because this number has so many
divisors. (The values 2 - 12 are all possible.) In addition, since the
number 55,441 is prime, imp-spirals are not as effective. Because of the
increased size of the core, it is still uncertain what the best strategies
will be for this hill. (CG-X, by the way, is a group of modified stones.)
One big advantage of this hill is that you are _guaranteed_ to get on it.
In other words, WE NEED MORE PROGRAMS!
The current ICWS '94 Experimental hill:
# %W/ %L/ %T Name Author Score Age
1 79/ 7/ 14 CG-X IV Brant D. Thomsen 250 6
2 79/ 17/ 4 Rave 3 (55440) Stefan Strack 241 7
3 76/ 21/ 3 No Ties Allowed Wayne Sheppard 231 12
4 69/ 21/ 10 BS J.Layland 217 14
5 67/ 22/ 11 testing testing Fredrik Ohrstrom 213 2
6 63/ 18/ 19 BigImps James Layland 208 15
7 62/ 18/ 20 Frantic 0.9 A Lee 205 16
8 59/ 26/ 16 Road Hammer 0.3 Simon Hovell 192 13
9 59/ 32/ 8 bunker t3 P.Kline 186 3
10 54/ 24/ 22 Iron Gate Wayne Sheppard 183 11
11 41/ 53/ 6 Tiny Ring J.Layland 128 9
12 36/ 64/ 0 test 94X Anonymous 107 5
13-20 No entries
HINTS and HELPS:
Some of the recent discussion in rec.games.corewar has suggested that the new
standard will not result in any new forms of programs -- only shorter ones.
Whether or not this is true, programming redcode using the new standard
is an interesting challenge because there are so many more ways to do these
same things. One of the things I would like to do with this newsletter is
to share with you some of the hints, quirks, tricks and trivia I have found
and discovered that relate to the new standard.
With the '94 standard, it is possible to allow every mode for both the A
and B values of any instruction. One of the interesting possibilities
this allows is to have an instruction use the "#" addressing mode to refer
to itself. I first saw this used by W. Mintardjo in his program Lemming v1.0,
although I believe it was possible to use this trick back in the '86 standard.
(Again, please correct me if I'm mistaken. The '86 standard was before my
Take a look a the following redcode instructions:
MOV #100, 1
This is the '94 equivalent of the common imp (MOV 0, 1).
By choosing the first value for this instruction at random,
and using it as an imp-spiral instead of a common imp,
you make it impossible for imp-spiral scanners like Iron Trap
to function effectively.
SPL #732, <-17
This instruction functions exactly like SPL 0. It can be used
very effectively in a SPL/JMP bomber, or to make your core
clearing code more robust.
JMP #201, <-10
Anyone who has seen my source code to Distance or Fast Food should
recoginize this statement. It is the '94 equivalent to a "wimp".
If you have a program that generates a lot of processes, you can
put this statement (with one process) somewhere else in the code
as a defense in case your main code stops running. In addition, if
this instruction is the only one you have left, it will stop
any "standard" imp-spirals your opponent still may have.
Since it is possible, using the 94 standard, to manipulate the A value of
instructions so effectively, having the value of the A field's instructions
be irrelevant can be a big advantage. For example, in some of my earlier
programs I used a DJN.A stream. By using the above technique, my recent
programs are much more robust -- and the DJN.A streams much less dangerous.
Another advantage of using this trick is that I have also been able to reduce
the size of some of my programs by using this a value to store data -- instead
of DAT statements. As any veteran corewar programmer can tell you, one line
can make a big difference!
Of course, one disadvantage with this technique is that it can make your code
visible to any A-Field scanners. ("Enigma" by Stefan Strack is the only one
I've seen so far, but ...)
I NEED YOUR HELP:
if you have any comments or questions about the '94 hills or the '94
standard that you think might be of general interest, please let me know.
Without your assistance, these newsletters could start to get very dry -- and
nobody wants that to happen. (Right?)
Also, please submit your programs to the '94 hills. We'd love to have your
best KOTH warrior on the standard '94 hill, and I've found that the best way
to learn the '94 standard is to take an '88 standard program and try to
improve it. Not only will you get the additional challenge and enjoyment of
learning the new standard, but you will be better able to correct and critique
the latest drafts of the new standard when they arrive.
Good luck, and happy computing!
Brant D. Thomsen, Editor Snail mail: 1197 E. 6290 S.
(firstname.lastname@example.org) Salt Lake City, UT 84121
University of Utah U.S.A.
Brant D. Thomsen The teaching of BASIC in schools
email@example.com should be considered a criminal act.
(University of Utah) - Dijkstra