I'm a Behavioral Economics Master student and I'm currently working on an experiment. We would like to investigate what happens when people are "forced" to play according to some predetermined strategies in the Prioner's Dilemma game. Unfortunately, I'm very new to programming and I'm struggling how to start setting up the app for our experiment.
I'm trying to write down in greatest detail what we have in mind:
Participants in the experiment are divided into 2 groups: one control and one treatment group. Every participant plays 5-rounds of the game, against three bots who follow a certain strategy that is unknown to the participant. The strategies are following: almost-always nice (cooperates in every round, maximum defect options: 4/15 in all 3 rounds), almost-always nasty (defects in every round, maximum cooperating options: 4/15 in all 3 rounds), grudger (cooperates until opponent defects, then follows with defect, if cooperation re-assumes he has the option of "holding the grudge" and keep defecting or cooperating), copycat (starts every game with cooperation then copies the opponent's last move, possible deviation from the strategy 4/15), observer (cooperates in first step and defects in second, then he plays cooperates until cheated, afterward he acts as copycat). The deviations from the strategy are optional, but capped at 4 moves out of the total 15. The three bots play according to a randomly selected strategy. At the beginning of the game (along with the introduction), each participant has to indicate what are they expecting their payoff to be. After every move in the game (so total 15 times) the participant's current score is displayed and he needs to indicate how satisfied he is with his current payoff on 1 to 10 level. At the end of the game, the participant's payoff and the three opponent's payoff are displayed, and the participant has to indicate what he would expect his payoff to be if he was to play the game again. Participants play one 5-move with each of the three bots separately, and the payoff of the bots is calculated as if they played against each other.
The participant does not have to follow a strategy, he can decide at each step whether he wants to cooperate or defect.
After the introduction, the participant has to choose one strategy to follow (strategies are the same as for bots). He can not deviate from this strategy throughout the game, and he is reminded of how much of his deviation options (4 moves per participants in total 15 moves) he has left at the current stage at the game.
I started working on the implementation with oTree/python but I need help with the full implementation of this experiment--either if it is suggestions, pointers, examples or the full code!
All help is greatly appreciated!