From: pk6811s@acad.drake.edu
Subject: Re: Copy cats
Organization: Drake University, Des Moines, Iowa, USA
Date: Wed, 18 Nov 1992 14:58:05 GMT

More on copycatting:

In reality we all build on what others have done.  Even IMPire built
on the old imp strategy.  I think most people get stuck trying to
make an existing strategy more efficient - less lines of code, instead
of mixing strategies or trying something new.  The originator has probably
tested many variations already, so we're not likely to improve an
existing program, and as the other guy (I forgot who's note I was replying
to) stated, "my variations usually degenerate into the existing Emerald
or Nomuckingabout or whatever".

There are certain redcode irreducibles: an imp, a three-line bomber,
a six-line mouse, stone, etc.  These have aged sufficiently to be 
considered 'components', which can be incorporated into new, more
complex programs.  Some other code-parts are also available: the gate-form
published by Mintardjo which he later stated is not original/unique.  I also
don't believe step-sizes should be proprietary.  When N. Sieben published
a number of optimum step-sizes, was he not recommending them for use?

Most importantly, we can't claim ownership to idea/strategy/concept.
Once the general idea has been made public, you can't claim it for
yourself.  Only the specific implementation in your own code belongs
to you.  So everyone is free to write their own bomber/stone, replicator/
paper, scanner, pittrapper, imp-ring, stone-paper combo, or whatever.

I made the statement that in the long run, copycatting is not an effective
strategy.  Your program will slowly slide down the hill - along with
the original - as other developers attack your common strategy.  I think
this is a true statement.  Flash Paper was basically undone by the 
appearance of other stone-paper fighters.

I did not intend by that statement to approve knocking off someone
else's code, only to make an observation.  The question of where
originality comes in is a hard one to answer in general terms.  I suggest
the answer is in forced publication.  If all programs on the Hill over
four weeks old were published, the participants could judge whether
someone was unfairly copying others' code.  As long as everyone understood
when they submitted their programs that if they become successful,
they will be made public, there should be no problem with publishing
them.

As for Emerald being a clone of Kobold, Emerald beats Kobold something
like 60/30.  Here's the latest code for Emerald.  Is it different enough
from Kobold/Twill/Stone for me to claim ownership?

(BTW, Matt, I removed the reflections.  Since Charon and NMA disappeared,
they were only drawing the attention of other scanners.  But I still know
where they are if I need them. :)

;redcode
;name Emerald
;kill Emerald
;author P.Kline
;strategy stone with djn stream
;strategy attempting a gate
spacing  equ 2365
hide1    spl 0,<-6
hide2    mov 49,<-20
hide3    dat <-7,<-8
hide     dat #inc+1037-130+1020
start    mov hide3,inc+1037+48-130+1020
         mov hide2,<hide       ; create the one-dwarf->gate code
         mov hide1,<hide
         mov inc+0,inc+1020    ; move stone far away from decoy
hideb    mov inc+1,inc+1020+1
         mov inc+2,inc+1020+2
         mov inc+3,inc+1020+3
         mov inc+4,inc+1020+4
         spl @hide
         spl @hideb
         mov #0,-7             ; don't leave any pointers to stone
         mov #0,-7
         mov #0,-7
         mov #0,-7
         mov #0,-7
inc      dat #0-spacing,#spacing
emerald  spl 0
stone    mov <cnt-spacing-2,cnt+spacing
         add inc,stone
cnt      djn stone,<inc-129
         end start

Paul Kline
pk6811s@acad.drake.edu
Newsgroups: rec.games.corewar