Return to the Iowa Gambling Task - Auditory Feedback page
___________________________________________________________________________________________________________________	

					IOWA GAMBLING TASK (IGT) - with auditory feedback
___________________________________________________________________________________________________________________

Script Author: This script is based on the original Inquisit iowagamblingtask.iqx and was updated with auditory
feedback by Sabrina Schroeder (sabrina.schroeder@live.de) 

last updated:  10-07-2019 by K. Borchert (katjab@millisecond.com) for Millisecond Software, LLC

Millisecond Software thanks Sabrina Schroeder for sharing her script updates !

___________________________________________________________________________________________________________________
BACKGROUND INFO 	
___________________________________________________________________________________________________________________	
This sample script implements the Iowa Gambling Task (IGT). The IGT task assesses risk learning 
by utilizing rewards and punishment in an uncertain simulated real-life decision making context

The implemented procedure is based on:

Bechara A., Damasio A. R., Damasio H., Anderson S. W. (1994). 
Insensitivity to future consequences following damage to human prefrontal cortex. Cognition, 50, 7-15 .

___________________________________________________________________________________________________________________
TASK DESCRIPTION	
___________________________________________________________________________________________________________________	
Participant are presented 4 decks of cards and are asked to select a card from one of the 4 decks with their mouse. 
By turning over the cards, participants can win money but also lose money.
The four different decks can be categorized as advantageous (overall more wins than losses)
or disadvantageous (overall more losses than wins).

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

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

(1) Raw data file: 'igt_auditory_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

values.deckOrderGroup:		the experimental deck group (1-4) the subject was randomly assigned to	
									(refers to order of the advantageous (deck3, deck4) and disadvantegeous (deck 1, deck2)
									decks on the screen)
										group1: deck1(D), deck2(D), deck3(A), deck4(A)
										group2: deck4(A), deck1(D), deck2(D), deck3(A)
										group3: deck3(A), deck4(A), deck1(D), deck2(D)
										group4: deck2(D), deck3(A), deck4(A), deck1(D)
										
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
									
values.cardsselected:			counts the number of card selections (across all blocks)

values.card1itemnumber-
values.card2itemnumber:		store the itemnumber of the card face that needs to be presented on screen for each of the 4 decks

response:					the participant's response 
									(e.g. which deck was chosen; the response "deck1" refers to the actual disadvantegous deck1
									and not the position of the deck on the screen)
									
values.responseCategory:		"advantageous" vs. "disadvantageous"
latency: 						the response latency
values.gain:					stores the trial's gain depending on choice
values.loss:					stores the trial's loss depending on choice
values.currenttotal:			stores the current amount of coins won		
					

(2) Summary data file: 'igt_auditory_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)
									
values.deckOrderGroup:		the experimental deck group (1-4) the subject was randomly assigned to	
									(refers to order of the advantageous (deck3, deck4) and disadvantegeous (deck 1, deck2)
									decks on the screen)
										group1: deck1(D), deck2(D), deck3(A), deck4(A)
										group2: deck4(A), deck1(D), deck2(D), deck3(A)
										group3: deck3(A), deck4(A), deck1(D), deck2(D)
										group4: deck2(D), deck3(A), deck4(A), deck1(D)	
		
values.count_deck1select-
values.count_deck4select:			count all the actual deck1-deck4 choices across all blocks

expressions.prop_deck1select-
expressions.prop_deck4selectt:		proportion of specific deck selections
									Note: deck1 always refers to deck1 and not specific deck location
									
values.countAdvantage_total:		counts the total number of advantageous selections (deck 3 & deck 4)
values.countDisAdvantage_total:	counts the total number of disadvantageous selections (deck 1 & deck 2)

/NET:							difference btw. total number of advantageous and disadvantageous selections 
								(positive NET -> overall more advantageous selections)

per blocks of 20 trials:
/countAdvantage1:			counts the number of advantageous selections (deck 3 & deck 4) during trials 1-20
/countDisAdvantage1:			counts the number of disadvantageous selections (deck 1 & deck 2) during trials 1-20 
/NET1:						difference btw. number of advantageous and disadvantageous selections during trials 1-20
/countAdvantage2:			counts the number of advantageous selections (deck 3 & deck 4) during trials 21-40
/countDisAdvantage2:			counts the number of disadvantageous selections (deck 1 & deck 2) during trials 21-40 
/NET2:						difference btw. number of advantageous and disadvantageous selections during trials 21-40								
/countAdvantage3:			counts the number of advantageous selections (deck 3 & deck 4) during trials 41-60
/countDisAdvantage3:			counts the number of disadvantageous selections (deck 1 & deck 2) during trials 41-60 
/NET3:						difference btw. number of advantageous and disadvantageous selections during trials 41-60								
/countAdvantage4:			counts the number of advantageous selections (deck 3 & deck 4) during trials 61-80
/countDisAdvantage4:			counts the number of disadvantageous selections (deck 1 & deck 2) during trials 61-80 
/NET4:						difference btw. number of advantageous and disadvantageous selections during trials 61-80		

___________________________________________________________________________________________________________________	
EXPERIMENTAL SET-UP 
___________________________________________________________________________________________________________________
	
* The game is set up to play 1 block of 100 trials
* The four decks are randomly assigned a (permanent) screen location (assignment by randomly assigned values.deckOrderGroup). 
regardless of actual screen presentation:
deck1/deck2 = disadvantageous
deck3/deck4 = advantageous
* By default, in this script the win/loss probabilities assigned are aligned with the model of "once played, 
cards are NOT returned to the deck" (therefore turning probabilities into actual frequencies over the course of 10 selections of each deck;
see more info under section EXPRESSIONS)
* the script collects performance data in blocks of 20 trials

Auditory Feedback:
- the script randomly samples from four possible auditory feedback sounds if Loss >= Gain (Loss)
- the script randomly samples from four possible auditory feedback sounds if Loss < Gain (Win)

___________________________________________________________________________________________________________________
STIMULI
___________________________________________________________________________________________________________________
provided by Millisecond Software and Sabrina Schroeder- can be edited under section Editable Stimuli

___________________________________________________________________________________________________________________	
INSTRUCTIONS 
___________________________________________________________________________________________________________________	
provided by Millisecond Software - can be edited under section Editable Instructions

___________________________________________________________________________________________________________________	
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:

/ startamount:							the amount of money owned at the start of the game; startamount (default) = 2000
/showcardinfo:							shows information about number of cards played/how many more to come