User Manual: Inquisit Road Map Test


___________________________________________________________________________________________________________________	

								(Money) Road Map Test
___________________________________________________________________________________________________________________	


Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com) for Millisecond Software, LLC
Date: 12-04-2023
last updated:  02-16-2024 by K. Borchert (katjab@millisecond.com) for Millisecond Software, LLC

Script Copyright © 02-16-2024 Millisecond Software

___________________________________________________________________________________________________________________
BACKGROUND INFO 	
___________________________________________________________________________________________________________________
This script implements Millisecond Software's computerized version of the Money Road Map Test,
a test of directional sense in a 2D environment.

Researchers can select to run the task with an absolute screen size to ensure that distances
stay the same across devices. The default settings are optimized for ipad touchscreens.
See section Editable Parameters for more info.

Reference:

Money. I.. Alexander, D., & Walker, H. T (1965). Manual: A standardized road-map test of direction sense.
Baltimore: Johns Hopkins Press.
											
Elman, I., Gurvits, T. V., Tschibelu, E., Spring, J. D., Lasko, N. B., & Pitman, R. K. (2013). 
Neurological soft signs in individuals with pathological gambling. 
PloS One, 8(4), e60885–e60885. https://doi.org/10.1371/journal.pone.0060885

an open-access article with the following copyright note:
"This is an open-access article, free of all copyright, and may be freely reproduced, distributed, transmitted, 
modified, built upon, or otherwise used by anyone for any lawful purpose. The work is made available under the 
Creative Commons CC0 public domain dedication."

___________________________________________________________________________________________________________________
TASK DESCRIPTION	
___________________________________________________________________________________________________________________

Participants are instructed to drive a little blue car on a fixed route through a town.
The car automatically stops at each intersection and participants are instructed to choose the
appropriate turn signal for the turn the car is about to make.
The test provides a short practice with 3 intersections and a test with 32 intersections.
___________________________________________________________________________________________________________________	
DURATION 
___________________________________________________________________________________________________________________	
the default set-up of the script takes appr. 5 minutes to complete

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

(1) Raw data file: 'roadmaptest_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:					with the current subject id
group: 						with the current group id
session:					with the current session id

//Screen Setup:
(parameter) runAbsoluteSizes:	true (1) = should run absolutely sized canvas (see parameters- canvasHeight_inmm)
								false (0) = should use proportionally sized canvas (uses width = 43*screenHeight)
								
canvasAdjustments:				NA: not applicable => parameters- runAbsoluteSize was set to 'false'
								0: parameters- runAbsoluteSize was set to 'true' and screen size was large enough
								1: parameters- runAbsoluteSize was set to 'true' BUT screen size was too small and 
								adjustments had to be made

activeCanvasHeight_inmm:		the width of the active canvas (by default: lightGray area) in mm 
activeCanvasWidth_inmm:			the height of the active canvas in mm 
display.canvasHeight:			the height of the active canvas in pixels
display.canvasWidth:			the width of the active canvas in pixels

px_per_mm:						the conversion factor to convert pixel data into mm-results for the current monitor
								(Note: the higher resolution of the current monitor 
								the more pixels cover the same absolute screen distance)
								This factor is needed if you want to convert pixel data into absolute mm data or the other way around



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. 
								
								
phase:						1 = practice
							2 = test
							
numberPracticeBlocks:		stores the number of practice blocks run 
intersection:				stores the current intersection 
response:					stores the response made (leftSignal vs. rightSignal) 
corrResp:					stores the correct response (left vs. right) 

correct:					1 = the response was correct; 0 = otherwise 
latency:					the response latency (in ms); measured from onset of response buttons 

list.ACC.mean:				the proportion correct responses in the current block								


(2) Summary data file: 'roadmaptest_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)	

//Screen Setup:
(parameter) runAbsoluteSizes:	true (1) = should run absolutely sized canvas (see parameters- canvasHeight_inmm)
								false (0) = should use proportionally sized canvas (uses width = 43*screenHeight)
								
canvasAdjustments:				NA: not applicable => parameters- runAbsoluteSize was set to 'false'
								0: parameters- runAbsoluteSize was set to 'true' and screen size was large enough
								1: parameters- runAbsoluteSize was set to 'true' BUT screen size was too small and 
								adjustments had to be made

activeCanvasHeight_inmm:		the width of the active canvas (by default: lightGray area) in mm 
activeCanvasWidth_inmm:			the height of the active canvas in mm 
display.canvasHeight:			the height of the active canvas in pixels
display.canvasWidth:			the width of the active canvas in pixels

px_per_mm:						the conversion factor to convert pixel data into mm-results for the current monitor
								(Note: the higher resolution of the current monitor 
								the more pixels cover the same absolute screen distance)
								This factor is needed if you want to convert pixel data into absolute mm data or the other way 
								around		
///practice:			
numberPracticeBlocks: 			the final number of practice blocks run
practiceACC: 					the final proportion correct practice performance (three intersections), before moving on to the test

numberIntersections:			the number of intersections travelled (for completed test that should be 32)
numberCorrectResponses:			the number of correct responses made
propCorrectResponses:			proportion Correct responses
meanRT:							mean response time (in ms) (regardless of accuracy)
meanCorrRT:						mean correct response time (in ms)
sdCorrRT:						standard deviation of correct response times (in ms)
			
___________________________________________________________________________________________________________________	
EXPERIMENTAL SET-UP 
___________________________________________________________________________________________________________________	

1. Intro: by default the instructions are given visually and aurally (optional)

2. Practice: the practice block is run max. 2 times (editable parameters) before the test is started
It's repeated, if participants are below parameters.minPracticeACC (default: 1.0)
The practice provides visual and auditory feedback and requires participants to correct
wrong choices. Practice also provides response reminders if no response is detected within a certain time
frame (default: 3000ms)

3. Test:
- 32 intersections
- car stops automatically at each intersection and participants have to choose from a left or right
turn signal (located left and right of the map)
- once selected, the selected turn signal blinks for a couple of times before the car starts moving again
- no feedback is provided

4. OPTIONAL performance feedback (see parameters.performanceFeedbackSetting)
The default feedback gives participants the choice whether to get performance feedback or not.
If they choose to see it, the little blue car drives once more through the city and leaves
the letter R and L at each intersection to reflect the response made by the participant.
Red letters indicate that the response was incorrect.
Green letters indicate that the response was correct.
Participants have as much time as they want to check the performance map.

___________________________________________________________________________________________________________________	
STIMULI
___________________________________________________________________________________________________________________

map from: provided by Elman et al (2013)
Note: the script could be adapted to run customized maps as well
___________________________________________________________________________________________________________________	
INSTRUCTIONS 
___________________________________________________________________________________________________________________

provided by Millisecond Software - can be edited under section 'Editable Instructions'
The instructions are not original.
Audio instructions are optional and can be turned off. They were created with the help of the 
Google Translate fairy and Audacity.
___________________________________________________________________________________________________________________	
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:

//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, the active canvas
									//appears 'anchored' on the screen regardless of monitor size
/ screencolor = gray 			//Color of the screen not used by the canvas ('inactive screen')
/ defaultTextColor = white		//Default color of text items presented on active canvas

//CANVAS SIZING PARAMETERS
//Screen Sizes		
/ runAbsoluteSizes = true		//true = runs absolutely sized canvas (see parameters.canvasHeight_inmm)
								//false = uses proportionally sized canvas (uses width = 4/3*screenHeight)
								//the script will look for the larges 4:3 area it can find on the current screen
																			
//the setting of the active canvas in absolute mm is only relevant if parameters.runAbsoluteSizes = true (1)
//=> IF the screen is not sufficiently big to allow for the absolute canvassize
//the script will run a default width:height=4:3 and make a note in the data files
//the default absolute sizes provided here are optimized for ipad use																																						
/ canvasHeight_inmm = 144				//the height (H) of the active canvas in mm (default: 144mm ~ ipad screen height)
										//Note: the width of the active canvas (W) is automatically set at
										//ratio: W:H ~ 4:3 => W= 4/3*canvasHeight_inmm = 144mm*4/3=192mm (default)

//sizing Parameters in RELATIVE measurements
//the remaining items are sized relative to CANVAS HEIGHT
//=> Result: 
//for absolute canvassizes: you achieve the same absolutely sized stimuli on all screens
//for relative canvassizes: stimuli are proportionally sized on all screens	


//instruction parameters
/ skipDirectionLabels = false			//true = only the turn signal buttons are presented
										//false = prints "LEFT" and "RIGHT" above the turn signal buttons
										
/ skipAudioInstructions = false			//true: the instructions are only presented visually
										//false: the instructions are presented visually as well as aurally	
	
/ performanceFeedbackSetting = 2		//1: participants will get performance feedback
										//2: participants get the choice to get performance feedback
										//3: participants will not get performance feedback
											
//practice parameters										
/ minPracticeACC = 1.0					//the minimum practice performance

/ maxPracticeBlocks = 2					//the maximum number of times the practice block is run before 
										//the test drive begins (regardless of practice performance)
																		
//timing parameters										
/ reminderOnsetTime	= 3000				//onset time (in ms) of a response reminder (if no response has been made in the meantime)
										//practice only