Return to the Hungry Donkey Task page
___________________________________________________________________________________________________________________	

									Hungry Donkey Task
___________________________________________________________________________________________________________________

Script Author: David Nitz (dave@millisecond.com) for Millisecond Software, LLC
last updated:  12-13-2019 by K. Borchert (katjab@millisecond.com) for Millisecond Software, LLC

Script Copyright © 12-13-2019 Millisecond Software

___________________________________________________________________________________________________________________
BACKGROUND INFO 	
___________________________________________________________________________________________________________________
	This script implements the 'Hungry Donkey Task', a child friendly Iowa Gambling Task.
	The task assesses risk learning utilizing rewards and punishment in an uncertain simulated 
	real-life decision making context.
	
	The implememted procedure is described in:

	Crone, E. A., & van der Molen, M. W. (2004). Developmental changes in real life decision 
	making: Performance on a gambling task previously shown to depend on the ventromedial 
	prefrontal cortex. Developmental Neuropsychology, 25(3), 251-279.

	The picture stimuli used in this task were adapted from the open source PEBL Test Battery 
	available at 'http://pebl.sourceforge.net'.

___________________________________________________________________________________________________________________
TASK DESCRIPTION	
___________________________________________________________________________________________________________________
The goal of the game is to collect as many apples as possible for a hungry donkey.
The apples can be found behind 4 doors.	Each door can either offer apples (reward) or take apples
away (punishment) or both at the same time. The 4 doors are tied to 4 different reinforcement
schedules: two of the doors offer overall more apples than take them away (advantageous doors);
two doors overall take more apples than offer them (disadvantageous doors).

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

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

(1) Raw data file: 'hungrydonkeytask_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. 
																				
doorsselected:					Running count of the number of doors selected by the subject.
latency: 							the response latency (in ms)
response:						the participant's response (selected door)
currentgain:						Amount of apples gained in a given trial.
currentloss:						Amount of apples lost in a given trial.

total:							total earned

globalgain:						Amount of apples gained across the whole task with separate 
								counts for standard and reversed version.
								
globalloss:						Amout of apples lost across the whole task with separate 
								counts for standard and reversed version.
								
dooragain:						Amount of apples gained across the whole task for Door A with 
								separate counts for standard and reversed version.
								
dooraloss:						Amount of apples lost across the whole task for Door A with 
								separate counts for standard and reversed version.
								
doorbgain:						Amount of apples gained across the whole task for Door B with 
								separate counts for standard and reversed version.
								
doorbloss:						Amount of apples lost across the whole task for Door B with 
								separate counts for standard and reversed version.
								
doorcgain:						Amount of apples gained across the whole task for Door C with 
								separate counts for standard and reversed version.
								
doorcloss:						Amount of apples lost across the whole task for Door C with 
								separate counts for standard and reversed version.
								
doordgain:						Amount of apples gained across the whole task for Door D with 
								separate counts for standard and reversed version.
								
doordloss:						Amount of apples lost across the whole task for Door D with 
								separate counts for standard and reversed version.

doorahposition:					Horizontal screen position for Door A and associated elements
										assigned by 'trial.doorpositions' and 'list.doorpositions' at block 
										onset. By default, doors are positioned in alphabetical order from 
										left to right (A->B->C->D). See comments for 'list.doorpositions'
										for further details.
										
doorbhposition:					Horizontal screen position for Door B and associated elements
										assigned by 'trial.doorpositions' and 'list.doorpositions' at block 
										onset. By default, doors are positioned in alphabetical order from 
										left to right (A->B->C->D). See comments for 'list.doorpositions'
										for further details.
										
doorchposition:					Horizontal screen position for Door C and associated elements
										assigned by 'trial.doorpositions' and 'list.doorpositions' at block 
										onset. By default, doors are positioned in alphabetical order from 
										left to right (A->B->C->D). See comments for 'list.doorpositions'
										for further details.
										
doordhposition:					Horizontal screen position for Door D and associated elements
										assigned by 'trial.doorpositions' and 'list.doorpositions' at block 
										onset. By default, doors are positioned in alphabetical order from 
										left to right (A->B->C->D). See comments for 'list.doorpositions'
										for further details.
										
parameters.trackingcondition:				Adjustable parameter to switch between three different feedback
										tracking conditions (i.e. which feedback bars are available).
										'1' -> Display global and local feedback.
										'2' -> Display only global feedback.
										'3' -> Display no visual feedback at all.

								
(2) Summary data file: 'hungrydonkeytask_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)
								
total:							total earned

globalgain:						Amount of apples gained across the whole task with separate 
								counts for standard and reversed version.
								
globalloss:						Amout of apples lost across the whole task with separate 
								counts for standard and reversed version.
								
dooragain:						Amount of apples gained across the whole task for Door A with 
								separate counts for standard and reversed version.
								
dooraloss:						Amount of apples lost across the whole task for Door A with 
								separate counts for standard and reversed version.
								
doorbgain:						Amount of apples gained across the whole task for Door B with 
								separate counts for standard and reversed version.
								
doorbloss:						Amount of apples lost across the whole task for Door B with 
								separate counts for standard and reversed version.
								
doorcgain:						Amount of apples gained across the whole task for Door C with 
								separate counts for standard and reversed version.
								
doorcloss:						Amount of apples lost across the whole task for Door C with 
								separate counts for standard and reversed version.
								
doordgain:						Amount of apples gained across the whole task for Door D with 
								separate counts for standard and reversed version.
								
doordloss:						Amount of apples lost across the whole task for Door D with 
								separate counts for standard and reversed version.

doorahposition:					Horizontal screen position for Door A and associated elements
										assigned by 'trial.doorpositions' and 'list.doorpositions' at block 
										onset. By default, doors are positioned in alphabetical order from 
										left to right (A->B->C->D). See comments for 'list.doorpositions'
										for further details.
										
doorbhposition:					Horizontal screen position for Door B and associated elements
										assigned by 'trial.doorpositions' and 'list.doorpositions' at block 
										onset. By default, doors are positioned in alphabetical order from 
										left to right (A->B->C->D). See comments for 'list.doorpositions'
										for further details.
										
doorchposition:					Horizontal screen position for Door C and associated elements
										assigned by 'trial.doorpositions' and 'list.doorpositions' at block 
										onset. By default, doors are positioned in alphabetical order from 
										left to right (A->B->C->D). See comments for 'list.doorpositions'
										for further details.
										
doordhposition:					Horizontal screen position for Door D and associated elements
										assigned by 'trial.doorpositions' and 'list.doorpositions' at block 
										onset. By default, doors are positioned in alphabetical order from 
										left to right (A->B->C->D). See comments for 'list.doorpositions'
										for further details.
										
parameters.trackingcondition:				Adjustable parameter to switch between three different feedback
										tracking conditions (i.e. which feedback bars are available).
										'1' -> Display global and local feedback.
										'2' -> Display only global feedback.
										'3' -> Display no visual feedback at all.

___________________________________________________________________________________________________________________	
EXPERIMENTAL SET-UP 
___________________________________________________________________________________________________________________

2 conditions (standard, reverse), tested within-subjects, order is counterbalanced by groupnumber aassignment
=> 200 trials in each block

Standard: Doors C, D are advantageous (across 10 draws: gain of 10 apples); doors A, B are disadvantageous (across 10 draws: loss of 10 apples)
Reverse: Doors C, D are disadvantageous; doors A, B are advantageous

win/loss amounts of apples are sampled randomly from a list of 10 possible outcomes that are different for each door.
After 10 selections, the lists reset.
	
___________________________________________________________________________________________________________________	
STIMULI
___________________________________________________________________________________________________________________
The picture stimuli used in this task were adapted from the open source PEBL Test Battery 
available at 'http://pebl.sourceforge.net'.

___________________________________________________________________________________________________________________	
INSTRUCTIONS 
___________________________________________________________________________________________________________________
The instructions 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:

	feedbackduration:			Duration of trial feedback in milliseconds. The original task used 
								2000 ms.
								
	trackingcondition:			Adjustable parameter to switch between three different feedback
								tracking conditions (i.e. which feedback bars are available).
								'1' -> Display global and local feedback.
								'2' -> Display only global feedback.
								'3' -> Display no visual feedback at all.
								
	runstandard:				Pseudo-boolean switch to easily (de)activate the task's standard
								version. '1' will run the standard version, '0' will skip the standard
								block. By default, both standard and reversed version of the task
								are run in counterbalanced order.
								
	runreversed:				Pseudo-boolean switch to easily (de)activate the task's reversed
								version. '1' will run the reversed version, '0' will skip the reversed
								block. By default, both standard and reversed version of the task
								are run in counterbalanced order.