User Manual: Inquisit Tower of London Task


___________________________________________________________________________________________________________________
TASK VERSION
___________________________________________________________________________________________________________________

Language: German
Translation Credits: German translation provided by K. Borchert for Millisecond Software
										
										


___________________________________________________________________________________________________________________	

				Tower of London Task (TOL) -- Krikorian et al. (1994) Version
___________________________________________________________________________________________________________________	

Script Author: David Nitz (dave@millisecond.com) for Millisecond Software, LLC
last updated:  11-20-2025 by K. Borchert (katjab@millisecond.com) for Millisecond Software, LLC

Script Copyright © 11-20-2025 Millisecond Software

___________________________________________________________________________________________________________________
BACKGROUND INFO 	
___________________________________________________________________________________________________________________
This script implements the 'Tower of London' task (originally Shallice, 1982), an assessment of 
executive functioning with a focus on planning abilities.	
	
___________________________________________________________________________________________________________________
REFERENCES	
___________________________________________________________________________________________________________________									
	
Shallice, T. (1982). Specifc impairments of planning. Philosophical Transactions of the Royal 
Society of London, Biology, 298, 199-209.

Krikorian, R., Bartok, J., & Gay, N. (1994). Tower of London procedure: A standard method 
and developmental data. Journal of Clinical and Experimental Neuropsychology, 16, 840-850.
	
Anderson, P., Anderson, V., & Lajoie, G. (1996). The Tower of London test: Validation and 
standardization for pediatric populations. The Clinical Neuropsychologist, 10, 54-65.

Berg, W. K. & Byrd, D. L. (2002). The Tower of London spatial problem-solving task:
Enhancing clinical and research implementation. Journal of Clinical and Experimental 
Neuropsychology, 24(5), 586-604.
 
___________________________________________________________________________________________________________________
TASK DESCRIPTION	
___________________________________________________________________________________________________________________	
Participants are asked to arrange three colorful discs on 3 provided pegs 
in a specific solution pattern in as few moves as possible.
They work through one practice problem before moving on to 12 test problems.

___________________________________________________________________________________________________________________	
DURATION 
___________________________________________________________________________________________________________________	
10 minutes

___________________________________________________________________________________________________________________	
DATA OUTPUT DICTIONARY
___________________________________________________________________________________________________________________ 

(1) Raw data file: 'toweroflondon_raw*.iqdat'

build:						The specific Inquisit version used (the 'build') that was run
computer.platform:			the platform the script was run on (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 script was run 
time: 						(local) time script was run 
subject:					with the current subject id
group: 						with the current group id
session:					with the current session id
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)
								Note: trialnum is a built-in Inquisit variable; it counts all trials run;  
								even those that do not store data to the data file.
																			
response:						response made (contains the last peg a disc was moved to or 0 for noResponse)
latency:						the latency of the response in ms (or if no response: trialduration)

trial.choice.lastDropLatency:	time (in ms) between intialization of the last move and its completion; move execution time
trial.choice.lastDropSource:	the last moved disc (R, B, G)
trial.choice.lastDropTarget:	the last peg that a disc was moved to (apeg, bpeg, cpeg)


problemNumber:					Current problem number. By default the task consists of 1 practice
								problem and 12 test problems presented sequentially. 0 indicates 
								a practice problem.
										
subjectAttempts:				Number of current attempts to solve the given problem.
targetMoves:					Number of prescribed moves for the current problem.
subjectMoves:					Number of subject-performed moves for the current problem.

excessMoves:					Returns the difference between number of moves performed by the subject and the 
								number of target moves for a given problem.
									
moveString:						Text string containing a record of performed moves. E.g. "B2R3"
								indicates that the blue ball (B) was moved to peg 2 (center) and 
								the red ball (R) was moved to peg 3 (right).
									
targetAchieved:					Returns true as soon as the subject has successfully reached a given
								problem's target / goal state. Otherwise false.
										
problemScore:					Score awarded for solving the current problem. See Krikorian et
								al. (1994) for details.
										
totalScore:						Score achieved across the whole set of test problems. Computed
								as the sum of individual problem scores. Maximum is 36 in the 
								standard version.
									
firstMoveTime:					Returns the time (in ms) elapsed between initial presentation of 
								the target configuration and the initialization of the subject's first
								move. Sometimes also referred to as "planning time" or simply
								"latency". Note: Measure is computed separately for each attempt.
										
executionTime:					Computed as solutionTime - firstMoveTime. Note: Measure is 
								computed separately for each attempt.
										
solutionTime:					Returns the time (in ms) elapsed between initial presentation of
								the target configuration and a subject's successful solution.
								Note: Measure is computed separately for each attempt.
										
planningTime:					planning time calculated as 'solutionTime - executionTime'										
										
										
tChoiceStart:					Absolute start time for trial.choice in ms. May be used to derive
								additional measures during data analysis (e.g. mean move time).
									
tChoiceEnd:						Absolute end time for trial.choice in ms. May be used to derive
								additional measures during data analysis (e.g. mean move time).
								
tFirstMove:						Absolute script timestamp in ms for valid first move 	


ruleViolation:					1 = illegal move: at least one of the two moving rules was violated during this trial
								0 = legal move
								
countRule1Violations:			sums up the number of times that Rule1 has been violated (Rule1="move only the top balls") 
countRule2Violations:			sums up the number of times that Rule2 has been violated (Rule2="don't move ball onto the position of another ball")
countRuleViolations:			number of all rule violations

countFailedAttempts:			sums up the number of failed attempts across all problems
								failedAttempts: voluntary resets + pressing continue without solving the problem + too many moves
																
(2) Summary data file: 'toweroflondon_summary*.iqdat'

inquisit.version:			Inquisit version run
computer.platform:			the platform the script was run on (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 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)		

totalScore:					Score achieved across the whole set of test problems. 
							Computed as the sum of individual problem scores. Maximum is 36 in the standard version.
																
meanSolutionTime:				the mean solution time (in ms) of all solutions with solutionTime > 0 (independent of accuracy of solution)
sdSolutionTime:					the standard deviation (in ms) of solution times of solutions with solutionTime > 0 (independent of accuracy of solution)		
meanExecutionTime:				the mean execution time (in ms) of all solutions with solutionTime > 0 (independent of accuracy of solution)
sdExecutionTime:				the standard deviation (in ms) of all execution times of all completed solutions with solutionTime > 0 (independent of accuracy of solution)	
meanPlanningTime:				the mean time (in ms) spent on planning; calculated as (meanSolutionTime-meanExecutionTime)	with solutionTime > 0 (independent of accuracy of solution)	

meanSolutionTimeCorrectSolutions:	the mean solution time (in ms) of all solutions with problemScore > 0
sdSolutionTimeCorrectSolutions:		the standard deviation (in ms) of solution times of solutions problemScore > 0		
meanExecutionTimeCorrectSolutions:	the mean execution time (in ms) of all solutions with problemScore > 0
sdExecutionTimeCorrectSolutions:	the standard deviation (in ms) of all execution times of all completed solutions with problemScore > 0
meanPlanningTimeCorrectSolution:	the mean time (in ms) spent on planning of all completed solutions with problemScore > 0

countRule1Violations:			sums up the number of times that Rule1 has been violated across all problems (Rule1="move only the top balls") 
countRule2Violations:			sums up the number of times that Rule2 has been violated across all problems (Rule2="don't move ball onto the position of another ball")
countRuleViolations:			number of all rule violations across all problems

countFailedAttempts:			sums up the number of failed attempts across all problems
								failedAttempt: voluntary resets + pressing continue without solving the problem + too many moves

___________________________________________________________________________________________________________________	
EXPERIMENTAL SETUP 
___________________________________________________________________________________________________________________	
1 Practice trial (problem with 2 moves)
12 Test trials (2 problems with 2 moves, 2 problems with 3 moves, 4 problems with 4 moves, 4 problems with 5 moves: 
tested sequentially in fixed order)

Per Problem:
* no time limit
* reset button provided
* 3 attempts per problem to solve it given the max. number of moves. After failure to solve a problem in 3 attempts,
participants are moved to the next problem in the sequence (participants can also move ahead to the next problem
by clicking a 'next' button)
	
___________________________________________________________________________________________________________________	
STIMULI
___________________________________________________________________________________________________________________	
see section Editable Stimuli
(to re-create new target states, try EmptyPegs.pptx - provided by Millisecond Software)

___________________________________________________________________________________________________________________	
INSTRUCTIONS 
___________________________________________________________________________________________________________________	
The task instructions were adapted from Anderson et al (1996).
See script 'toweroflondong_instructions_inc.iqjs'

___________________________________________________________________________________________________________________	
EDITABLE CODE 
___________________________________________________________________________________________________________________	

//Design:
/ maxAttempts = 3				//Allowed number of attempts to solve any given problem with
								//minimum amount of moves. Default is 3.
							
/ nPracticeProblems = 1			//Number of practice problems. By default, the task contains 1
								//practice problem and 12 test problems. Default is 1.

//Peg setup:							
/ nASlots = 3					//Capacity of peg 1 (left). Default is 3.
/ nBSlots = 2					//Capacity of peg 2 (center). Default is 2.
/ nCSlots = 1					//Capacity of peg 3 (right). Default is 1.

/ h1 = 20%						//Horizontal coordinates of peg 1 (left) in screen percentages  (0% = left edge of canvas - right edge of canvas = 100%)
/ h2 = 50%						//Horizontal coordinates of peg 2 (center) in screen percentages	
/ h3 = 80%						//Horizontal coordinates of peg 3 (right) in screen percentages	
/ v1 = 80%						//Vertical coordinate of bottom ball position in screen percentages (0% = top of canvas - bottom of canvas = 100%)
/ v2 = 65%						//Vertical coordinate of center ball position in screen percentages	
/ v3 = 50%						//Vertical coordinate of top ball position in screen percentages

/ rStartX = parameters.h1		//Determines the red ball's horizontal start position (horizontal, vertical).
/ rStartY = parameters.v2		//Determines the red ball's vertical start position	
/ gStartX = parameters.h1		//Determines the green ball's horizontal start position
/ gStartY = parameters.v1		//Determines the green ball's vertical start position		
/ bStartX = parameters.h2		//Determines the blue ball's horizontal start position
/ bStartY = parameters.v1		//Determines the blue ball's vertical start position

//UI parameter
/ showNextButton = true			//true = show the 'next' button; false = 'next' button is not presented
/ showresetButton = true		//true = a reset button is provided	; false = no reset button is provided		

//timing parameters
/ interTrialInterval = 1000		//The intertrial interval (time between problems) in ms. Default is 1000.
/ feedbackDuration = 2000		//Duration of performance feedback in ms. Default is 2000.