Magic Cups Task

Technical Manual

Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com), Millisecond

Created: January 24, 2023

Last Modified: January 08, 2025 by K. Borchert (katjab@millisecond.com), Millisecond

Script Copyright © Millisecond Software, LLC

Background

This script runs Millisecond's implementation of the Magic Cups Task (Rahman et al, 2021), a 'Theory of Mind' (ToM) paradigm to study people's ability to infer another person's thoughts and beliefs.

This Inquisit script is based on the publicly available eprime script by the original authors. Any intentional alterations to the original procedure (e.g. adding an optional instruction block) are explained below.

The original eprime script can be accessed at: https://osf.io/wy5cm/ (last checked: 26 Jan 2023) Additional information is located at: https://osf.io/br9v8/ (last checked: 26 Jan 2023) The project is licensed under: CC-By Attribution 4.0 International

DISCLAIMER: While we try to stay as faithful as possible to the original eprime script, the Inquisit implementation of the Magic Cups Task may still differ from it.

References

Rahman, F., Kessler, K., Apperly, I. A., Hansen, P. C., Javed, S., Holland, C. A., & Hartwright, C. E. (2021). Sources of Cognitive Conflict and Their Relevance to Theory-of-Mind Proficiency in Healthy Aging: A Preregistered Study. Psychological Science, 32(12), 1918–1936. https://doi.org/10.1177/09567976211017870

Duration

45 minutes

Description

A ball is hidden in one of three cups. Participants see three events (in random order): 1. some information about where the ball is (a green ball is presented in the target cup's location) OR isn't (a green X is presented in a cup's location) -> REALITY INFORMATION 2. the GUESS/BELIEF of a blue player 3. the GUESS/BELIEF of a red player

At the end of each trial, participants get one of three probe questions: 1. Where do YOU think the ball is? (reality/attention check questions) (FILLER TRIALS) 2. Where does blue player think the ball is? (TARGET TRIALS) 3. Where does red player think the ball is? (TARGET TRIALS)

For each trial, participants have to keep track of the 'reality' information and the information they receive about each player's belief and be ready to switch perspective depending on the probe question.

Procedure

Design

2x2x2 (3 factor) repeated measures design => 8 different experimental conditions
The 3 factors manipulate 3 different 'conflicts'

•Factor 1: Knowledge of Reality – manipulates whether the participant has definite knowledge
about the ball's location
Level1: NO/low conflict- does not exactly know where the ball is (is shown the green X)
Level2: YES/high conflict - does exactly know where the ball is (is shown the green ball)

•Factor 2: Other-Other Conflict (OOC) – manipulates whether the two Players beliefs about the
location of the ball are the same (congruent) or different (incongruent) from one another’s.
Level 1: NO/low conflict - there is no conflict -> the players believe the same (congruent)
Level 2: YES/high conflict - there is conflict -> the players make different guesses (incongruent)

•Factor 3: Self-Other Conflict (SOC) – manipulates whether the participant’s knowledge of
reality is the same (congruent) or different (incongruent) from the target agent
target agent = perspective player has to take to answer the probe question
Level 1: NO/low conflict- target agent's and participant's knowledge of reality is the same (congruent)
Level 2: YES/high conflict - target agent and participant's knowledge of reality is NOT the same (incongruent)

Procedure

(1) Optional Instruction Block:
This script provides an optional instruction block which is NOT part of the original
eprime script. To turn off/on the instruction block, check section Editable parameters.
By default, the script runs with the instruction block.

(2) Practice Block:
12 practice trials with audio error and correct feedback

(3) Test: 4 blocks
- 54 trials per block (18 filler trials, 36 target trials)
- with rest trial at the end of each block (except block4)
- the trial make up of each block is fixed (see eprime script) BUT the order in which these trials are called
is randomized for each participant.

Across all 4 blocks, the script runs:
Filler Trials: 72 (9 trials per experimental condition)
Test Trials: 144 (18 trials per experimental condition)

Trial Sequence: 10 Events
-> Shuffle Cups (1000ms) -> Blank screen (500ms)
-> scene1 (1000ms)* -> Blank screen (500ms)
-> scene2 (1000ms)* -> Blank screen (500ms)
-> scene3 (1000ms)* -> Blank screen (500ms)
-> Probe (1000ms with 3000ms responsewindow) -> ISI (presents a small black dot) for 3000ms

all responsetimes can be edited under section Editable Parameters.

Stimuli

All images downloaded from:
https://osf.io/wy5cm/ (last checked: 26 Jan 2023)

Instructions

The instructions used in the optional intro block are provided by Millisecond.
They can be edited under section Editable Instructions.
The remaining instructions were downloaded with the original eprime script.

Scoring

Trimmed Response Times Algorith:

steps: done for each of the 8 conditions
1) calculate the mean and SD (standard deviation) for each condition separately
2) trimm RTS from each condition so that:
mean - 2*SD <= RT <= mean + 2*SD
(2 = number of standarddeviations away from the mean)

Summary Data

File Name: magiccubstask_summary*.iqdat

Data Fields

NameDescription
inquisit.version Inquisit version number
computer.platform Device platform: win | mac |ios | android
computer.touch 0 = device has no touchscreen capabilities; 1 = device has touchscreen capabilities
computer.hasKeyboard 0 = no external keyboard detected; 1 = external keyboard detected
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
Filler Trials: Participant Is Agent
propCorrectFiller Proportion correct responses given in filler trials across all test blocks
meanCorrRTFiller Mean correct response time (in ms) of responses in filler trials across all test blocks
Target Trials: Players Are Agent
propCorrect Proportion correct responses given across all test blocks (applies only to target trials)
meanCorrRT Mean correct response time (in ms) of responses across all test blocks (applies only to target trials)
Proportion Corrects For Each Of The 8 Experimental Conditions
Kor: Knowledge Of Reality.
Level 0 = Participants Has No Knowledge Of Reality (Participant Saw A Green X)
Level 1 = Explicit Knowledge Of Reality (Participant Saw A Green Dot)
Ooc: Other-Other Conflict
Level 0 = No Other-Other Conflict (Congruent) - Both Players Agree On The Same Response
Level 1 = Other-Other Conflict (Incongruent) - Players Differ In Their Responses
Soc: Self-Other Conflict
Level 0 = No Self-Other Conflict (Congruent) - Agent Player's Response Is Not In Conflict With What Participant Knows
Level 1 = Self-Other Conflict (Incongruent) - Agent Player's Response Is In Conflict With What Participant Knows
propCorrectKoR0OOC0SOC0 Proportion correct responses in condition KoR0_OOC0_SOC0 (NNN)
koR0 (knowledge of reality, level0) - participant has no knowledge of reality
OOC0 (other-other conflict, level0) - no conflict; both players agree on the same response
SOC0 (self-other conflict, level0) - no conflict; agent player's response is NOT in conflict with what participant knows
propCorrectKoR0OOC0SOC1 Proportion correct responses in condition KoR0_OOC0_SOC1 (NNY)
koR0 (knowledge of reality, level0) - participant has no knowledge of reality
OOC0 (other-other conflict, level0) - no conflict; both players agree on the same response
SOC1 (self-other conflict, level1) - conflict; agent player's response IS in conflict with what participant knows
propCorrectKoR0OOC1SOC0 Proportion correct responses in condition KoR0_OOC1_SOC0 (NYN)
koR0 (knowledge of reality, level0) - participant has no knowledge of reality
OOC1 (other-other conflict, level1) - conflict; players differ in their responses
SOC0 (self-other conflict, level0) - no conflict; agent player's response is NOT in conflict with what participant knows
propCorrectKoR0OOC1SOC1 Proportion correct responses in condition KoR0_OOC1_SOC1 (NYY)
koR0 (knowledge of reality, level0) - participant has no knowledge of reality
OOC1 (other-other conflict, level1) - conflict; players differ in their responses
SOC1 (self-other conflict, level1) - conflict; agent player's response IS in conflict with what participant knows
propCorrectKoR1OOC0SOC0 Proportion correct responses in condition KoR1_OOC0_SOC0 (YNN)
koR1 (knowledge of reality, level1) - explicit knowledge of reality (participant saw a green dot)
OOC0 (other-other conflict, level0) - no conflict; both players agree on the same response
SOC0 (self-other conflict, level0) - no conflict; agent player's response is NOT in conflict with what participant knows
propCorrectKoR1OOC0SOC1 Proportion correct responses in condition KoR1_OOC0_SOC1 (YNY)
koR1 (knowledge of reality, level1) - explicit knowledge of reality (participant saw a green dot)
OOC0 (other-other conflict, level0) - no conflict; both players agree on the same response
SOC1 (self-other conflict, level1) - conflict; agent player's response IS in conflict with what participant knows
propCorrectKoR1OOC1SOC0 Proportion correct responses in condition KoR1_OOC1_SOC0 (YYN)
koR1 (knowledge of reality, level1) - explicit knowledge of reality (participant saw a green dot)
OOC1 (other-other conflict, level1) - conflict; players differ in their responses
SOC0 (self-other conflict, level0) - no conflict; agent player's response is NOT in conflict with what participant knows
propCorrectKoR1OOC1SOC1 Proportion correct responses in condition KoR1_OOC1_SOC1 (YYY)
koR1 (knowledge of reality, level1) - explicit knowledge of reality (participant saw a green dot)
OOC1 (other-other conflict, level1) - conflict; players differ in their responses
SOC1 (self-other conflict, level1) - conflict; agent player's response IS in conflict with what participant knows
Untrimmed Correct Response Times For Each Of The 8 Experimental Conditions + Their Standard Deviations
meanCorrRTKoR0OOC0SOC0 Mean correct UNTRIMMED response time (in ms) in condition KoR0_OOC0_SOC0 (NNN)
sdKoR0OOC0SOC0 Standard deviation of response times (in ms) in condition KoR0_OOC0_SOC0 (NNN)
meanCorrRTKoR0OOC0SOC1 Mean correct UNTRIMMED response time (in ms) in condition KoR0_OOC0_SOC1 (NNY)
sdKoR0OOC0SOC1 Standard deviation of response times (in ms) in condition KoR0_OOC0_SOC1 (NNy)
meanCorrRTKoR0OOC1SOC0 Mean correct UNTRIMMED response time (in ms) in condition KoR0_OOC1_SOC0 (NYN)
sdKoR0OOC1SOC0 Standard deviation of response times (in ms) in condition KoR0_OOC1_SOC0 (NYN)
meanCorrRTKoR0OOC1SOC1 Mean correct UNTRIMMED response time (in ms) in condition KoR0_OOC1_SOC1 (NYY)
sdKoR0OOC1SOC1 Standard deviation of response times (in ms) in condition KoR0_OOC1_SOC1 (NYY)
meanCorrRTKoR1OOC0SOC0 Mean correct UNTRIMMED response time (in ms) in condition KoR1_OOC0_SOC0 (YNN)
sdKoR1OOC0SOC0 Standard deviation of response times (in ms) in condition KoR1_OOC0_SOC0 (YNN)
meanCorrRTKoR1OOC0SOC1 Mean correct UNTRIMMED response time (in ms) in condition KoR1_OOC0_SOC1 (YNY)
sdKoR1OOC0SOC1 Standard deviation of response times (in ms) in condition KoR1_OOC0_SOC1 (YNY)
meanCorrRTKoR1OOC1SOC0 Mean correct UNTRIMMED response time (in ms) in condition KoR1_OOC1_SOC0 (YYN)
sdKoR1OOC1SOC0 Standard deviation of response times (in ms) in condition KoR1_OOC1_SOC0 (YYN)
meanCorrRTKoR1OOC1SOC1 Mean correct UNTRIMMED response time (in ms) in condition KoR1_OOC1_SOC1 (YYY)
sdKoR1OOC1SOC1 Standard deviation of response times (in ms) in condition KoR1_OOC1_SOC1 (YYY)
Trimmed Correct Response Times For Each Of The 8 Experimental Conditions
Numberremovedrtdatapointsoverall: The Number Of Removed Rt Performance Metrics Points Across All Target Trials
trMeanCorrRTKoR0OOC0SOC0 Mean correct TRIMMED response time (in ms) in condition KoR0_OOC0_SOC0 (NNN)
trMeanCorrRTKoR0OOC0SOC1 Mean correct TRIMMED response time (in ms) in condition KoR0_OOC0_SOC1 (NNY)
trMeanCorrRTKoR0OOC1SOC0 Mean correct TRIMMED response time (in ms) in condition KoR0_OOC1_SOC0 (NYN)
trMeanCorrRTKoR0OOC1SOC1 Mean correct TRIMMED response time (in ms) in condition KoR0_OOC1_SOC1 (NYY)
trMeanCorrRTKoR1OOC0SOC0 Mean correct TRIMMED response time (in ms) in condition KoR1_OOC0_SOC0 (YNN)
trMeanCorrRTKoR1OOC0SOC1 Mean correct TRIMMED response time (in ms) in condition KoR1_OOC0_SOC1 (YNY)
trMeanCorrRTKoR1OOC1SOC0 Mean correct TRIMMED response time (in ms) in condition KoR1_OOC1_SOC0 (YYN)
trMeanCorrRTKoR1OOC1SOC1 Mean correct TRIMMED response time (in ms) in condition KoR1_OOC1_SOC1 (YYY)

Raw Data

File Name: magiccupstask_raw*.iqdat

Data Fields

NameDescription
build Inquisit version number
computer.platform Device platform: win | mac |ios | android
computer.touch 0 = device has no touchscreen capabilities; 1 = device has touchscreen capabilities
computer.hasKeyboard 0 = no external keyboard detected; 1 = external keyboard detected
date Date the session was run
time Time the session was run
subject Participant ID
group Group number
session Session number
blockcode The name the current block (built-in Inquisit variable)
blocknum The number of the current block (built-in Inquisit variable)
trialcode The name of the currently recorded trial (built-in Inquisit variable)
trialnum The number of the currently recorded trial (built-in Inquisit variable)
trialnum is a built-in Inquisit variable; it counts all trials run
even those that do not store data to the data file.
blockExpt P1 (practice), 1-4 (testblock1-4)
testBlockCounter Tracks the number of testblocks run
trialCounter Tracks the number trials run across the testblocks (resets after practice)
itemNumber The currently selected itemnumber
stimulusItem Stores the first item presented in the current trial
event3 The image presented as event3 (scene1)
event5 The image presented as event5 (scene2)
event7 The image presented as event7 (scene3)
event9 The image presented as event9 (probe)
trialID The assigned trial ID
variantID The assigned variant ID of the current trial combination (out of 48 possible)
trialType T = true trial (agent is one of the two 'players'),
F = filler/catch trial (agent is participant)
eventCode2 The event code (settings of the three main IVs), see settings of realityKnowledge, OOC, SIC
realityKnowledge Y(es) = participant knows exactly where ball is located (sees a green ball)
N(o) = participant does not know exactly where the ball is located (sees a green X)
ooc Other-other Conflict
Y(es), there is a conflict = the two player agents make different predictions (OOC incongruent)
N(o), there is no conflict = the two player agents make the same prediction (OOC congruent)
soc Self-other Conflict
Y(es), there is a conflict = participant knowledge and target agent are in conflict -> participant's response requires a selection that is incongruent with reality (SOC incongruent)
N(o), there is no conflict = participant knowledge and target agent are in agreement (SOC congruent)
Note from Millisecond: for Filler/Catch trials the categorization done by the
eprime script seems 'artifically forced' (probably done for balancing)
as there cannot really be a conflict btw. participant
and self-agent (participant) knowledge, yet some Filler trials code the SOC as 'Y'.
order The eprime assigned order ID for the given trial (depends on occurence of reality scene)
Blue/Red Agent -> Red/Blue Agent -> Reality: 1 (reality is scene3)
Blue/Red Agent -> Reality -> Red/Blue Agent: 2 (reality is scene2)
Reality -> Blue/Red Agent -> Red/Blue Agent: 3 (reality is scene1)
agentReferent Interpretation Millisecond: likely the 'guess'/knowledge of the target agent where the ball is
(though coding of filler trials - where participant is target agent- does not always seem to coincide
with the numbers)
participantReferent Interpretation Millisecond: likely refers to the knowledge participant has about one of the three cups
1 = participant knows something about cup1 (ball either is under cup1 or is NOT under cup1)
2 = participant knows something about cup2
3 = participant knows something about cup3
correctResponse The correct response
double digits refer to filler trials in which there are two possibly correct answers
Dvs
response The scancode of the pressed response key (Note that scancodes look confusing for number keys)
scancode2 -> key1 was pressed
scancode3 -> key2 was pressed
scancode4 -> key3 was pressed
responseText Converts the scancode into the label of the pressed key
rsp Inquisit custom response variable
correct Correctness of response (1 = correct, 0 = error, including omissions)
latency Response latency (in ms); measured from: onset of probe (for probe trials)

Parameters

The procedure can be adjusted by setting the following parameters.

NameDescriptionDefault
Design
runGeneralIntro True (1): this script runs a general Intro to the task that was added
by Millisecond (it was not part of the original eprime script)
false (0): no general task intro is run, script starts with practiceIntro
true
Timing Parameters
scene0DelayMS The delay (in ms) of the first trialsequence in a block after instructions/break0
scene0DurationMS The duration (in ms) of scene01000
scene1DurationMS The duration (in ms) of scene11000
scene2DurationMS The duration (in ms) of scene21000
scene3DurationMS The duration (in ms) of scene31000
blankDurationMS The duration (in ms) of the blank screen that follows each scene500
probeDurationMS The total duration (in ms) that the probe image is presented1000
responseTimeoutMS The duration (in ms) set aside for the response window
in case the response should be allowed to be part of the ISI (fixation dot) presentation time
responsetimeoutMS needs to be <= (probe_durationMS + isi_durationMS)
3000
isiDurationMS The total duration (in ms) that the fixation dot is presented at the end of a trial3000
Responsekeys
responseKeyCup1 Key "1" assigned to cup1 on the left"1"
responseKeyCup2 Key "2" assigned to cup2 in the middle"2"
responseKeyCup3 Key "3" assigned to cup3 on the right"3"