from os import environ import otree # if you set a property in SESSION_CONFIG_DEFAULTS, it will be inherited by all configs # in SESSION_CONFIGS, except those that explicitly override it. # the session config can be accessed from methods in your apps as self.session.config, # e.g. self.session.config['participation_fee'] SESSION_CONFIG_DEFAULTS = { 'real_world_currency_per_point': 1.00, 'participation_fee': 0.00, } SESSION_CONFIGS = [ dict( name='experiment1', display_name="Experiment 1", app_sequence=['prisoner', 'priceComp', 'frontrunner', 'oneill', 'cournot', 'traveler'], num_demo_participants=4, players_per_group=4, endowment=100, ), dict( name='experiment2', display_name="Experiment 2", app_sequence=['minimum', 'battle', 'staghunt', 'nct', 'voluntary', 'repeated_flip'], num_demo_participants=4, players_per_group=4, endowment=20, ), # { # 'name': 'beautyContest', # 'display_name': 'Chapter 1: The Beauty Contest', # 'num_demo_participants': 3, # 'app_sequence': ['beautyContest'], # 'endowment': 100, # 'doc': """Edit the value of the 'endowment' variable to change the maximum guess that players may make.""" # }, # { # 'name': 'prisoner', # 'display_name': "Chapter 1: Prisoner's Dilemma", # 'num_demo_participants': 2, # 'app_sequence': ['prisoner'] # }, # { # 'name': 'secondPrice', # 'display_name': 'Chapter 3: Second Price Auction', # 'num_demo_participants': 4, # 'app_sequence': ['secondPrice'], # 'players_per_group': 4, # 'doc': """The 'players_per_group' variable is configurable and has a default value of 4.""" # }, # { # 'name': 'priceComp', # 'display_name': 'Chapter 3: Price Competition', # 'num_demo_participants': 2, # 'app_sequence': ['priceComp'] # }, # { # 'name': 'frontrunner', # 'display_name': 'Chapter 4: Frontrunner - Challenger Game', # 'num_demo_participants': 2, # 'app_sequence': ['frontrunner'] # }, # { # 'name': 'oneill', # 'display_name': "Chapter 5: O'Neill Game", # 'num_demo_participants': 2, # 'app_sequence': ['oneill'] # }, # { # 'name': 'cournot', # 'display_name': 'Chapter 6: Cournot Duopoly Game', # 'num_demo_participants': 2, # 'app_sequence': ['cournot'] # }, # { # 'name': 'traveler', # 'display_name': "Chapter 6: Traveler's Dilemma", # 'num_demo_participants': 2, # 'app_sequence': ['traveler'] # }, # { # 'name': 'minimum', # 'display_name': 'Chapter 7: Minimum Effort Game', # 'num_demo_participants': 5, # 'app_sequence': ['minimum'], # 'players_per_group': 5, # 'doc': """The 'players_per_group' variable is configurable and has a default value of 5.""" # }, # { # 'name': 'battle', # 'display_name': 'Chapter 7: Battle of the Sexes', # 'num_demo_participants': 2, # 'app_sequence': ['battle'] # }, # { # 'name': 'staghunt', # 'display_name': 'Chapter 7: Stag Hunt', # 'num_demo_participants': 2, # 'app_sequence': ['staghunt'] # }, # { # 'name': 'nct', # 'display_name': 'Chapter 8: Incredible Threat Games', # 'num_demo_participants': 2, # 'app_sequence': ['nct'] # }, # { # 'name': 'voluntary', # 'display_name': 'Chapter 9: Voluntary Contribution Game', # 'num_demo_participants': 4, # 'app_sequence': ['voluntary'], # 'players_per_group': 4, # 'endowment': 20, # 'doc': """The 'players_per_group' variable is configurable and has a default value of 5.""" # }, # { # 'name': 'repeated_flip', # 'display_name': 'Chapter 10: Repeated Game of Random Length', # 'num_demo_participants': 4, # 'app_sequence': ['repeated_flip'] # }, # { # 'name': 'acquiring', # 'display_name': 'Chapter 11: Acquiring a Company', # 'num_demo_participants': 2, # 'app_sequence': ['acquiring'] # }, # { # 'name': 'jobMarket', # 'display_name': 'Chapter 12: Job Market Signaling Game', # 'num_demo_participants': 2, # 'app_sequence': ['jobMarket'] # }, # { # 'name': 'firstPrice', # 'display_name': 'Chapter 13: First-Price Private-Value Auction', # 'num_demo_participants': 2, # 'app_sequence': ['firstPrice'], # 'players_per_group': 2, # 'doc': """The 'players_per_group' variable is configurable and has a default value of 4.""" # }, # { # 'name': 'firstPrice_common', # 'display_name': 'Chapter 13: First-Price Common-Value Auction', # 'num_demo_participants': 2, # 'app_sequence': ['firstPrice_common'], # 'players_per_group': 2, # 'doc': """The 'players_per_group' variable is configurable and has a default value of 4.""" # }, # { # 'name': 'ultimatum', # 'display_name': 'Chapter 14: Ultimatum Bargaining', # 'num_demo_participants': 2, # 'app_sequence': ['ultimatum'] # }, # { # 'name': 'cooperative', # 'display_name': 'Chapter 15: Nash Bargaining', # 'num_demo_participants': 2, # 'app_sequence': ['cooperative'] # }, # { # 'name': 'coalition_formation', # 'display_name': 'Chapter 16: Coalition Formation Game', # 'num_demo_participants': 3, # 'app_sequence': ['coalition_formation'] # }, # { # 'name': 'matching', # 'display_name': 'Chapter 17: Matching Market Game', # 'num_demo_participants': 5, # 'app_sequence': ['matching'], # 'players_per_group': 5, # 'doc': """The 'players_per_group' variable is configurable and has a default value of 5.""" # }, # { # 'name': 'trust', # 'display_name': 'Chapter 18: Trust Game', # 'num_demo_participants': 2, # 'app_sequence': ['trust'], # 'endowment': 10, # 'multiplier': 3, # 'doc': """The 'endowment' variable determines how much Player A is initially given. The 'multiplier' variable # determines how much the amount sent by Player A is multiplied by. Default values are 10 and 3, respectively.""" # }, # { # 'name': 'punishment', # 'display_name': 'Chapter 19: Voluntary Contribution Game with Punishment', # 'num_demo_participants': 4, # 'app_sequence': ['punishment'], # 'players_per_group': 4, # 'endowment': 20, # 'doc': """The 'players_per_group' variable is configurable and has a default value of 4. The 'endowment' variable # determines how much money is given to each player in the first stage of the game.""" # }, # { # 'name': 'pool', # 'display_name': 'Chapter 20: The Common Pool Resource Game', # 'num_demo_participants': 8, # 'app_sequence': ['pool'], # 'endowment': 20 # }, # { # 'name': 'voter', # 'display_name': 'Chapter 21: Median Voter Game', # 'num_demo_participants': 2, # 'app_sequence': ['voter'] # }, # { # 'name': 'participation', # 'display_name': 'Chapter 22: Participation Game', # 'num_demo_participants': 4, # 'app_sequence': ['participation'] # }, # { # 'name': 'condorcet', # 'display_name': 'Chapter 23: Condorcet Jury Game', # 'num_demo_participants': 3, # 'app_sequence': ['condorcet'] # }, # { # 'name': 'normalForm', # 'display_name': 'Chapter 24: Normal Form Game with Beliefs', # 'num_demo_participants': 2, # 'app_sequence': ['normalForm'], # 'number_of_rounds': 10, # 'display_all_history': True, # 'doc': """The 'number_of_rounds' variable is configurable and has a default value of 10. The 'display_all_history' # variable determines whether players see values from only the previous round of play or all rounds of play. Its # default value is false, so players can review choices from only one round.""" # }, # { # 'name': 'hawk_dove', # 'display_name': 'Chapter 25: Hawk-Dove Game', # 'num_demo_participants': 2, # 'app_sequence': ['hawk_dove'] # }, # { # 'name': 'pennies', # 'display_name': 'Chapter 26: Asymmetric Matching Pennies', # 'num_demo_participants': 2, # 'app_sequence': ['pennies'] # }, # { # 'name': 'eleven', # 'display_name': 'Chapter 27: 11-20 Money Request Game', # 'num_demo_participants': 2, # 'app_sequence': ['eleven'] # }, # { # 'name': 'holdup', # 'display_name': 'Chapter 28: Hold-up with Vengeance', # 'num_demo_participants': 2, # 'app_sequence': ['holdup'] # }, ] LANGUAGE_CODE = 'en' REAL_WORLD_CURRENCY_CODE = 'USD' REAL_WORLD_CURRENCY_DECIMAL_PLACES = 2 USE_POINTS = False ROOMS = [ { 'name': 'class', 'display_name': 'Game Theory ', 'participant_label_file': '_rooms/gametheory_class.txt' }, ] ADMIN_USERNAME = 'admin' # for security, best to set admin password in an environment variable ADMIN_PASSWORD = 'fulbrightexperiment' DEMO_PAGE_INTRO_HTML = 'Links for testing and demonstration.
To launch a real study, either create persistent links by setting up a room, or create a session through the sessions page.' SECRET_KEY = 'asdfk3i3vnaasp9393nansadf;lk1' OTREE_AUTH_LEVEL = 'STUDY' ACCESS_CODE_FOR_DEFAULT_SESSION = 'Kemba' # if an app is included in SESSION_CONFIGS, you don't need to list it here INSTALLED_APPS = ['otree']