Return to the Trier Mental Challenge Test (TMCT) page
						
									TRIER MENTAL CHALLENGE TEST (TMCT)
SCRIPT INFO

Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com) for Millisecond Software, LLC
Date: 06-30-2015
last updated:  04-04-2018 by K.Borchert for Millisecond Software LLC

Copyright ©  04-04-2018 Millisecond Software


BACKGROUND INFO

											*Purpose*
This script implements the Trier Mental Challenge Test (TMCT) as described in:

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.

The TMCT can be used to induce stress; particularly if used in a group setting.


											  *Task*
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



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

(1) Raw data file: 'TrierMentalChallengeTest_raw*.iqdat' (a separate file for each participant)

build:							Inquisit build
date, time, subject, group:		date and time script was run with the current subject/groupnumber 
blockcode, blocknum:			the name and number of the current block
trialcode, trialnum: 			the name and number of the currently recorded trial
									(Note: not all trials that are run might record data; by default data is collected unless /recorddata = false is set for a particular trial/block) 
/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 parameters.resetvalues = true: percentcorrect of the current block only
									if parameters.resetvalues = false: percentcorrect across blocks

/meancorrectRT:					mean response time of correct responses
									if parameters.resetvalues = true: mean response time of correct responses of the current block only
									if parameters.resetvalues = false: mean response time of correct responses across blocks

(2) Summary data file: 'TrierMentalChallengeTest_summary*.iqdat' (a separate file for each participant)

script.startdate:				date script was run
script.starttime:				time script was started
script.subjectid:				subject id number
script.groupid:					group id number
script.elapsedtime:				time it took to run script (in ms)
/completed:						0 = script was not completed (prematurely aborted); 1 = script was completed (all conditions run)

/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)
/totalpoints:					stores the current totalpoints (at the end of the trial)
									Note: if parameters.resetvalues = false -> totalpoints are counted across all blocks
									otherwise the value reflects on the totalpoints of the last block
/totalpoints_perblock:			stores the totalpoints at the end of each of the rounds
									Note: if parameters.resetvalues = false -> cumulative totalpoints across all blocks
									otherwise the totalpoints start over at startvalue for each block
/percentcorrect_perblock:		stores the percent corrects at the end of the rounds
									Note: if parameters.reservalues = false -> cumulative percent correct across all blocks
									otherwise the percent correct values stored reflect the current block only
/meanRT_perblock:				stores the mean correct latencies at the end of each round
									Note: if parameters.reservalues = false -> cumulative reaction time across all blocks
									otherwise the mean reaction times stored reflect the current block only
/trialcount_perblock: 			stores the number of trials attempted at the end of each round
									Note: if parameters.reservalues = false -> cumulative trialcount across blocks
									otherwise the trialcount is only for the given block


EXPERIMENTAL SET-UP

* by default this script runs 3 challenge blocks; each for 3 minutes (see section Editable Parameters)
Note: 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, auditory error feedback sound 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)

STIMULI
The problems for each level were pre-generated by Millisecond Software 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)

*Note: the applied constraints built on the guidelines provided by Pruessner et al (1999, p.479) but were imposed by 
Millisecond Software. 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)

**Note: while 0 could be a solution, 0 itself was not used as a digit in any of the provided problems

To change out the specific problems or expand the lists used for each level, go to section Editable Lists 
and replace the individual problems with new ones or add new problems to the lists.


INSTRUCTIONS
Instructions were written by Millisecond Software and can be edited under section Editable Instructions/Stimuli

EDITABLE CODE:
Below are 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:

/numberOfBlocks:		sets the number of test blocks run (default: 3)
/blockduration:			the duration of each block in ms (default: 180000ms -> 3min)
/max_trialduration:		the max duration of each trial in ms (default: 5000ms -> 5s)
/startpoints:			the number of points at the start of the task (default: 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 (default: 36)	
							Note: below this number, participants receive level 1 problems
/startlevel3:			the lowest number of points that result in level 3 problems (default: 41)		
/startlevel4:			the lowest number of points that result in level 4 problems (default: 46)		
/startlevel5:			the lowest number of points that result in level 5 problems (default: 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 (default: 0ms)

/circleproportion:		proportion of canvas height used for the circle radius of response dial (default: 0.3)

/debugmode:				true: trials run with displaying the correct solution
						false: trials run without displaying the correct solution (default)
Copyright © Millisecond Software. All rights reserved.
Contact | Terms of Service | Privacy Statement | Security Statement | GDPR