Article View: rec.games.corewar
Article #329Imprimis 4
From: pk6811s
Date: Sun, 10 Jan 1993 23:58
Date: Sun, 10 Jan 1993 23:58
189 lines
6163 bytes
6163 bytes
W. Mintardjo asked me whether Imprimis 3 didn't have a core clear, since it
did not kill his 'Empty' do-nothing program. Indeed, Imprimis 3 did not
have a real core clear. I started thinking about it and decided it would
be worth a few tests. Result - Imprimis 4. Not quite up to Sphinx stature,
but definitely an inprovement. Basically it is a mod-4 stone which gets
most of the early cycles, but kills itself after the mod-4 pattern is
complete. There is also an anti-vampire tracer which is converted to
a core-clear by the stone (before it dies). The core clear finishes just
before it is overrun by the imps, and just before 80,000 cycles elapse.
I do not think the resulting imp-gate does much good, looks like gating
your own imps is harder than gating your opponent's imps - since you
have to interleave the processes - imp/gate/imp/gate/imp/gate...
Maybe someone could suggest a launcing sequence that would do that?
Also, it is clear in my tests that the long startup is a problem,
and Imprimis 4 sometimes gets stunned/vamped before it gets out of
the starting block.
;redcode
;name Imprimis 4
;kill Imprimis
;author P.Kline
;strategy stone like ExtraExtra
;strategy two 3-point spirals like Impression
;strategy anti-vampire code
;strategy core clear -> imp-gate
;strategy sorry - sink wouldn't fit
d equ 2667
stone mov <5630,stone+3044+1
extra spl -1,<inc-129-1100 ; stone soaks up cycles early
add inc,stone ; but kills itself after mod-4 is complete
cnt djn extra,<inc-129-1100
inc dat #2667,#3044
copyf1 dat #0
copyt1 dat #copyf1+1025
hide1 spl 0,<-7 ;
hide2 mov 26,<7887 ; traces vampire snares back to vampire
hide3 sub @hide2,<hide2 ; hide3 will be killed by stone after a while
copyf2 dat #0 ; to make hidex a core clear
copyt2 dat #extra+1254
hide4 dat <-8,#0 ; hide1 + hide4 make an imp-gate very late
copyf3 dat #0
copyt3 dat #extra+1254+25
start mov imp,imp+1000+97+132 ; put imps out there
mov imp,imp+2333+97+132
mov <copyf1,<copyt1 ; put stone out there
mov <copyf1,<copyt1
mov <copyf1,<copyt1
mov <copyf1,<copyt1
mov <copyf1,<copyt1
add #1,copyt1
mov <copyf2,<copyt2 ; put hidex out there
mov <copyf2,<copyt2
mov <copyf2,<copyt2
mov <copyf3,<copyt3
mov <4000,copyt3
spl stst
spl sttr
spl 1 ; double #processes in the spirals
spl 16 ; binary-launch imp spirals
spl 8 ; each spiral is six instructions wrapped
spl 4 ; around three points, with two
spl 2 ; processes at each instruction
jmp imp+(d*0)+1000+97+132
jmp imp+(d*1)+1000+97+132
spl 2
jmp imp+(d*2)+1000+97+132
jmp imp+(d*3)+1000+97+132
spl 4
spl 2
jmp imp+(d*4)+1000+97+132
jmp imp+(d*5)+1000+97+132
spl 2
jmp imp+(d*0)+2333+97+132
jmp imp+(d*1)+2333+97+132
spl 8
spl 4
spl 2
jmp imp+(d*2)+2333+97+132
jmp imp+(d*3)+2333+97+132
spl 2
jmp imp+(d*4)+2333+97+132
jmp imp+(d*5)+2333+97+132
stst spl 1 ; give the stone some cycles
spl 1
spl 1
spl 1
jmp @copyt1
sttr spl @copyt2 ; give hidex some cycles
spl @copyt2 ; (must be an even number of these)
spl @copyt2
spl @copyt2
spl @copyt2
spl @copyt2
spl @copyt2
spl @copyt2
mov <2000,copyt1 ; don't leave pointers to stone,etc.
mov <3000,copyt2
dat #0
dat #0
imp mov 0,2667
dat #(0-imp)*256 ; this stuff is just decoy
dat #(0-imp)*256
dat #(0-imp)*256
dat #(0-imp)*256
dat #(0-imp)*256
dat #(0-imp)*256
dat #(0-imp)*256
dat #(0-imp)*256
dat #(0-imp)*256
dat #(0-imp)*256
dat #(0-imp)*256
dat #(0-imp)*256
dat #(0-imp)*256
dat #(0-imp)*256
dat #(0-imp)*256
dat #(0-imp)*256
dat #(0-imp)*256
dat #(0-imp)*256
dat #(0-imp)*256
dat #(0-imp)*256
dat #(0-imp)*256
end start
And here are the results:
Imprimis 4 wins: 14
Sphinx v2.6 wins: 12
Ties: 74
Imprimis 4 wins: 6
It wins: 0
Ties: 94
Imprimis 4 wins: 7
Night wins: 0
Ties: 93
Imprimis 4 wins: 15
Gamma Paper 3.0 wins: 16
Ties: 69
Imprimis 4 wins: 7
+0 Stormbringer wins: 2
Ties: 91
Imprimis 4 wins: 86 <- anti-vamp
Sucker 5 wins: 6
Ties: 8
Imprimis 4 wins: 39
Charon v8.0 wins: 53
Ties: 8
Imprimis 4 wins: 76 <- anti-vamp
Twilight Pits 6 wins: 13
Ties: 11
Imprimis 4 wins: 41
Medusa's v5 wins: 52
Ties: 7
Imprimis 4 wins: 32
a-test wins: 60
Ties: 8
Imprimis 4 wins: 36
Alt2 wins: 47
Ties: 17
Imprimis 4 wins: 87
Emerald 3 wins: 3
Ties: 10
Imprimis 4 wins: 35
Agony Anti-Imp wins: 50
Ties: 15
Imprimis 4 wins: 40
Pale Shears4 wins: 45
Ties: 15
Imprimis 4 wins: 39
Leprechaun 1b wins: 36
Ties: 25
Imprimis 4 wins: 20
test2 wins: 8
Ties: 72
Imprimis 4 wins: 52
Griffin 2 wins: 38
Ties: 10
Imprimis 4 wins: 86 <- anti-vamp
Grimm's Vampyre wins: 12
Ties: 2
Paul Kline
pk6811s@acad.drake.edu
Technical Details
Message-ID:
<1993Jan10.175843.1@acad.drake.edu>Path:
arc1-ca.pugleaf.net!sparky!uunet!cis.ohio-state.edu!zaphod.mps.ohio-state.edu!hobbes.physics.uiowa.edu!news.iastate.edu!dunix.drake.edu!acad.drake.edu!pk6811sShow Full Headers
Complete Article Headers
Newsgroups: rec.games.corewar Path: arc1-ca.pugleaf.net!sparky!uunet!cis.ohio-state.edu!zaphod.mps.ohio-state.edu!hobbes.physics.uiowa.edu!news.iastate.edu!dunix.drake.edu!acad.drake.edu!pk6811s From: pk6811s@acad.drake.edu Subject: Imprimis 4 Message-ID: <1993Jan10.175843.1@acad.drake.edu> Lines: 189 Sender: news@dunix.drake.edu (USENET News System) Nntp-Posting-Host: acad.drake.edu Organization: Drake University, Des Moines, Iowa, USA Date: Sun, 10 Jan 1993 23:58:43 GMT