___________________________________________________________________________________________________________________ MONETARY INCENTIVE DELAY TASK ___________________________________________________________________________________________________________________ Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com) for Millisecond Software, LLC Date: 08-28-2015 last updated: 08-14-2023 by K. Borchert (katjab@millisecond.com) for Millisecond Software, LLC Script Copyright © 08-14-2023 Millisecond Software ___________________________________________________________________________________________________________________ BACKGROUND INFO ___________________________________________________________________________________________________________________ This script implements the Monetary Incentive Delay Task; a task to induce anticipation of reward and punishment within a simple reaction time task. The implemented procedure is based on: Knutson, B., Westdorp, A., Kaiser, E., & Hommer, D. (2000). FMRI visualization of brain activity during a monetary incentive delay task. Neuroimage, 12(1), 20-27 ___________________________________________________________________________________________________________________ TASK DESCRIPTION ___________________________________________________________________________________________________________________ Participants are asked to respond to a brief target shape that follows 2 different cues: one an incentive cue (e.g. an orange shape) and the other a nonincentive cue (e.g. a blue shape). Responses to nonincentive targets (aka targets following nonincentive cues) never have an impact on money gained or money lost; nevertheless participants receive verbal feedback whether they were fast enough or not. Responses to incentive targets have different consequences depending on three different reward conditions: Control vs. Reward vs. Punishment. In the Reward condition, participants who respond fast enough to a target that follows an incentive cue get a monetary reward (e.g. $1). If they are not fast enough, no money is won. In the Punishment condition, participants who respond fast enough to a target that follows an incentive cue do not lose any money (e.g. $1). If they fail to respond in time, they lose money (e.g. $1). In the control condition, there is no difference between incentive and nonincentive targets. Participants can neither win any money, nor can they lose any. ___________________________________________________________________________________________________________________ DURATION ___________________________________________________________________________________________________________________ the default set-up of the script takes appr. 30 minutes to complete ___________________________________________________________________________________________________________________ DATA OUTPUT DICTIONARY ___________________________________________________________________________________________________________________ The fields in the data files are: (1) Raw data file: 'monetaryincentivedelaytask_raw*.iqdat' 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 session: 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. expCondition: 0 = control condition; 1 = Reward condition; 2 = Punishment Condition order: 'reward->punish' vs. 'punish->reward' incentiveCondition: 1 = incentive; 2 = nonincentive delayDuration: the current delay duration in ms targetDuration: the current target duration in ms (also the response window) baselineRT60: the 60th percentile reaction time (in ms) based on mean and standard deviation: X = z-score(60th percentile)*SD + mean stimulusItem: the presented stimuli in order of trial presentation (only static elements) response: the participant's response (here: scancode of response button) correct: the correctness of the response (1 = correct; 0 = incorrect) latency: the response latency (in ms) totalControl: the total earned in control condition totalReward: the total earned in reward condition totalPunishment: the total earned in punishment condition (2) Summary data file: 'monetaryincentivedelaytask_summary*.iqdat' inquisit.version: Inquisit version run computer.platform: the platform the script was run on (win/mac/ios/android) startDate: date script was run startTime: time script was started subjectId: assigned subject id number groupId: assigned group id number sessionId: assigned session id number elapsedTime: time it took to run script (in ms); measured from onset to offset of script completed: 0 = script was not completed (prematurely aborted); 1 = script was completed (all conditions run) order: 'reward->punish' vs. 'punish->reward' meanRTBaseline: the baseline mean reaction time in ms sdBaseline: the standard deviation of the baseline reaction times in ms baselineRT60: the 60th percentile reaction time (in ms) based on mean and standard deviation: X = z-score(60th percentile)*SD + mean totalControl: the total earned in control condition totalReward: the total earned in reward condition totalPunishment: the total earned in punishment condition propCorrectIncentiveReward: proportion correct for incentive trials in the reward condition propCorrectNonIncentiveReward: proportion correct for nonincentive trials in the reward condition propCorrectIncentivePunishment: proportion correct for incentive trials in the punishment condition propCorrectNonIncentivePunishment: proportion correct for nonincentive trials in the punishment condition propCorrectIncentiveControl: proportion correct for incentive trials in the control condition propCorrectNonIncentiveControl: proportion correct for nonincentive trials in the control condition ___________________________________________________________________________________________________________________ EXPERIMENTAL SET-UP ___________________________________________________________________________________________________________________ 3 conditions: Control vs. Reward vs. Punishment, tested within in a blocked design. All participants start with the Control condition. The assignment to Reward -> Punishment vs. Punishment -> Reward is counterbalanced by groupnumber (odd groupnumbers start with Reward; even groupnumbers start with Punishment) In each condition: - 100 trials - 20 incentive trials - 80 nonincentive trials => The order is randomized with the constraint that incentive trials cannot be presented consecutively - the color for incentive/nonincentive trials is different for each condition Trial Sequence (6000ms): cue (500ms) -> random delay* (4000-4500ms)-> target (variable, duration = 60th percentile RT)** -> Feedback (500ms) -> ITI (variable to round trial sequence duration to ~6s) *Random Delay: is controlled by list.delay under section Editable Lists **Target Durations: in this script, the targetduration is set to the 60th percentile RT as assessed during baseline ~ 60% correct performance Knutson et al (2000) report to have used targetdurations beween 160ms and 260ms (p.21) Note: if the 60th percentile > 500ms the script aborts automatically (500ms is the max. possible target duration given all other default trial durations) ___________________________________________________________________________________________________________________ STIMULI ___________________________________________________________________________________________________________________ cues/targets: squares (size can be controlled via parameters.stimsize under section Editable Values) targets: white in all conditions Control: incentive cue: red; nonincentive cue: green Reward: incentive cue: orange; nonincentive cue: blue Punishment: incentive cue: yellow; nonincentive cue: pink ___________________________________________________________________________________________________________________ INSTRUCTIONS ___________________________________________________________________________________________________________________ are not original to Knutson et al (2000) - they 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: //Design Parameters: /rewardWin: = 1 //the number of points ($) won in the Reward condition (default: 1) /punishmentLoss: = 1 //the number of points ($) lost in the Punishment condition (default: 1) /punishmentStartAmount: = 20 //the amount of money provided at the beginning of the punishment condition (default: 20) /rewardStartAmount: = 0 //the amount of money provided at the beginning of the reward condition (default: 0) /controlStartAmount: = 0 //the amount of money provided at the beginning of the control condition (default: 0) /presentTotal: = true //true = present the "Total earned" throughout Reward and Punishment Blocks. //false = does not present the "Total earned" throughout Reward and Punishment Blocks. //Timing Parameters: /cueDuration: = 500 //the duration of the cue in ms (default: 500) /feedbackDuration: = 500 //the duration of the feedback in ms (default: 500) /trialDuration: = 6000 //the duration of a complete trial sequence in ms (default: 6000) //Sizing Parameters: /stimSize: = 10% //the size of the cues/targets as percentages of canvas height (default: 10%) // response key: /responseKey: = " " //the response key (default: " " = Spacebar) Note: the expressions under Editable values can be changed to change the 10 targetdurations.