Article View: rec.games.corewar
Article #289The shmuck responds
From: pk6811s
Date: Tue, 17 Nov 1992 23:13
Date: Tue, 17 Nov 1992 23:13
198 lines
5745 bytes
5745 bytes
Well, I see after our private conversation, Dan is still unhappy and has
gone public with his complaint.
Let me share two pieces of code that I published BEFORE Impression
appeared on the hill, and before I received a copy:
;redcode
;name Emerald
;author P.Kline
inc dat #-2045,#2045
emerald spl 0,100
stone mov <cnt+102-300,<cnt+100
add inc,stone
cnt djn stone,<-3799
end emerald
Now, I estimate I spent over 40 hours experimenting with different constants
in Emerald to give it an effective (and unique) bombing pattern. I don't have
access to the programs that others use for computing their constants.
Apparently Dan was not able to find alternative constants, so elected
to use Emerald intact in Impression, changing only the word 'emerald' to
'dwarf'.
Also:
;redcode
;name Earnest
;kill Earnest
;author P.Kline
;strategy dwarf/ring combo
spacing equ 1143
start spl 1
spl 1
spl 1
spl a2
a1 spl a1b2
a1b1 spl a1b1c2
a1b1c1 mov imp1,imp1+(spacing*1)
jmp @-1
a1b1c2 mov imp1,imp1+(spacing*2)
jmp @-1
a1b2 spl a1b2c2
a1b2c1 mov imp1,imp1+(spacing*3)
jmp @-1
a1b2c2 mov imp1,imp1+(spacing*4)
jmp @-1
a2 spl a2b2
a2b1 spl a2b1c2
a2b1c1 mov imp1,imp1+(spacing*5)
jmp @-1
a2b1c2 mov imp1,imp1+(spacing*6)
jmp @-1
a2b2 spl a2b2c2
a2b2c1 mov imp1,imp1+(spacing*0)
jmp @-1
a2b2c2 spl 0
mov bomb,<bomb
bomb dat #-50
imp1 mov 0,1143
end start
I believe it was my innovation to use a binary routine to start the imps.
Impire used a completely different startup. Earnest is also a spiral.
It launches 8 processes over a seven-point ring, creating a 1-point overlap.
Dan's contribution was to eliminate the mov imp1,... lines because they
were unnecessary, to use a three-point ring, and to overlay a
second spiral on the first - taken together these are major improvements
and should be called original. Yet they do build on what was
presented in Earnest.
There are differences between Impression and Imprimis. I use reflections
to protect the stone from No Mucking About and Charon (and their derivatives).
I move a dat 0,0 after the stone to protect it from Plasma and somewhat
from Agony. I've seen no one else doing either, so they may be original.
I am using different stone constants. There is a spl 1 prior to
entering the binary routine, which effectively interleaves two spirals
without the overhead of launching them separately. And I launch two
three-point spirals instead of one. While this makes for more targets
for scanners to locate, it makes it impossible for a 'gated' program
(or one that evolves into a gate) to kill the entire program since
each ring will only walk half the length of the core before the timer
elapses - also an original concept.
Finally, here is Imprimis 2. It beats Impression v3 (and other single-ring
programs) from 8 to 20%. You decide whether it looks different,
acts different, and scores different from Impression:
;redcode
;name Imprimis 2
;kill Imprimis
;author P.Kline
;strategy two three-point imp spirals with a stone
;strategy now capable of beating other imps (10%)
d equ 2667
datzero equ inc-5
inc dat #2667,#3039
emerald spl 0
stone mov <cnt-2365-2+1267,cnt+2365-1+10
add inc,stone
cnt djn stone,<5061-1056
datz1 dat #0
dat #0
dat #0
dat #0
dat #0
dat #0
dat #0
dat #0
dat #0
dat #0
dat #0
dat #0
dat #0
dat #0
dat #0
dat #0
dat #0
dat #0
dat #0
dat #0
dat #0
dat #0
dat #0
dat #0
dat #0
dat #0
dat #0
dat #0
dat #0
rf34 dat #2667,#3039
spl 0
mov <6902,<2376
add 7997,7999
djn 7998,<4005
datz2 dat #0
dat #0
dat #0
dat #0
dat #0
dat #0
dat #0
dat #0
dat #0
dat #0
rf49 dat #2667,#3039
spl 0
mov <6902,<2376
add 7997,7999
djn 7998,<4005
datz3 dat #0
dat #0
dat #0
dat #0
dat #0
dat #0
start mov <1000,datz1
mov <1500,datz2
mov <2000,datz3
mov imp,imp+1333
spl 1
spl 16
spl 8
spl 4
spl 2
jmp imp+(d*0)
jmp imp+(d*1)
spl 2
jmp imp+(d*2)
jmp imp+(d*3)
spl 4
spl 2
jmp imp+(d*4)
jmp imp+(d*5)
spl 2
jmp imp+(d*0)+1333
jmp imp+(d*1)+1333
spl 8
spl 4
spl 2
jmp imp+(d*2)+1333
jmp imp+(d*3)+1333
spl 2
jmp imp+(d*4)+1333
jmp imp+(d*5)+1333
spl emerald
spl emerald
spl emerald
jmp emerald
imp mov 0,2667
end start
Paul Kline
pk6811s@acad.drake.edu
Technical Details
Message-ID:
<1992Nov17.171301.1@acad.drake.edu>Path:
arc1-ca.pugleaf.net!sparky!uunet!charon.amdahl.com!pacbell.com!sgiblab!zaphod.mps.ohio-state.edu!uwm.edu!ux1.cso.uiuc.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!charon.amdahl.com!pacbell.com!sgiblab!zaphod.mps.ohio-state.edu!uwm.edu!ux1.cso.uiuc.edu!news.iastate.edu!dunix.drake.edu!acad.drake.edu!pk6811s From: pk6811s@acad.drake.edu Subject: The shmuck responds Message-ID: <1992Nov17.171301.1@acad.drake.edu> Lines: 198 Sender: news@dunix.drake.edu (USENET News System) Nntp-Posting-Host: acad.drake.edu Organization: Drake University, Des Moines, Iowa, USA Date: Tue, 17 Nov 1992 23:13:01 GMT