Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com), Millisecond
Millisecond thanks Joshua Di Vincenzo for his assistance in creating this script!
Created: January 07, 2023
Last Modified: January 07, 2025 by K. Borchert (katjab@millisecond.com), Millisecond
Script Copyright © Millisecond Software, LLC
This script implements Millisecond's version of Deck Choice Effort Task, a paradigm to study cognitive effort-based decision making using two tasks of varying cognitive difficulty while keeping physical effort the same.
The Inquisit script is based on the paper by Reddy et al (2018) and the original eprime script of the task.
Reddy, L. F., Horan, W. P., Barch, D. M., Buchanan, R. W., Gold, J. M., Marder, S. R., Wynn, J. K., Young, J., & Green, M. F. (2018). Understanding the Association Between Negative Symptoms and Performance on Effort-Based Decision-Making Tasks: The Importance of Defeatist Performance Beliefs. Schizophrenia Bulletin, 44(6), 1217–1226. https://doi.org/10.1093/schbul/sbx156
20 minutes
Participants are instructed to choose between 2 decks of cards that represent an Easy (cognitive) task vs. Hard (cognitive) Task. The Easy deck contains only cards of the same color The Hard deck contains cards of alternating colors
The colors are tied to specific tasks to perform: blue -> do a parity task ('is this number odd or even?') yellow -> do a magnitude task ('is this number less or greater than 5?')
Choosing to work on a Hard deck (with the alternating tasks) can earn more money. Specifically, three levels of reward for the Hard deck are tested (the Easy task offers the same amount throughout).
3 different experimental phases: 1. Practice of tasks: learn to associate color with tasks to perform 2. Introduction of the Easy vs. Hard card deck 3. Test
the script offers the choice to run the script in an "in person" vs. a "remote" setting (default is remote). in person: test administrator has the choice to select each phase separately via a selection screen remote: task flow is automatic
This task provides the option to use a 'in person' set up or a 'remote' set up of the tasks:
in person: for the in-person set up, the script always returns to a task menu option after each experimental phase.
This set up allows test administrators to select which phase should be run next (if any)
remote: this set up automatically calls the different experimental phases in sequences.
The default setting of this script is 'remote'
(1) Practice1 (Task Learning Phase with performance feedback after each response)
- 20 practice trials per block
- colors/tasks are selected randomly WITHOUT replacement => 50% parity tasks, 50% magnitude tasks
- numbers are selected randomly WITH replacement from list.numbers (see below)
- each card is presented for 3000ms (editable parameter)
- at the end of practice1 block performance feedback is provided
"remote" only: script checks performance after each practice1 block. If performance is lower than 70% correct (editable parameters)
the practice block is repeated. If the maximum number of practice1 blocks has been run without success (default: 3, editable parameters),
the script terminates prematurely
"in person" only: at the end of the block (when performance feedback is presented), participants are asked to fetch test administrator.
Test administrator can use performance feedback to decide if the block needs to be repeated.
Pressing key 'C' calls the task selection menu screen (hidden from participants).
(2) Practice2 (Introduction of Easy/Hard card decks, no response feedback provided)
- 2 blocks of 10 trials (aka '10' cards per deck played): Easy block vs. Hard block
- order of decks/blocks is randomly determined
- each card is presented for 3000ms (editable parameter)
(3) Test
- 12 blocks of 10 trials each (editable parameters, original eprime script runs 36 blocks)
- equal number of blocks that offer hardReward1, hardReward2, hardReward3 (all blocks offer the same amount for the Easy deck)
- colors selected for Easy tasks: randomly selects a color with the constraint that roughly half of the selected Easy tasks are parity tasks
- star colors selected for Hard tasks: randomly selects a starting color with the constraint that roughly half of the first presented cards are blue
- at the end of each block, participant receives feedback about money won
=> if 90% of responses (editable parameter) are correct -> money is won and added to total (otherwise no money won)
provided by Millisecond - can be edited under section 'Editable Stimuli'
provided by Millisecond - can be edited under section 'Editable Instructions'.
Partly based on original eprime script.
File Name: deckchoiceefforttask_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 |
| propHardChoices | Proportion Hard Choices across all test blocks |
| propHardChoices1 | Proportion Hard Choices when hard choice gets reward1 (lowest reward) |
| propHardChoices2 | Proportion Hard Choices when hard choice gets reward2 (medium reward) |
| propHardChoices3 | Proportion Hard Choices when hard choice gets reward3 (highest reward) |
| effortScore | Difference Score of (propHardChoices3 - propHardChoices1) Reddy et al (2018) "Higher scores indicate greater willingness to exert effort for large versus small rewards." this score is only calculated if 0 < propHardChoices < 100, otherwise "NA" is noted in the data file (thus excluding participants who always chose Hard choices and those that never chose Hard choices) |
| propCorrectEasy | Proportion correct Easy task responses across all test trials |
| meanCorrRTEasy | Mean correct response times (in ms) for correct Easy task responses (across all test trials) |
| propCorrectHard | Proportion correct Hard task responses across all test trials |
| meanCorrRTHard | Mean correct response times (in ms) for correct Hard task responses (across all test trials) |
File Name: deckchoiceefforttask_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 |
| phase | "Practice1" = practice with feedback (training of individual task) "Practice2" = practice w/o feedback (decks introduction) "Test" = test |
| blockCounterPerPhase | Tracks the number of blocks run during the current phase |
| trialCounterPerBlock | Tracks the number of trials run during the current block |
| difficulty | 1 = easy task 2 = hard task |
| currentRewardEasy | The currently offered reward for the easy task |
| currentRewardHard | The currently offered reward for the hard task |
| rewardLevelHard | 1,2 or 3 (depending on reward amount) |
| currentReward | The offered reward for the current task (tied to selection) |
| currentColor | The color of the current card |
| currentTask | The current task to perform (tied to color) |
| number | The currently presented number (1-9; 5 excluded) |
| correctResp | "1" or "2" (refers to the correct key to press) |
| selectFeedback | 1 = correct; 2 = incorrect; 3 = no response |
| winnings | The current win amount |
| total | Sum of all win amounts across all test blocks |
| response | The response of participant (scancode of response button) - scancodes can be confusing for number buttons (Example: scancode 2 refers to key "1") - 57 -> spacebar press |
| responseText | The label of key pressed (note: confusing for 'spacebar' press as it appears empty) |
| correct | Correctness of response (1 = correct, 0 = error) |
| latency | Response latency (in ms); measured from: onset of card |
| list.accBlock.mean | Running proportion correct responses during the current block |
| list.rtBlock.mean | Running mean response times (in ms) during the current block (based on correct AND incorrect responses as well as no responses) |
| practiceSuccess | 1 = practice1 session was finished successfully (only applies to 'remote' testing settings) 0 = otherwise |
The procedure can be adjusted by setting the following parameters.
| Name | Description | Default |
|---|---|---|
Design |
||
| taskAdministration | Choose from: "in person", "remote" "in person" = provides a menu to choose (1) practice with feedback; (2) practice without feedback; (3) test; (4) Exit "remote" = runs the blocks in sequence and implements a learning criterium for the first practice block | "remote" |
Only Applies For Taskadministration = "Remote" |
||
| minPracticeAcc | Implements a learning criterium for association 'color-task' reruns practice block1 for 'maxPracticeBlocks' if performance is lower than 70% correct. If minPracticeACC is not achieved, task prematurely terminates | 0.7 |
| maxPracticeBlocks | Number of maximum practice1 blocks run If minPracticeACC is not achieved, task prematurely terminates | 3 |
| numberPractice1TrialsPerBlock | Number of practice1 trials per learning block ( should be an even number) | 20 |
| numberPractice2TrialsPerBlock | Number of practice2 trials per block (aka 'number of cards per deck') practice2 runs 2 blocks (one Easy, one Hard) | 10 |
| numberTestBlocks | Number of test blocks to run ( needs to be divisible by 3 because of three different levels of hardRewards) the original eprime script runs 36 blocks | 12 |
| numberTestTrialsPerBlock | Number of test trials per test block (aka 'number of cards per deck') | 10 |
| minTestPerformanceForReward | Minimum propCorrect responses during a test block to get rewarded | 0.9 |
Reward Selection |
||
| easyReward | The reward amount offered for selection of Easy deck | 0.1 |
| hardReward1 | The lowest reward amount offered for selection of Hard deck | 0.1 |
| hardReward2 | The medium reward amount offered for selection of Hard deck | 0.2 |
| hardReward3 | The highest reward amount offered for selection of Hard deck | 0.4 |
| monetaryUnit | The money unit used to present amount | "$" |
| monetaryUnitPlacement | Choose from "B" (before) or "A" (after) monetary amount | "B" |
Color Selection |
||
| parityTaskColor | Color used for parity (odd/even) task -> use English term for the selected color (used in actual code) | "blue" |
| magnitudeTaskColor | Color used for magnitude (less/more) task -> use English term for the selected color (used in actual code) Change actual instructions in section Editable Instructions | "yellow" |
Timing Parameters |
||
| numberDurationMS | The duration (in ms) that the number is presented (also refers to response timeout) | 3000 |
| isiMS | The interstimulus interval (in ms) before/after a number is presented | 500 |
| practice1FeedbackDurationMS | The duration (in ms) of the feedback reported during practice1 | 2000 |
| testFeedbackDurationMS | The duration (in ms) of the feedback reported after each test block | 3000 |
Sizing Parameters |
||
| cardHeightPct | The proportional (to canvas height) height of the cards | 40% |
| numberFontHeightPct | The proportional (to canvas height) size of the numbers on the card | 10% |