Hello! Thanks for checking out this file. It will be divided into two sections: instructions to run the experiment and what each of the .py files is used for. Instructions: To reset the databases collected by otree, which I've generally done each time before redeploying, can be done with the command: otree resetdb To run the experiment, type the command: otree runprodserver For this to code to work properly, use Python version 3.7. Download this on your local computer, and then create a virtual environment with this Python version. I'm using Pycharm as an editor, and this can easily be done by going to settings (ctrl + alt + s) and changing the python interpreter to this version of Python in Pycharm. You also want to be on an older version of otree. To ensure this, type the command: pip3 install -U "otree<5" This worked for me on windows, adjust accordingly for mac or linux. Organization: The datamaker.py file creates all of the samples for all of the players in the game. It takes 3 parameters (M,N,n) and creates the json file accordingly. If the json file with those given parameters is already in the directory, then it won't create a new set. It creates M blocksets each with N blocks, and each block contains a random number of samples drawn from the geometric distrubtion with mean n. The models.py file contains the Constants class, which allows the other files to access player specific information throughout the experiment. The pages.py creates the different pages that correspond to different parts of the experiment. Each class has an is_displayed() function that tells otree when to display each page.