___________________________________________________________________________________________________________________ TIMED CHASE TEST ___________________________________________________________________________________________________________________ Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com) for Millisecond Software, LLC Date: 10-23-2015 last updated: 01-02-2025 by K. Borchert (katjab@millisecond.com) for Millisecond Software, LLC Script Copyright © 01-02-2025 Millisecond Software ___________________________________________________________________________________________________________________ BACKGROUND INFO ___________________________________________________________________________________________________________________ This script implements Millisecond Software's version of the Timed Chase Test (TCT) - a simple test of visuomotor processing speed. Note the script runs with proportional sizing by default. Researchers can select to run the task with an absolute screen size to ensure that distances stay the same across devices. See section Defaults for more info. //References:// Schroder, M.D, Snyder, P.J, Sielski, I. & Mayes, L. (2004). Impaired performance of children exposed in utero to cocaine on a novel test of visuospatial working memory. Brain and Cognition, 55, 409–412. Pietrzak, R. H., Cohen, H., & Snyder, P. J. (2007). Learning efficiency and error monitoring in normal aging: An investigation using a novel hidden maze learning test. Archives of Clinical Neuropsychology, 22, 235–245. Mathewson, K.J., Dywan, J., Snyder, P.J., Tays, W.J., & Segalowitz, S.J.(2008). Aging and electrocortical response to error feedback during a spatial learning task. Psychophysiology, 45, 936–948. ___________________________________________________________________________________________________________________ TASK DESCRIPTION ___________________________________________________________________________________________________________________ Participants are asked to capture a flag represented by a blue disc that jumps through the squares of a 10x10 matrix. Once participants capture the flag, the flag jumps to a new location that is never more than 2 squares away from the old location. Participants can only follow square by square in a horizontal and vertical fashion; they cannot skip any square. If they make a mistake, they are directed to return to the last correct square. ___________________________________________________________________________________________________________________ DURATION ___________________________________________________________________________________________________________________ the default set-up of the script takes appr. 2 minutes to complete ___________________________________________________________________________________________________________________ DATA OUTPUT DICTIONARY ___________________________________________________________________________________________________________________ The fields in the data files are: (1) Raw data file: 'timedchasetest_raw*.iqdat' (a separate file for each participant) 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. phase: 1 = Untimed Chase; 2 = Timed Chase selectNewFlag: 1 = a new flag position needs to be found for next trial; 0 = flag stays put Note: squares are labelled 1-100 from left to right previousFlagCell: stores the number of the square the flag was previously on flagCell: stores the number of the cell that contains the current flag absoluteDiff: contains the absolute difference in box number between the previous and the current flag (for debug purposes) lastCorrectCell: stores the number of the last correct cell response: the participant's response selectedCell: stores the number of the selected cell (the cell to which participant selected to move) acc: the correctness of the response (1 = correct; 0 = incorrect) errorType: LE = Legal Error (one/first incorrect selection) PE = Perserverance Error (second incorrect selection in a row) RE = Rule break Error (third and more incorrect selections in a row) latency: the response latency (in ms) movesCounter: counts the number of moves that participant makes (number of selections; selecting the disc at the beginning is not counted) in a block correctMovesCounter: counts the number of correct moves that a participant makes in a block correctionMovesCounter: counts the number of times participant correctly selects the last correct cell in a block errorCounter: sums up the number of errors made in a block consecutiveErrors: contains the number of Consecutive Errors made (resets after a correct response is given) LE Counter: counts the number of times a Legal Error is made (one incorrect selection) per block PE Counter: counts the number of times a Perservative Error is made (two incorrect selections in a row) per block RE Counter: counts the number of Rule breaking Errors (three or more consecutive selections) per block (2) Summary data file: 'timedchasetest_summary*.iqdat' (a separate file for each participant) 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) movesCounter: counts the number of moves that participant makes (number of selections; selecting the disc at the beginning is not counted) in a block correctMovesCounter: counts the number of correct moves that a participant makes in a block correctionMovesCounter: counts the number of times participant correctly selects the last correct cell in a block errorCounter: sums up the number of errors made in a block consecutiveErrors: contains the number of Consecutive Errors made (resets after a correct response is given) LE Counter: counts the number of times a Legal Error is made (one incorrect selection) per block PE Counter: counts the number of times a Perservative Error is made (two incorrect selections in a row) per block RE Counter: counts the number of Rule breaking Errors (three or more consecutive selections) per block cms: calculates the number of correct moves made per second in timed chase block ~ a measure of low-demand visuomotor speed ___________________________________________________________________________________________________________________ EXPERIMENTAL SET-UP ___________________________________________________________________________________________________________________ 2 Blocks: 1) Untimed Chase: Participants start the block by clicking on the blue disc that is presented in the top left square. The disc then appears in a new location (never more than 2 squares/moves away). Locations are randomly determined. Participants have to 'capture' the disc by following square by square (on the shortest possible route towards the flag); only moves immediately up and down as well as right and left are allowed. If participants choose a correct square, the square turns green (and a chirp is played) and participant can continue. If participants make a mistake, the square turns red (and a different sound is played) and participants need to return to the last correct square. After 3 incorrect moves, the only square that can be selected is the last correct square which is indicated by a flashing"!". The block ends by clicking a button labeled "done" at the bottom. 2) Timed Chase: The timed blocks runs for a predetermined length of time (default: 30s). No 'done' button is provided. Otherwise, the same rules apply as for the untimed block. The number of correct moves is counted. ___________________________________________________________________________________________________________________ STIMULI ___________________________________________________________________________________________________________________ flag = blue disc 10x10 matrix, gray squares ___________________________________________________________________________________________________________________ INSTRUCTIONS ___________________________________________________________________________________________________________________ Instructions are provided by Millisecond Software. 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: / durationTimedBlock = 30000 //duration (in ms) of the timed block (default: 30000) / showErrorReminder = true //true = a verbal reminder to return to the last correct square is presented once participants has selected 3 incorrect squares //false = no verbal reminder is presented //color parameter / canvasColor = black //Display color of the actively used portion of the screen (the 'canvas') //Note: if set to a color other than the screenColor, you can distinguish the active canvas //from the inactive portion of the screen / screenColor = black //Color of the screen not used by the canvas ('inactive screen') / defaultTextColor = white //Default color of text items