Installation
============

You must have a Scheme interpreter installed.  I am using Guile.
Furthermore you need Perl and Python.  Yes, I love scripting
languages.  Unpack the distribution using the host account.  The
`procmailrc' file assumes the $HOME/projects/nulligarchie directory.

The Mail Filter
---------------

The distribution includes procmail recipies in the `procmailrc' file.
Include them in the ~/.procmailrc file of your host account.

Running `make test'
-------------------

Watch out! Running `make test' might delete all your mail!  `make
test' assumes that a command line `mail' tool is available.  It also
assumes that mail is delivered by procmail to /usr/spool/mail/$USER.
Some of the tests in test-null-administration.pl will fail if these
assumptions don't hold true.

Run `make test'.  This will delete the /usr/spool/mail/$USER file when
it comes to testing the mail filter.

Cleaning Up
-----------

If you want a clean distribution, run `make distclean' followed by
`make install'.  If you want to modify the start game, replace the
`turns/game.0' file.  Usually, games are hand crafted.

Hosting
-------

If you want to run a turn, use `make turn'.  At the end, the reports
directory holds all the reports, and there will be a `mail-reports'
shell script that you can use to mail them.

Generally you should be able to administer the game using the
null-administration.pl Perl script.  I chose to implement the
administration tool in Perl because Perl is nice for hacking stuff.
And I hoped to keep Guile specific Scheme code out of the host source
code.

Client
======

In order to play the game, you must have Python installed.  Run the
script cyclops.py on the XML report you received.

Example:

    python cyclops.py Alex.xml

I chose to implement the client in Python because the Python
installation is very easy on certain operating systems.

TODO
====

There is no way to change your email address.

There is no way to get another copy of your reports if you loose or
delete them.

Rewrite null-administration.pl using Guile.
