solitaire500: 2000 solitaire 500 draft: "Copyright law and the

This message is a draft of the rules for the 2000 Solitaire 500,
which is an extension of the 1999 game, the rules of which
remain available at
http://www.tipjar.com/games/solitaire/wheels/wheels.html


The game will be Wheels once again, played with 52-card standard
decks of cards.  The racing metaphor has been extended by explicitly
allowing
a form of "drafting" which is the racing practice of reducing wind
resistance
by positioning oneself closely behind a competitor: all calid solutions
will
be made available to all entrants, but they must be uniquely modified
somehow
before they can be returned to the server for credit by a different
entrant.
The justification for this restriction is that any entrant submitting a
solution for a common problem gets a copyright on the solution.  It will
be
up to each entrant to optimize the executive decision to "develop a
solution
from scratch in-house" or "adapt an existing open-source solution."



The first client program ("entrant") to solve 500 decks will again win.


The server will run on a computer connected to the internet, exact
location to be announced.  Entrant teams will be responsible for their
own hardware and internet connection.


The "SWP2" protocol will be adjusted to deal exclusively in whole decks
and
whole solutions, and to model open-source product development under
licensing arrangements not encumbering development of derivative works.


Only the first letter of "discard" and "lay" instructions will be
required.


The status, win, sync, close and dump commands will no longer be
supported.


New two card motion primitives 321, 320 and 210 will be available.


The six command sequences (31 21), (21 31), (30 20), (20 30), (20 10)
and
(10 20) will be replaced with the appropriate new two card motion
primitive
before commands are analyzed further, to prevent cetain trivial
transformations
from being used to create "unique derivative works" while still allowing
maximum compatability with the 1999 protocol.

Two new commands will be available, "get" and "solve".

get N

where N is a deck number, from 1 to 5000, not greater than one more
than the highest numbered deck that has been distributed to any entrant.

On receiving this command the server sends the complete 52 shuffled
cards
of deck N to the requesting entrant in the order they will be dealt out,
separated by spaces, ended by a newline character.

solve N .....

where N is the number of the solved deck, and ..... is the solution

On receiving this command the server does these steps:
        removes non-commands and combines combinable sequences
        checks the solution for uniqueness
        checks the solution for accuracy in re: deck N

Good solutions the server has not seen before are (here's the
"open source" part) distributed to all antrants in this format:

fprintf(s,"%s completed lap %i by solving %i: %s\n",
        entryname,++lapnumber,decknumber,solutionstring);

Bad solutions produce an error message returned to the entrant only:

        Solution not unique
or
        Sequence error ...
        where ... is a dump of the game state of the deck being manipulated
        up to the point where an ERR message would have been returned in 1999
SWP.


Any entrant may submit a solution for any deck, but an entrant who
has received a card deck in reply to a "get" command will not be
issued another card deck until they submit a valid unique solution for
the deck they have received.


The race will be run 7 May 2000, which is a Sunday.


The first entrant to "complete lap 500" will win the race, at this
time I believe that first prize (in true carnival style) is a large
plush Tux from Linuxmall.  This may change.


A working sample server loaded with fifty random decks will be up
or provided as a portable perl5 program soon.

Also a working but suboptimal client will be made available for
download.