HumanMachineGaming is a thesis project on human-robot interaction(HRI). This work so far includes the complete code for a pair
or multiple human pairs to play matrix games (Prisoner's Dilemma, Chicken and Blocks are included so far, but you can play your
own game by adding it into the \games directory).
Each directory is responsible for separate tasks.
\Server is the game server.
\games contains the payoff structure of the each games, so if you want to play your own game, you need to locate
a text file containing your game payoffs in this directory.
\human includes human client interface and some other files that are associated with automatic game settings.
\logistics has files for automatic game settings.
\result analysis for making plots and analysis.
For the game interface, no dependency is required. For data ananysis, numpy and pyplot are neccessary to make plots. In
addition, game server is coded in C++, you have to run make in Server directory to build the server.
build the game server. Note, this is only once after your cloned the code, not everytime you set up a new game.
cd ..\Server
makeStart game server:
cd ..\Server
./CheapTalk <GAMENAME> <ROUND NUMBERS> 0 cheaptalk Replace GAMENAME with the game you want to play; for example, prisons, chicken2 or blocks2. and specify the rounds
like 50 or 100 in place of ROUND NUMBERS.
Human clients: Human client 1, in a new terminal window,
cd ../human
python 33.py <GAMENAME> <ROUND NUMBERS> '<YOURNICKNAME> 0' 1 localhostThe other parameters are the same as the game server, except for '<YOURNICKNAME> 0' where you choose your name;
for example, Spider. You may also change localhost to the server IP if you the client is on another machine.
Human client 2, in a new terminal window,
cd ../human
python 33.py <GAMENAME> <ROUND NUMBERS> '<YOURNICKNAME> 1' 1 localhostThe same as above. Now, you should see the game as shown in the screen shot. You may follow the annotated steps to play a game.
