Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com), Millisecond
Created: January 23, 2012
Last Modified: January 06, 2023 by K. Borchert (katjab@millisecond.com), Millisecond
Script Copyright © Millisecond Software, LLC
This script implements the Response Game, a social economic decision game about allocating monetary resources under the pretense that a response to a previously made IN* decision by either the the participant (variant1) or the opponent-player/computer (variant 2) might decide the final allocation outcome. (IN decision: first player decides to leave the final decision up to the second player)
The implemented procedure is based on:
Brocklebank, S., Lewis, G.J, & Bates, T.C. (2011). Personality accounts for stable preferences and expectations across a range of simple games. Personality and Individual Differences, 51, 881-886.
3 minutes
2 game variants can be played:
A) Participant (Player A) gets to allocate money to herself and player B (aka computer) in either a more or less prosocial manner. The trials/games are presented in a decision tree format. In game variant A, participants can choose to allocate the money themselves (= "out" choice) or have player B decide the amounts to allocate (="in" choice).
B) Participant (Player B) gets to allocate money to herself and player A (aka computer) in either a a more or less prosocial manner. In game variant B, the participant's choice is made under the assumption that player A (aka computer) chooses the "in" choice.
(1) Game Variant played:
The game can be either played from the perspective of Player A (variant A) or Player B (variant B). By default
it is run as Player A. This can be easily edited under VALUES-> EDITABLE VALUES -> parameters.responseGameType.
(2) Games played:
This script runs 6 response game trials (default).
to change the number of games played, edit
a) LISTS: list.A_out, list.B_out, list.Aleft, list.Bleft, list.Aright, list.Bright to reflect the desired number of trials/amounts
b) BLOCK: adjust the number of trials run under block.dictator
(3) Within-participant control of response keys:
Presentation of designated 'out'/'left' amounts randomized without replacement within participants.
Of the 6 games (default), 3 randomly determined trials will display the designated 'out'/'left' choices on the left branch,
the remaining 3 will display them on the 'in'/right branch.
!!!
=> values.responsebranch reflects the actual branch chosen by the participant.
=> 'Response' reflects if participant chose the designated 'out'/'left or 'in'/'right' amounts
(4) Calculation of Win amounts:
Total win amounts are calculated based on the state of parameters.coplayercondition.
By default the coplayer (aka computer) is set to always have chosen the 'out'/'left' choice.
Other options are
b) always the 'in'/'right' choice and
c) random choices. list.randomchoice controls the selection. It is set so that it selects out/left choices
in 50% of the cases. Go to list.randomchoice for further information.
see section Editable Stimuli
Instructions are not original to the task. They are provided by Millisecond
as htm/html pages and can be edited by changing the provided htm/html files.
To edit htm/html-files: open the respective documents in simple Text Editors such as TextEdit (Mac)
or Notepad (Windows).
File Name: responsegame_summary*.iqdat
| Name | Description |
|---|---|
| inquisit.version | Inquisit version number |
| computer.platform | Device platform: win | mac |ios | android |
| 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 |
| responseGameType | 1 = Participant is Player A 2 = Participant is Player B |
| countOut | Sums up all Out choices |
| countIn | Sums up all In choices |
| countLeft | Sums up all Left choices |
| countRight | Sums up all Right choices |
| totalA | The total amount Player A owns |
| totalB | The total amount Player B owns |
| showOpponentPic | 1 = a picture of an opponent is displayed on decision tree screen (fine tune picture under STIMULUS -> picture.opponentA or picture.opponentB] 0 = no opponent picture is displayed (default) |
| showPlayerAwins | 1 = show win status of Player A 0 = do not show win status of player A (default) |
| showPlayerBwins | 1 = show win status of Player B 0 = do not show win status of player B (default) |
| coplayercondition | 1 = coplayer (aka computer) always makes designated 'out'/'left' choice (default) 2 = coplayer always makes designated 'in'/'right' choice 3 = coplayer makes a random choice, dictated by list.randomchoice |
| posttrialpause | Sets the posttrialpause for the trials in ms |
File Name: responsegame_raw*.iqdat
| Name | Description |
|---|---|
| build | Inquisit version number |
| computer.platform | Device platform: win | mac |ios | android |
| date | Date the session was run |
| time | Time the session was run |
| subject | Participant ID |
| group | Group number |
| session | Session number |
| blockCode | Name of the current block |
| blockNum | Number of the current block |
| trialCode | Name of the current trial |
| trialNum | Number of the current trial |
| responseGameType | 1 = Participant is Player A 2 = Participant is Player B |
| branch | 1 = designated "left" and "out" amounts displayed on left 2 = designated "left" and "out" amounts displayed on right |
| aValueOut - bValueRight | Contain the out/in, left/right amounts |
| responsebranch | The actually selected response branch A1 or A2, B1 or B2 !!!! if the participant selected a designated 'left' amount but the amount was presented on the right, responsebranch = B2 (shown on the right) but response = left (designated left) If a participant always selects the designated 'left' values, response = left for all trials, but responsebranch will reflect the actual branch chosen. |
| response | The participant's response: the designated out/in, left/right amount |
| latency | The response latency (in ms) |
| countOut | Sums up all Out choices |
| countIn | Sums up all In choices |
| countLeft | Sums up all Left choices |
| countRight | Sums up all Right choices |
| totalA | The total amount Player A owns |
| totalB | The total amount Player B owns |
| showOpponentPic | 1 = a picture of an opponent is displayed on decision tree screen (fine tune picture under STIMULUS -> picture.opponentA or picture.opponentB] 0 = no opponent picture is displayed (default) |
| showPlayerAwins | 1 = show win status of Player A 0 = do not show win status of player A (default) |
| showPlayerBwins | 1 = show win status of Player B 0 = do not show win status of player B (default) |
| coplayercondition | 1 = coplayer (aka computer) always makes designated 'out'/'left' choice (default) 2 = coplayer always makes designated 'in'/'right' choice 3 = coplayer makes a random choice, dictated by list.randomchoice |
| posttrialpause | Sets the posttrialpause for the trials in ms |
| coplayerChoice | Helper variable that determines whether the computer makes an out-left (= 1) /in-right (=0)choice (only relevant to determine the total) |
The procedure can be adjusted by setting the following parameters.
| Name | Description | Default |
|---|---|---|
| pictureintro | 1 = a separate picture introduction of the co-player is displayed before decision tree screens come up (fine tune picture under STIMULUS -> picture.opponentpic] 0 = no separate picture introduction of the co-player (default) | |
| showOpponentpic | 1 = a picture of an opponent is displayed on decision tree screen (fine tune picture under STIMULUS -> picture.opponentA or picture.opponentB] 0 = no opponent picture is displayed (default) | |
| showPlayerAwins | 1 = show win status of Player A 0 = do not show win status of player A (default) | |
| showPlayerBwins | 1 = show win status of Player B 0 = do not show win status of player B (default) | |
| coplayerCondition | 1 = coplayer (aka computer) always makes designated 'out'/'left' choice (default) 2 = coplayer always makes designated 'in'/'right' choice 3 = coplayer makes a random choice, dictated by list.randomchoice | |
| responseGameType | 1 = Participant is Player A 2 = Participant is Player B | |
| posttrialPause | Sets the posttrialpause for the trials in ms |