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 38                                                         July 15, 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: (Please note new Stormking's address)
http://www.koth.org/                            ;Stormking
http://www.ecst.csuchico.edu/~pizza/koth        ;Pizza
http://pauillac.inria.fr/~doligez/corewar/      ;Planar

Newbies should check the stormking page for the FAQ, language specification,
guides, and tutorials.  Post questions to rec.games.corewar.  All new players
are infinitely welcome!

If ftp.csua.berkeley.edu is unreachable, you can download pMARS at:
Terry's web page--http://www.infi.net/~wtnewton/corewar/
Planar ftp site--ftp://ftp.inria.fr/INRIA/Projects/para/doligez/cw/pmars
Fechter ftp site--ftp://members.aol.com/ofechner/corewar
______________________________________________________________________________
Greetings.

Summer brings some news in the hills; last year was pmars 08 with pspace,
this year we have our beloved hill maintainer working hard at hill format.

Thos, Pizza lord, is working at many small changes in formatting and new
sintax, last new has been the automatic calculation of scores averages,
thank you from the Core Warrior staff.

Tuc, Stormking boss, completed his planned phase 1 and changed the address
of his web page, now frame based and very cool, and hills, moving them on a
faster server. 
New addresses are:

web page:       http://www.koth.org/
hills:          koth@koth.org

With the new server I think that the 94x (big) hill can have answer in a
much shorter time and so get some more traffic.
Stormking new web page implements many interesting features, give a look at
it, it's worth the time.

You are encouraged to send them your opinions, suggestions, congratulations
and flames; they need our feedback.

This week I had a few problem submitting a warrior to the limited processes
hill because of a bug; now the bug has been fixed, thank to Andrew work, so
you can submit your warriors to <koth@wastedyouth.us.itd.umich.edu> with a
;redcode-94lp header.

--Beppe Bezzi
______________________________________________________________________________
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  43.1/ 34.6/ 22.3                     Probe        Anton Marsden 151.6   30
 2  31.3/ 10.9/ 57.8      Return Of The Jedimp             John K W 151.6   18
 3  45.9/ 40.5/ 13.5                      Mist              P.Kline 151.3    3
 4  46.7/ 42.7/ 10.7                  Q^2 Miro         Anders Ivner 150.7   80
 5  36.9/ 26.2/ 36.9               Simple v0.4          Ian Oversby 147.6  126
 6  43.7/ 41.0/ 15.4                    Blur 2        Anton Marsden 146.3   29
 7  34.6/ 25.6/ 39.8                 Pulp v0.2          Ian Oversby 143.7  125
 8  42.7/ 42.0/ 15.3                 myVamp5.4             Paulsson 143.5   78
 9  39.7/ 36.4/ 23.9                 Dura v0.1          Ian Oversby 143.0   59
10  39.6/ 37.0/ 23.4                 Yogi Bear              P.Kline 142.2  234
11  31.8/ 23.6/ 44.6                 Armory II             John K W 140.0  169
12  40.7/ 41.4/ 17.8                   Harmony              P.Kline 140.0    2
13  30.5/ 21.5/ 48.0                   Rosebud                Beppe 139.4  703
14  33.2/ 27.2/ 39.5        Jack in the box II          Beppe Bezzi 139.2  387
15  31.0/ 23.3/ 45.8          blue flame c1/10       bjoern guenzel 138.6   14
16  37.9/ 37.9/ 24.2 Paper, Scissors and Stone        David van Dam 137.8  158
17  40.2/ 43.3/ 16.5                 Goldfinch              P.Kline 137.0  179
18  37.5/ 38.4/ 24.0                T.N.T. pro    Maurizio Vittuari 136.6  748
19  25.6/ 14.9/ 59.4                    ompega       Steven Morrell 136.3  145
20  36.8/ 38.0/ 25.2                    airBag             Paulsson 135.6   71
21  38.0/ 40.8/ 21.2                   Twister          Beppe Bezzi 135.2  484
22  37.4/ 39.9/ 22.7                   Goliath        David van Dam 134.9  178
23  36.3/ 38.7/ 25.0                Scimitar 2              P.Kline 133.9   96
24  31.8/ 31.1/ 37.1            the historian        bjoern guenzel 132.5  503
25  27.8/ 23.6/ 48.7    Ties, Ties, Ties! (+3)   Ross Morgan-Linial 132.0    1

Weekly age: 84 ( 90 last week, 56 the week before )
New warriors:  11 Turnover/age rate 13%
Average age:   184 ( 158 last week, 275 the week before )
Average score: 141 ( 141 last week, 133 the week before )
The top 25 warriors are represented by 12 authors: Kline with 5; Bezzi, 
and Oversby with 3; Marsden, Guenzel, van Dam, JKW and Paulsson with 2.

King Report:  Q^2 Miro dominated the begiining of the week until come Probe
then and Return of Jedimp that kept the lead until last challenge. All those
warriors use the advanced qscan architecture explained in the last CW hint.

Other good warriors entering in the first spots are myVamp 5.4, see Extra
extra for details, and Mist a scanner based on Blur, both reaching second
spot. The hill is still changing quickly and all veteran are suffering,
confined in the lower half; expecially true for Twister and the historian,
often seen in the red alert zone.
______________________________________________________________________________
94 - What's New

 #   %W /  %L /  %T                       Name               Author Score  Age
 2  47.7/ 41.8/ 10.5                  Q^2 Miro         Anders Ivner 153.6    1
 2  44.2/ 39.6/ 16.2                 myVamp5.4             Paulsson 148.9    1
 7  39.0/ 36.9/ 24.0                    airBag             Paulsson 141.1    1
 6  40.0/ 37.6/ 22.4                 Dura v0.1          Ian Oversby 142.4    1
 1  31.0/ 10.3/ 58.7      Return Of The Jedimp             John K W 151.7    1
 2  45.6/ 41.7/ 12.8                      Mist              P.Kline 149.4    1
 2  43.8/ 36.5/ 19.8                     Probe        Anton Marsden 151.1    1
 8  41.5/ 43.2/ 15.3                    Blur 2        Anton Marsden 139.8    1
17  31.3/ 24.4/ 44.3          blue flame c1/10       bjoern guenzel 138.2    1
19  36.1/ 40.8/ 23.1           earthquake v0.1         Bjoern & Ian 131.3    1
25  31.2/ 35.7/ 33.0                    Test F          Ian Oversby 126.7    1

A lot of high quality  new warriors entered the high spots of the 94 hill.
______________________________________________________________________________
94 - What's No More

 #   %W /  %L /  %T                       Name               Author Score  Age
26   1.7/  1.9/  0.2                  Q^2 Miro         Anders Ivner   5.4   32
26   7.8/ 46.8/ 45.3                Jam Sponge          Dave Newton  68.9    7
26   1.2/  1.3/  1.3                 myVamp5.3             Paulsson   4.9  109
26  35.9/ 49.6/ 14.5            pavement v0.14       bjoern guenzel 122.2   13
26   2.6/  2.2/  2.8               Simple v0.3          Ian Oversby  10.7  116
26   1.6/  2.0/  0.2                    Blur 2        Anton Marsden   5.2   48
26   0.6/  1.3/  1.9                  test me2          Beppe Bezzi   3.7   42
26  31.2/ 39.2/ 29.6           Versatility 1.5   Ross Morgan-Linial 123.3   41
26   2.2/  1.5/  0.1                    test A              P.Kline   6.7   29
26  27.6/ 29.0/ 43.5               blue candle       bjoern guenzel 126.1  574
26   0.3/  0.9/  2.9      Return Of The Jedimp             John K W   3.7   71

Guenzel's blue camdle is the oldest warrior pushed off this week, and the
only one worth mention, being others killed by their author or very young.
______________________________________________________________________________
94 - What's Old

 #   %W /  %L /  %T                       Name               Author Score  Age
18  37.5/ 38.4/ 24.0                T.N.T. pro    Maurizio Vittuari 136.6  748
13  30.5/ 21.5/ 48.0                   Rosebud                Beppe 139.4  703
24  31.8/ 31.1/ 37.1            the historian        bjoern guenzel 132.5  503
21  38.0/ 40.8/ 21.2                   Twister          Beppe Bezzi 135.2  484
14  33.2/ 27.2/ 39.5        Jack in the box II          Beppe Bezzi 139.2  387

No new entries and a loss: blue candle.
______________________________________________________________________________
HALL OF FAME
* means the warrior is still active.

Pos    Name                  Author          Age     Strategy
 1  Thermite II            Robert Macrae     2262    Qscan -> bomber
 2  Impfinity v4g1         Planar            1993    Stone/ imp
 3  Jack in the box        Beppe Bezzi       1620    P-warrior
 4  Tornado 3.0            Beppe Bezzi       1567    Bomber
 5  Torch t18              P.Kline           1539    Bomber
 6  Chameleon              Myer R Bremer     1437    P-warrior
 7  Frontwards v2          Steven Morrell    1420    One shot scanner
 8  Evol Cap 6.6           John Wilkinson    1299    Imp / stone
 9  quiz                   Schitzo           1262    Scanner/ bomber
10  T.N.T.                 Maurizio Vittuari 1204    Bomber
11  Grilled Octopus v0.5   David Boeren      1154    P-warrior
12  Hazy Shade II          John Wilkinson    1102    P-warrior
13  Stepping Stone         Kurt Franke       1049    Qscan -> Vampire
14  Iron Gate 1.5          Wayne Sheppard     926    CMP scanner
15  Agony II               Stefan Strack      912    CMP scanner
16  Barrage                Anton Marsden      876    Qscan -> replicator
17  Blue Funk              Steven Morrell     869    Stone/ imp
18  Flurry                 Anton Marsden      835    Qscan -> pwarrior
19  Thermite 1.0           Robert Macrae      802    Qscan -> bomber
20  Blue Funk 3            Steven Morrell     766    Stone/ imp
21  Night Train            Karl Lewin         755    Replicator
22  T.N.T. pro             Maurizio Vittuari  748 *  Bomber
23  Mirage 1.5             Anton Marsden      736    Scanner/ bomber
24  Blizzard               Anton Marsden      713    Qscan -> replicator
25  Rosebud                Beppe              703 *  Stone/ imp

Rosebud enters the Hall, pushing HeremScimitar off; T.N.T. pro begins
climbing the standings. No new warrior is near entering being the historian
still far from the threshold, now at more than 700 age.
______________________________________________________________________________
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  63.3/ 19.5/ 17.3                    Yet 4b           Justin Kao 207.0   36
 2  56.3/ 25.3/ 18.4             Sandwich Bags       Andy Nevermind 187.4   99
 3  53.5/ 21.6/ 24.9           Versatility 1.5   Ross Morgan-Linial 185.3   26
 4  55.2/ 26.2/ 18.6          Velveeta Shift-F                 shar 184.2   34
 5  50.6/ 19.0/ 30.4                  (-:  :-)                 Ross 182.2   59
 6  53.5/ 27.2/ 19.3            Saboteur v0.4k                 shar 179.9   67
 7  46.4/ 26.5/ 27.1               Inferno 1.0       Philip Kendall 166.3   49
 8  43.6/ 27.9/ 28.5                 Antivenin                 Ross 159.2   98
 9  31.3/ 12.7/ 55.9    Ties, Ties, Ties! (+2)                 Ross 150.0   61
10  31.3/ 25.7/ 43.0             Utility Knife     Robert J. Street 137.0   69
11  23.8/ 10.7/ 65.5                 Wasps 1.3                 Ross 137.0   60
12  23.3/ 12.6/ 64.1            Ties and Wasps                 Ross 133.9   13
13  23.8/ 14.9/ 61.3              more testing            Anonymous 132.8   20
14  20.1/  8.6/ 71.2            Nematode v1.4b       Jonathan Stott 131.6   33
15  22.4/ 20.2/ 57.4                 Fork 4/13    Christoph C. Birk 124.5   53
16  18.7/ 29.6/ 51.8                 Handy Man     Robert J. Street 107.7   27
17  17.6/ 36.7/ 45.7              silken stomp             harleyQ2  98.6    9
18   6.9/ 16.8/ 76.3           Impy Stalker II                Edgar  96.9   15
19   9.3/ 24.3/ 66.3                silkbombQ2             harleyQ2  94.4   32
20   8.0/ 22.2/ 69.8                Mama's Boy     Robert J. Street  93.7   14
21  13.5/ 38.9/ 47.7                        b3             harleyQ2  88.0    1
22  13.2/ 38.8/ 47.9              silken train             harleyQ2  87.6    2
23   6.7/ 36.4/ 56.9                         b             harleyQ2  77.1    8
24  19.3/  7.4/  9.3            Centurion 2.01                Edgar  67.3   19
25  10.6/ 54.5/ 34.9                        b2             harleyQ2  66.6    3

The three leaders of last week died for old age. Kao is new King with a good
lead over the others even if it proved unable to stay on the 94 hill.
______________________________________________________________________________
The Hint
Bomb dodgers
by Ian Oversby

Since the advent of P-space it has been possible to write components, 
specifically to beat certain warrior classes.  For example, that small stone
which would have been no use before as it loses really badly to papers and
imps can be very good against bombers and scanners.  One component, which was
designed specifically to beat a certain class of warriors is the bomb dodger.

The bomb dodger is based on a very simple principle:  A bomber usually produces 
many bombs in a regular pattern and only bombs each location once before 
entering the core-clear.  Therefore, if we scan for the bombs, we are far more
likely to find a bomb, before that bomb finds us.  Then, we can place a small
component over the bomb where we are safe from attack.  Here is the dodger from
Wind-up Toy v0.4.

spt	equ	(dodge-130)

safe	DAT.F	$0,	$0

...	...	...	...

dodge	JMN.F	dboot,	safe	; monitor for one-shots
	JMZ.F	dodge,	<spt	; 0.5c scan for bombs
dboot	ADD.AB	#3,	spt
	MOV.I	dptr+4,	<spt
	MOV.I	dptr+3,	<spt
	MOV.I	dptr+2,	<spt
	MOV.I	dptr+1,	<spt
	MOV.I	dptr,	<spt
	JMP.B	@spt
dptr	SPL.B	#0,	<-10
dloop	MOV.I	lline,	{dptr
	MOV.I	lline,	{dptr
	JMP.B	dloop,	<-13
lline	DAT.F	<-12,	<-11

The implementation is not very efficient but it basically scans backwards for
bombs and then places a 66%c DAT clear over the bomb.  The copying is done at
light speed which is fairly pointless as we have already spent many cycles
looking for a bomb.  The additional few cycles to do 0.5c copy are not 
important but the larger code size makes it more likely for a bomb to hit us 
before we find a bomb.  The location we are copied to looks like this:

Code:			SPL	MOV	MOV	JMP	DAT

Core locations:		 .	 .	 X	 .	 .

Where X is the found bomb.

The reason it scans backwards and clears backwards is that most bombers clear
forwards and if we start clearing first, unless the bomber is clearing faster
than we are, we are guaranteed to clear it away first.  Also, most one-shots
attack forwards so when we discover a one-shot attack, the fairly random value
of spt will be behind the one-shot's clear and safe from attack.

If I remember correctly, this scores quite well against most bombers and 
one-shots like Derision and Frontwards but doesn't do very well against 
anything with imps in it despite setting up a perfect gate after the clear.
It also has problems with stones which I'll explain later.

The problem with imps is that when the stones accompanying the imps is cleared
away, the imps advance at increased speed.  Now there is a race between the
clear finishing and the imps reaching the clear.  Against a light imp-spiral, 
we often lose.  Also, imps are often paired with classic stones which dodgers
have difficulty with.

The problem with classic stones is that they use (mostly) invisible DAT bombs
and decrements.  There are two possibilities:  The DATs hit the same locations
as the decrements, or they don't.  If they do, then when we are placed over the
decrement, we are usually bombed anyway and the clear becomes 33% of c.  If it
is offset then the other code could be bombed, the worst case being the first
MOV as we are then a sitting duck.  I haven't found a suitable solution to
this problem.

So, to summarize the problems with this dodger:

1)  It has problems with imps
2)  The copying routine is wasteful
3)  Classic stones (usually paired with imps) are often damaging
4)  It is not effective against double stones with irregular bombing patterns 
    like Impfinity and Ompega (?) or single bombers with irregular patterns
    like Thermite.


The solution to the first two problems is easy.  D-clear is very good against
imps (Thank you Bjoern) and slimming the copying routine is no problem.  Using
D-clear also reduces problem 3 as being faster, we are more likely to find the
stone before it bombs us again.  Here is the bomb dodger from Dura.

spt	equ	(scan+130)

scan	JMZ.F	scan,	>spt	; linear bomb-scan
	SUB.AB	#2,	spt	; 2 seems to be good 
cloop	MOV.I	>bptr,	>spt
	DJN.B	cloop,	#5
	SUB.AB	#3,	spt
bptr	JMP.B	@spt,	#gat

gat	DAT.F	#0,	#5
bomb	DAT.F	#0,	#5
	SPL.B	#0,	>gat+2667
dloop	MOV.I	bomb,	>gat
dlt	DJN.F	dloop,	>gat

The location that this is copied over looks like this:

Code:			DAT	DAT	SPL	MOV	DJN	

Core locations:		 .	 X	 .	 .	 .

Why this is better than any other pattern, I don't know.  I tried placing
the SPL and the MOV over the X, all with worse results.  Other differences
between this and the old dodger are, this does not monitor for one-shots
attacks.  Then, the bomb that I find is closer to the enemy bomber.

We now no longer have a problem with imps, even Rosebud with MOV  #2667, *0 
style imps seems to succumb.  This also scored very well against Thermite, I 
believe the reason is that the clear is functioning so fast, we hit Thermite 
before another bomb lands near us.  Also, there are only three vulnerable 
locations for the bomb to land.  If the gate is overwritten, we merely start 
clearing from somewhere else.  This dodger, when submitted on its own actually 
got to number 8!  However, that was when there was no paper on the hill.  It 
no longer stands a chance on its own.

Finally, here is a complete warrior including the dodger.  An earlier version
reached number 1 when the hill was a little more receptive to the dodger.  I'm
not sure how it would do now.  The p-space brain is also very susceptible to 
brainwashing with 0.

;redcode-94
;name Manfred v0.3
;author Ian Oversby
;strategy P-Spacer
;strategy v0.1  Imps/Imp gates/...
;strategy v0.2  Stronger gate
;strategy v0.3  Updated components
;kill Manfred
;assert 1

org str

plc     equ     5		; Not really

dval	equ	800
spt	equ	(last+300)

gate1	equ	(stone-3)
impstep equ     2667
sval    equ     1900

;;------------------------------------------------------------

str     LDP.A   #plc,   pval    ;load wins/losses
        ADD.A   pval,   check
        MOD.A   #13,    check
        JMN.A   boot,   check   ;permanent switch

res     LDP.AB  #0,     #0
sec     SNE.AB  #0,     res     ;check for loss
lost    ADD.A   #13,    pval
        SNE.AB  #1,     res     ;check for win
won     SUB.A   #13,    pval
        STP.AB  pval,   #plc
jump    JMP.B   dboot,	<-100

pval    DAT.F   $0,     $0
check   DAT.F   $7904,  $0	; 13 / 8

;;---------------------- Dodger , 11 lines ------------------------

for 15
        DAT.F   $0,     $0
rof

dboot	MOV.I	{dptr,	<dptr
for 10
	MOV.I	{dptr,	<dptr
rof
	SPL.B	@dptr,	<-300
	MOV.I	pval,	dptr
dptr	DAT.F	#dl+1,	#dval

scan	JMZ.F	scan,	>spt	; linear bomb-scan
	SUB.AB	#2,	spt	; Try 2, 3 and 4
cloop	MOV.I	>bptr,	>spt
	DJN.B	cloop,	#5
	SUB.AB	#3,	spt
bptr	JMP.B	@spt,	#gat

gat	DAT.F	#0,	#5
bomb	DAT.F	>2667,	#5	
	SPL.B	#0,	>gat+2667
dloop	MOV.I	bomb,	>gat	; anti-imping dirty core-clear
dl	DJN.F	dloop,	>gat	; Thank you Bjoern.

;;---------- Simple v0.2a with 16 process, point spiral -----------

for 20
	DAT.F	$0,	$0
rof

mimp    SPL.B   1,      <-500	; 16 process 3 point imp
        SPL.B   1,      {-500	; and decoy-maker :-)
        SPL.B   1,      <-500        
        SPL.B   1,      <-500        

        SPL.B   2,      {-500
        JMP.B   imp
        ADD.A   #impstep, -1
die     DAT.F   $0,     $0
imp     MOV.I   #-5,    impstep

boot    MOV.I   {sptr,  <sptr
for 6
        MOV.I   {sptr,  <sptr
rof
        SPL.B   @sptr,	<-300
        MOV.I   die,    sptr
        JMP.B   mimp,	<-300
sptr    DAT.F   gate+1,	sval

stone	SPL.B   #95,    >-95
	SPL.B   #0,     >gate1-hit
loop	MOV.I   {0+95,	2-95
	ADD.F   stone,  loop
hit	DJN.F   loop,   <1900
last    MOV.I   gate,	}gate1
gate	DAT.F	gate-gate1+2,	>gate1

end

Further work:

I wanted to alter it so I placed a multi-pass clear over the bomb.  This, I
hoped, would give me wins against Ompega and Impfinity style imp/stones.  So
far, I have been unable to get it to work.

______________________________________________________________________________
Extra Extra
myVamp 5.4
by Magnus Paulsson


Hi there, thought I should publish myVamp 5.4 now that it has
been on (I mean near, that fu..ing Blur and Miro!) top for a while,
and when I'm at it, I might as well write a lot of rubbish :-)

myVamp 3.7's engine was like this:

fang    jmp             *trap,0
next    add.f   step,fang
                mov.i   @0,@fang
                jmz.a   next,*fang
                mov.i   fang,*fang
                mov.x   *fang,*fang
                jmp             next
It also had a spl/spl/dat coreclear and boot.

When I had optimized 3.7 I thought that there wasen't anything more
to improve, how wrong I was! After a while I learned a much better
coreclear that was a lot better and faster while still as small :
ptr             dat.f   0,0
                dat             -20,20
                dat             -20,20
cclear  spl             #-20,20
                mov.i   @bmbp,>ptr
                mov.i   @bmbp,>ptr
                djn.b   -2,{cclear

I tried to get this coreclear into myVamp 4.? several times but the
result was always worse than 3.7, very anoying....

Then came Stepping Stone by K.Franke which improved myVamp removing
the unnessesary "mov.x *fang,*fang" (egg on my face, having a line
of code that isn't realy needed!) and now Stepping Stone is the
leader (competitive thinking, can't stand that someone else wrote a
better vampire, but I will get past SteppingStone in the hall of
fame this authum (Praing for it at least)).

Then came d-clear (my first favorite on the naming, the second is:
the clear that is VERY god against imps and stones and scanners but
VERY bad against papers, tctiVgaiasasbVbap?) and that was that thing
that got me started with myVamp5.0. I'm sure that everyone playing (?
ARE WE PLAYING ?) Corewar has some inferior complex against some of
the wariors, my favorite complex is Torcht18 which beats myVamp3.7,
this brings me to the second improvement in myVamp5.0, the ability
to take a hit of a spl bomb (YES, myVamp now beats Torch!!), this
give 4-5 points against my test series (se below)!

fang            jmp             *trap+st,-st
check           dat.f   0,0                             ;*******
                        dat.f   0,0
ptr                     dat.f   0,100
                        dat.f   0,0
                        dat.f   0,0
                        jmp             cclear
next            add.f   step,fang               ;The engine from SteppingStone
start           mov.i   @0,>fang
                        jmz.a   next,*fang
                        mov.i   <check,*fang    ;*******
stop            jmn.b   next,>check             ;*******
step            spl             #st,-st-1               ;d-clear
cclear          mov.i   bmb,>ptr
                        djn.f   cclear,>ptr

Look at the lines marked with *******, normal operation is timed to
work like normal, if there is a hit with a spl bomb the timing will
be off and the d-clear will be executed. There is some thought put
into the engine and clear that makes the d-clear execute if a djn
stream overruns the code.

The above warior(?) "drops like a stone" against paper, because of
the d-clear. This made me put in a spl/spl/dat clear that is only
run when myVamp has catched something. This increases the score
against papers and lowers it against stones. Then I had some
trouble with one-shot scanners and I added a decoy maker since there
is a lot of code to boot. I still don't lose to q-scans but my luck
might run out ...

To test my wariors I've written the ugglies unix script ever
(I'll mail it to anyone who wants a realy god laugh) that
runs 100 battles against the 17 wariors below.

Armory-A5      Impfinityv4g1  SteppingStone  Twister
Chameleon      Jackinthebox   T.N.T..tx      YogiBear       thehistorian
Frontwardsv2   NightTrain     ThermiteII     bluecandle
GemOfTheOcean  Rosebud        Torcht18       stoninc

myVamp 5.4              :       154.5
Stepping stone  :       145
myVamp3.7               :       133

And finaly after all the talk about how good I am here is myVamp5.4:
(If you did understand any of the above congratulations, I reread it
and it's not very pretty with a lot of weird () comments).

-Magnus Paulsson

************************************************************

;redcode-94
;name myVamp5.4
;author Paulsson
;strategy 5.0, Chasing SteppingStone
;strategy 5.1, Spl/Spl/Dat CoreClear
;strategy 5.2 small changes, + some points...
;strategy 5.3&4 Decoy, small changes
;strategy July, 1996
;kill myVamp
;for Planar, vamp,scan,coreclear,decoy(?)
st              equ             912
org decoy
trap            jmp     pit,#0
                dat.f   0,0
                dat.f   0,0
                dat.f   0,0
                dat.f   0,0
                dat.f   0,0
                dat.f   0,0
                dat.f   0,0
fang            jmp     *trap+st,-st    ;hit
check           dat.f   0,0
                dat.f   0,0
ptr             dat.f   0,100
                dat.f   -20,0
                dat.f   0,0
                jmp     cclear
next            add.f   step,fang
start           mov.i   @0,>fang                ;scan
                jmz.a   next,*fang
                mov.i   <check,*fang
stop            jmn.b   next,>check
step            spl     #st,-st-1
cclear          mov.i   bmb,>ptr
                djn.f   cclear,>ptr
                dat.f   0,0
                dat.f   0,0                             ;hit
                dat.f   0,0
                dat.f   0,0
                dat.f   0,0
                dat.f   0,0
                dat.f   0,18
bmb             dat.f   0,18

for 32
                dat.f   0,0
rof

ptr2            dat.f   0,20
                dat.f   0,20            ;hit
                dat.f   -10,20
                dat.f   -10,20
cclear2         spl     #4000,20
                mov.i   @2,>ptr2
                mov.i   @1,>ptr2
                djn.b   -2,{cclear2
                dat.f   0,0
                dat.f   0,0
stop2           jmp     cclear2-stop,stop

offsA           equ    (start-4000)
offsB           equ    (start-2005)
stepD           equ    127

decoy           mov    <offsA+decoy*stepD,{offsB+decoy*stepD
                mov    <offsA+decoy*stepD,{offsB+decoy*stepD
                mov    <offsA+decoy*stepD,{offsB+decoy*stepD
                mov    <offsA+decoy*stepD,{offsB+decoy*stepD
                mov    <offsA+decoy*stepD,{offsB+decoy*stepD
                mov    <offsA+decoy*stepD,{offsB+decoy*stepD
                mov    <offsA+decoy*stepD,{offsB+decoy*stepD
                mov    <offsA+decoy*stepD,{offsB+decoy*stepD
                jmp     start

pit             mov.i   stop2,@stop2
                spl     #0,0
for 10
                spl     #0,0
rof

______________________________________________________________________________
Questions?  Concerns?  Comments?  Complaints?  Mail them to people who care.
authors: Beppe Bezzi <bezzi@nemo.it> or Myer Bremer <bremermr@ecn.purdue.edu>
or Anton Marsden <amarsden@comp.vuw.ac.nz>
© 2002-2005 corewar.info. Logo © C. Schmidt