Return to the Response Game page
___________________________________________________________________________________________________________________	

							*SOCIAL ECONOMIC GAMES: RESPONSE GAME*
___________________________________________________________________________________________________________________	

Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com) for Millisecond Software LLC
Date: 10-23-2012
last updated:  03-13-2020 by K. Borchert (katjab@millisecond.com) for Millisecond Software, LLC

Script Copyright © 03-13-2020 Millisecond Software

___________________________________________________________________________________________________________________
BACKGROUND INFO 	
___________________________________________________________________________________________________________________	
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.

___________________________________________________________________________________________________________________
TASK DESCRIPTION
___________________________________________________________________________________________________________________	
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.

___________________________________________________________________________________________________________________	
DURATION 
___________________________________________________________________________________________________________________	
the default set-up of the script takes appr. 3 minutes to complete

___________________________________________________________________________________________________________________	
DATA FILE INFORMATION 
___________________________________________________________________________________________________________________	
The default data stored in the data files are:

(1) Raw data file: 'responsegame_raw*.iqdat' (a separate file for each participant)

build:								The specific Inquisit version used (the 'build') that was run
computer.platform:					the platform the script was run on (win/mac/ios/android)
date, time, 						date and time script was run 
subject, group, 					with the current subject/groupnumber
script.sessionid:					with the current session id

blockcode, blocknum:				the name and number of the current block (built-in Inquisit variable)
trialcode, trialnum: 				the name and number of the currently recorded trial (built-in Inquisit variable)
										Note: trialnum is a built-in Inquisit variable; it counts all trials run; even those
										that do not store data to the data file such as feedback trials. Thus, trialnum 
										may not reflect the number of main trials run per block. 

parameters.ResponseGameType:		1 = Participant is Player A
									2 = Participant is Player B																		
									
values.branch:						1 = designated "left" and "out" amounts displayed on left; 
									2 = designated "left" and "out" amounts displayed on right

values.Avalue-Out - values.Bvalue-Right: 	contain the out/in, left/right amounts

values.responsebranch:						the actually selected response branch A1 or A2, B1 or B2
											!!!! Note: if the participant selected a designated 'left' amount but the amount
											was presented on the right, values.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 values.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)

values.count_Out:					sums up all Out choices
values.count_In:					sums up all In choices
values.count_Left:					sums up all Left choices
values.count_Right:					sums up all Right choices
values.totalA:						the total amount Player A owns
values.totalB:						the total amount Player B owns

parameters.show_opponentpic:		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)
								
parameters.showPlayerAwins:			1 = show win status of Player A; 
									0 = do not show win status of player A (default)
								
parameters.showPlayerBwins:			1 = show win status of Player B; 
									0 = do not show win status of player B (default)

parameters.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
								
parameters.posttrialpause:			sets the posttrialpause for the trials in ms

values.coplayerchoice:				helper variable that determines whether the computer makes an out-left (= 1) /in-right (=0)choice 
									(only relevant to determine the total)


(2) Summary data file: 'responsegame_summary*.iqdat' (a separate file for each participant)

computer.platform:					the platform the script was run on (win/mac/ios/android)
script.startdate:					date script was run
script.starttime:					time script was started
script.subjectid:					assigned subject id number
script.groupid:						assigned group id number
script.sessionid:					assigned session id number
script.elapsedtime:					time it took to run script (in ms); measured from onset to offset of script
script.completed:					0 = script was not completed (prematurely aborted); 
									1 = script was completed (all conditions run)

parameters.ResponseGameType:		1 = Participant is Player A ; 
									2 = Participant is Player B
									
values.count_Out:					sums up all Out choices
values.count_In:					sums up all In choices
values.count_Left:					sums up all Left choices
values.count_Right:					sums up all Right choices
values.totalA:						the total amount Player A owns
values.totalB:						the total amount Player B owns

parameters.show_opponentpic:		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)
									
parameters.showPlayerAwins:			1 = show win status of Player A; 
									0 = do not show win status of player A (default)
									
parameters.showPlayerBwins:			1 = show win status of Player B; 
									0 = do not show win status of player B (default)
									
parameters.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
									
parameters.posttrialpause:			sets the posttrialpause for the trials in ms

___________________________________________________________________________________________________________________	
EXPERIMENTAL SET-UP 
___________________________________________________________________________________________________________________	

(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).
NOTE: 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.
!!!NOTE:
=> 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.

___________________________________________________________________________________________________________________	
STIMULI
___________________________________________________________________________________________________________________	
see section Editable Stimuli

___________________________________________________________________________________________________________________	
INSTRUCTIONS 
___________________________________________________________________________________________________________________	
Instructions are not original to the task. They are provided by Millisecond Software
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).
	
___________________________________________________________________________________________________________________	
EDITABLE CODE 
___________________________________________________________________________________________________________________	
check below for (relatively) easily editable parameters, stimuli, instructions etc. 
Keep in mind that you can use this script as a template and therefore always "mess" with the entire code to further customize your experiment.

The parameters you can change are:

/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)
								
/show_opponentpic:				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