Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com), Millisecond
Created: January 28, 2022
Last Modified: January 12, 2025 by K. Borchert (katjab@millisecond.com), Millisecond
Script Copyright © Millisecond Software, LLC
This script implements Millisecond's computerized version of the 'Trust Game', a socio-economic decision game to investigate trust and reciprocity in an investment setting.
The script uses elements of several Trust Game publications.
Berg, J., Dickhaut, J., & McCabe, K. (1995). Trust, reciprocity, and social history. Games and Economic Behavior, 10(1), 122–142.
Chetty, Rinelle & Hofmeyr, Andre & Kincaid, Harold & Monroe, Brian, 2021. "The Trust Game Does Not (Only) Measure Trust: The Risk-Trust Confound Revisited," Journal of Behavioral and Experimental Economics (formerly The Journal of Socio-Economics), Elsevier, vol. 90(C).
Croson, Rachel, and Nancy Buchan. 1999. "Gender and Culture: International Experimental Evidence from Trust Games." American Economic Review, 89 (2): 386-391.
2 minutes
This script implements a general 'Trust Game'. In a Trust Game 2 players play with each other. Both Players receive the same start amount (here: $10). playerA is asked to share any amount with playerB. The shared amount is tripled by the experimenter and added to playerB's total. playerB can then decide how much of their money to share with playerA in return.
This implementation is not a true multi player game but simulates the behavior of coplayers with computer algorithms to pretend that participants play against real people.
This script implements a general 'Trust Game'.
In a Trust Game 2 players play with each other. Both Players receive the same start amount (here: $10).
playerA is asked to share any amount with playerB. The shared amount is tripled by the experimenter
and added to playerB's total. playerB can then decide how much of their money to share with playerA.
This implementation is not a true multi player game but simulates the behavior of coplayers
with computer algorithms to pretend that participants play against real people.
The default script plays 1 round of the game with Participant playing the part of playerA.
The default computer response as playerB is to be somewhat reciprocal, that is the more playerA shares,
the more they will get back from playerB. If they share everything, computer ensures to return the
fair share (that is both players end up with $20).
The script allows to change the following settings under Editable Parameters:
- starting role of participant
- number of rounds played ( if more than one round is played, the roles of participant/computer alternate)
- the computer's sharing behavior (from selfish, reciprocal to fair)
Images were taken from 'https://pixabay.com/' (license: free for commercial use)
Music by https://www.free-stock-music.com:
https://www.free-stock-music.com/fsm-team-upbeat.html
(free for commercial use with attribution)
Sound Effects by:
https://freesound.org/people/renatalmar/sounds/264981/ (Creative Commons 0 License)
provided by Millisecond.
The default instructions are in English. To change instructions (or translate them),
change any text stimuli under the different modules.
Instructions can be repeated as often as needed.
File Name: trustgameSummary*.iqdat
| Name | Description |
|---|---|
| inquisit.version | Inquisit version number |
| computer.platform | Device platform: win | mac |ios | android |
| computer.touch | 0 = device has no touchscreen capabilities; 1 = device has touchscreen capabilities |
| computer.hasKeyboard | 0 = no external keyboard detected; 1 = external keyboard detected |
| startDate | Date the session was run |
| startTime | Time the session was run |
| subjectId | Participant ID |
| groupId | Group number |
| sessionId | Session number |
| elapsedTime | Session duration in ms |
| completed | 0 = Test was not completed 1 = Test was completed |
| computerSharingStrategyA | Parameter setting 1 = computer is not trusting: shares only 0-20% of its bounty 2 = computer is neither trusting nor untrusting: shares 40% to 60% of its bounty 3 = computer is trusting: shares 80% to all its bounty 4 = computer adapts uses playerBehavior as guide (if player hasn't played yet, plays as neither trusting nor untrusting) |
| computerSharingStrategyB | Parameter setting 1 = computer as playerB is acting in self-interest only: shares 0-10% of its bounty (decision time is relatively quick) 2 = computer as playerB reciprocates (looks at proportion shared and acts accordingly) (decision takes longer) Share Amount: adjusts the fair share by original proportion shared by playerA 3 = computer as PlayerAB is fair => makes sure both players end up with roughly the same amount (decision takes longer) |
| timeSpentOnInstructionsIns | Notes the time (in seconds) that participant spent on instruction block |
| countInstructionBlocks | Counts the number of times participant worked through the instruction block |
| roundCounter | The number of rounds played |
| participantRoles | The roles participant played in each round |
| participantTotal | The final total participant won |
| computerTotal | The final total computer won |
| meanProportionSharea | The mean proportion of the total shared with computer when participant played playerA |
| meanDecisionTimeA | The mean time (in ms) it took to make sharing decision when participant played playerA |
| meanProportionShareB | The mean proportion of the total shared with computer when participant played playerB |
| meanDecisionTimeB | The mean time (in ms) it took to make sharing decision when participant played playerB |
File Name: trustgame_raw*.iqdat
| Name | Description |
|---|---|
| build | Inquisit version number |
| computer.platform | Device platform: win | mac |ios | android |
| computer.touch | 0 = device has no touchscreen capabilities; 1 = device has touchscreen capabilities |
| computer.hasKeyboard | 0 = no external keyboard detected; 1 = external keyboard detected |
| date | Date the session was run |
| time | Time the session was run |
| subject | Participant ID |
| group | Group number |
| session | Session number |
| computerSharingStrategyA | Parameter setting 1 = computer is not trusting: shares only 0-20% of its bounty 2 = computer is neither trusting nor untrusting: shares 40% to 60% of its bounty 3 = computer is trusting: shares 80% to all its bounty 4 = computer adapts uses playerBehavior as guide (if player hasn't played yet, plays as neither trusting nor untrusting) |
| computerSharingStrategyB | Parameter setting 1 = computer as playerB is acting in self-interest only: shares 0-10% of its bounty (decision time is relatively quick) 2 = computer as playerB reciprocates (looks at proportion shared and acts accordingly) (decision takes longer) Share Amount: adjusts the fair share by original proportion shared by playerA 3 = computer as PlayerAB is fair => makes sure both players end up with roughly the same amount (decision takes longer) |
| blockcode | The name the current block (built-in Inquisit variable) |
| blocknum | The number of the current block (built-in Inquisit variable) |
| trialcode | The name of the currently recorded trial (built-in Inquisit variable) |
| trialnum | The number of the currently recorded trial (built-in Inquisit variable) trialnum is a built-in Inquisit variable; it counts all trials run even those that do not store data to the data file. |
| roundCounter | Updates how many rounds have been started |
| participantRoles | Updates the role participant played in each round Example: "AB" => 2 rounds played, 1st round: participant was playerA; 2nd Round: participant was playerB |
| role | The role the participant plays in the current round ("A" vs. "B") |
| participantTotal | The total amount of money won by participant (across all rounds) |
| computerTotal | The total amount of money won by computer (across all rounds) |
| playerATotal | The current playerATotal |
| playerAShare | The current share amount by playerA |
| propAShare | The current proportional share amount (proportional to playerATotal) |
| shareTotal | The tripled playerA share amount |
| playerBTotal | The current playerBTotal |
| playerBShare | The current share amount by playerB |
| response | The response of participant |
| latency | Response latency (in ms); measured from |
The procedure can be adjusted by setting the following parameters.
| Name | Description | Default |
|---|---|---|
| startRole | "A": participants starts out as playerA (the roles get reversed for subsequent games) "B": participants starts out as playerB (the roles get reversed for subsequent games) check lists.rolesStartA/list.rolesStartB if the participant should stick with the same role game after game | "A" |
| startCapital | The amount of money given to each PlayerAs start capital by default, this script uses '$'; to change change all text elements that run '$' | 10 |
| resetStartCapitalForEachGame | True = each game starts with the same start capital false = the games continue with the accumulated totals | false |
| numberOfGames | The number of games that should be played if more than 1 game should be played, the roles will alternate across games in this script by default check lists.rolesStartA/list.rolesStartB if the participant should stick with the same role game after game | 1 |
| skipMoneyShareFeedback | True = no shared money information/ money totals are displayed on the screen false = participant always sees the amount of money shared by the co-player as well as the current totals | false |
The Strategy Employed When Computer Is Playera |
||
| computerSharingStrategyA | 1 = computer is not trusting: shares only 0-20% of its bounty 2 = computer is neither trusting nor untrusting: shares 40% to 60% of its bounty 3 = computer is trusting: shares 80% to all its bounty 4 = computer adapts uses playerBehavior as guide (if player hasn't played yet, plays as neither trusting nor untrusting) | 2 |
The Strategy Employed When Computer Is Playerb |
||
| computerSharingStrategyB | 1 = computer is acting in self-interest only: shares 0-10% of its bounty (decision time is relatively quick) 2 = computer reciprocates somewhat (looks at proportion shared and acts accordingly) (decision takes longer) Share Amount: adjusts the fair share by original proportion shared by playerA If all was shared originally, the entire fair share is returned, otherwise a relative 'penalty' is hold back 3 = fair => computer makes sure both players end up with roughly the same amount (decision takes longer) | 2 |