Trust Game

Technical Manual

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

Background

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.

References

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.

Duration

2 minutes

Description

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.

Procedure

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)

Computer Sharing Algorithms:

Computer acting as playerA:
- selfish: shares a random amount of 0-20% of its total
- somewhere in between: shares a random amount of 40-60% of its total
- generous: shares a random amount of 80% to all of its total
- adaptive: uses participant trusting behavior as a guide

Computer acting as playerB:
- selfish: shares a random amount of 0-10% of its total
- reciprocal: uses the sharing proportion of playerA and adjusts the fair share by this proportion.
The final share is further adjusted by a small random jiggle (constraint: computer does not end up with a smaller total than participant)
- fair: shares the fair amount adjusted by a small random jiggle (constraint: computer does not share more than the fair share)

Stimuli

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)

Instructions

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.

Summary Data

File Name: trustgameSummary*.iqdat

Data Fields

NameDescription
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

Raw Data

File Name: trustgame_raw*.iqdat

Data Fields

NameDescription
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

Parameters

The procedure can be adjusted by setting the following parameters.

NameDescriptionDefault
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