Infinite Hills
For Beginners
First Steps
For Beginners
> Home > The Corewar Newsletters > The '94 Warrior > Issue #1

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


Some of the recent discussion in 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
time. ;-)

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


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.
(			Salt Lake City, UT  84121
University of Utah				U.S.A.
Brant D. Thomsen			The teaching of BASIC in schools		should be considered a criminal act.
(University of Utah)						- Dijkstra
2002-2005 Logo C. Schmidt