Documentation for Referee

Referee is a program for managing  a program named Player.   Normally several copies of Player will play a game among themselves.  The game is called Zenda; it is a simple form of the classic Prisoners' Dilemma game.  Instructions for
Zenda are integrated with the package, so this documentation will only described the interaction between Referee and Player.

Running Referee and Player

1.  Open a terminal, move to the directory where Referee is stored, and 
type "Referee".  Referee can also be opened by double clicking on its icon,  but opening it from a terminal allows it to print out some messages describing what it is doing.  Click "OK" when the Save panel comes up.

2.  Start a copy of Player either on the machine where Referee is running or a different machine on the same network.  When Player starts, it displays a window asking for its name and the host of  the referee.  Choose the default value for the name and type in the name of the host where Referee is running.  Hit Return after typing the hostname.

3.  Start another copy of  Player on this machine or on another machine on the network.   (If you are running NeXTstep 3.0 you have to do this from the command line. ) Type in the name of  the host where Referee is running.    Hit Return after typing the hostname.  If two copies of  Player are running on the same host, they need to have different names, such as PlayerA and PlayerB.  If they are on different hosts, their names can be the same---e.g., the default value, Player.  Normally only one copy of Player will run on a single host.  I allowed multiple copies to run on a single host  for demonstration and debugging.

4.  Continue to open up to 8 copies of Player in this way .  There are spaces for 20 Players, but we've found that performance deteriorates if you run more than 8.  I hope that NeXTstep 3.0 and some rewriting will fix this.

5.  Look at Referee.  It should display the names and hosts of  the machines running Player.  

7.  You can set the push card and the pull card in Referee.  You can set the number of rounds of Phase 1 and of Phase 2.  Phase 1 is a straight Prisoners' Dilemma; Phase 2 is a variation that should induce the cooperative solution.
Here are what the buttons do:

Start game: starts everything going.
New round: bumps to a new round.
Random: runs a random demo.
Reset: resets counters to zero and starts over.
Nudge: sends a message to slow players to make their choices.
Phase Two: switch to Phase 2.

8.  The data files are written to /tmp.  See the source code to see their structure.
---
Hal Varian			    Hal.Varian@umich.edu
Department of Economics	    BITNET: userCABX@umichum
University of Michigan	    
Ann Arbor, MI 48109-1220    	     voice: 313-764-2364 fax: 313-764-2769