Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com), Millisecond
Created: January 30, 2015
Last Modified: January 03, 2025 by K. Borchert (katjab@millisecond.com), Millisecond
Script Copyright © Millisecond Software, LLC
This script implements the Trier Mental Challenge Test (TMCT). The TMCT can be used to induce stress; particularly if used in a group setting.
Pruessner J.C., Hellhammer D.H., & Kirschbaum C. (1999). Low self-esteem, induced failure and the adrenocortical stress response. Personality and Interindividual Differences 27, 477-489.
10 minutes
Participants are asked to solve arithmetic problems of 5 different difficulty levels (levels increase if performance increases and decreases if performance decreases) in 5s each (default). - After each block (default: 3 minutes), a performance summary is provided to participant/experimenter (that could be made 'public') - A timer can be made visible that counts down the seconds 1-5 - The total points can be made visible on screen for participants to see
• by default this script runs 3 challenge blocks; each for 3 minutes (see section Editable Parameters)
to change the number of blocks run, go to section EXPERIMENT
• a performance summary is presented after each block
• each block presents arithmetic problems of varying difficulties (5 levels);
the level of the currently presented arithmetic problem depends
on the totalpoints gained (see section Editable Parameters):
- fewer than 36 points: level 1
- 36-40: level2,
- 41-45 level3,
- 46-50 level4,
- over 50 level 5
• each problem has a solution ranging from 0-9; a response dial is provided and responses
are made by selecting the corresponding button by touch/mouse
• each problem has max. 5s (see section Editable Parameters)
• by default, participants start with 30 totalpoints (see section Editable Values) -
these points reset by default for each new block (see section Editable Values)
• if response is correct, the totalpoints increase by 1; otherwise the totalpoints decrease by 1
• if response was incorrect or no response was given, visual error feedback is provided
• a timer is optional (see section Editable Parameters); by default the timer is presented
• an intertrial interval inbetween trials can be set under section Editable Parameters (default: 0ms)
The problems for each level were pre-generated by Millisecond and are stored in lists that can be edited under
section Editable Lists.
All problems have solutions ranging from 0-9
The problems were generated using the following guidelines*:
Level1: simple addition/subtraction: 1-2 digit** integers (at least one number has to be single digit, double digits only from the teens), one operator (addition or subtraction)
Level2: simple multiplication/division: 1-2 digit integers (at least one number has to be single digit, double digits only from the teens), one operator (multiplication or division)
Level3: multiple addition/subtraction: 1-2 digit integers (at least 3 numbers are single digits, double digits only from the teens), 3 operators (addition and/or subtraction)
Level4: multiple multiplication/division: 1 digit integers, 3 operators (multiplication and/or division)
Level5: multiple, mixed operations: 1-2 digit integers (at least 3 numbers are single digits, double digits only from the teens), 3 operators (at least 1 addition or subtraction AND at least 1 multiplication or division)
• the applied constraints built on the guidelines provided by Pruessner et al (1999, p.479) but were imposed by
Millisecond. Furthermore, level2 (simple multiplication/division) and level3 (multiple addition/subtraction)
in this script switch the level2 and level3 categories suggested by Pruessner et al (1999)
Instructions were written by Millisecond and can be edited in
script 'triermentalchallengetest_instructions_inc.iqjs'
File Name: triermentalchallengetest_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 |
| numberOfBlocks | Sets the number of test blocks run (default: 3) |
| startpoints | The number of points at the start of the task (default: 30) |
| resetvalues | True (1): after each block totalpoints (and trialcounts) reset to the startpoints (0) false (0): totalpoints (and trialcounts) do not reset (default: true) |
| newTotalPoints | Stores the current totalpoints (at the end of the trial) if (parameter) resetvalues = false -> totalpoints are counted across all blocks otherwise the value reflects on the totalpoints of the last block |
| totalPointsPerBlock | Stores the totalpoints at the end of each of the rounds if (parameter) resetvalues = false -> cumulative totalpoints across all blocks otherwise the totalpoints start over at startvalue for each block |
| percentCorrectPerBlock | Stores the percent corrects at the end of the rounds if (parameter) reservalues = false -> cumulative percent correct across all blocks otherwise the percent correct values stored reflect the current block only |
| meanrtPerBlock | Stores the mean correct latencies at the end of each round if (parameter) reservalues = false -> cumulative reaction time across all blocks otherwise the mean reaction times stored reflect the current block only |
| trialCountPerBlock | Stores the number of trials attempted at the end of each round if (parameter) reservalues = false -> cumulative trialCount across blocks otherwise the trialCount is only for the given block |
File Name: triermentalchallengetest_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 |
| blockCount | Counts the challenge blocks |
| level | Level 1-5 of the current math problem |
| problem | Stores the currently selected problem |
| solution | Stores the solution to the currently selected problem |
| stimulusItem | The presented stimuli in order of trial presentation |
| response | The scancode of the key OR dial button pressed |
| suggestedSolution | The solution suggested by participants |
| correct | The correctness of the suggested solution (1 = correct; 0 = incorrect) |
| latency | The response latency (in ms) |
| oldTotalPoints | Stores the totalpoints at the start of each trial |
| newTotalPoints | Stores the updated totalpoints at the end of the trial |
| percentCorrect | The current percent correct if (parameter) resetvalues = true: percentcorrect of the current block only if (parameter) resetvalues = false: percentcorrect across blocks |
| meanCorrectrt | Mean response time of correct responses if (parameter) resetvalues = true: mean response time of correct responses of the current block only if (parameter) resetvalues = false: mean response time of correct responses across blocks |
The procedure can be adjusted by setting the following parameters.
| Name | Description | Default |
|---|---|---|
| numberOfBlocks | Sets the number of test blocks run | 3 |
| blockDuration | The duration of each block in ms | 18000ms -> 3min |
| maxTrialDuration | The max duration of each trial in ms | 5000ms -> 5s |
| startPoints | The number of points at the start of the task | 30 |
| resetValues | True (1): after each block points (trialcounts) reset to the startpoints (0) (default false (0): totalpoints (trialcounts) do not reset | |
| startLevel2 | The lowest number of points that result in level 2 problems below this number, participants receive level 1 problems | 36 |
| startLevel3 | The lowest number of points that result in level 3 problems | 41 |
| startLevel4 | The lowest number of points that result in level 4 problems | 46 |
| startLevel5 | The lowest number of points that result in level 5 problems | 51 |
| presentTimer | True (1) = a timer is presented together with the problem that counts down the seconds (default) false (0)= no timer is presented | |
| showTotalPoints | True (1)= the totalpoints are presented on screen (default) false (0)= the totalpoints are not presented on screen | |
| iti | Intertrial interval in ms | 0ms |
| circleProportion | Proportion of canvas height used for the circle radius of response dial | 0.3 |
| debugmode | True: trials run with displaying the correct solution false: trials run without displaying the correct solution (default) |