Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com), Millisecond
Created: January 16, 2023
Last Modified: January 12, 2025 by K. Borchert (katjab@millisecond.com), Millisecond
Script Copyright © Millisecond Software, LLC
This script implements Millisecond's version of the Visual Approach/Avoidance by the Self Task (VAAST) described by Aubé et al (2019). The VAAST is a cognitive test of spontaneous approach/avoidance tendencies towards two categories of stimuli. According to Aubé et al (2019) 'The VAAST simulates approach and avoidance movements of the whole self by manipulating the visual information provided to the participants'. This implementation uses picture stimuli of the categories "flowers" and "insects" as default examples. The running hypothesis is that people 'approach flowers and avoid insects' (compatible pairings) faster than that they 'approach insects and avoid flowers' (incompatible pairings).
The VAAST is provided by the authors as a PsyToolkit script, providing background stimuli, instructions and a step-by-step R script to analyze the data from the PsyToolkit output. The PsyToolkit is accessible to any researcher without cost.
The original script can be accessed here: word stimuli: https://www.psytoolkit.org/experiment-library/vaast_words.html image stimuli: https://www.psytoolkit.org/experiment-library/vaastImages.html
The Inquisit script provides the code to run the task on an absolutely sized screen if needed. Check section Defaults for more information. By default, the script uses the biggest 16:9 (the W:H dimensions of the background images) canvas on the current monitor.
The Inquisit script does not provide further help with data analyses (with the exception of several summary variables).
DISCLAIMER: While Millisecond endeavors to replicate the task as faithfully as possible to the original, differences between the implementations may exist.
•
Aubé, B., Rougier, M., Muller, D., Ric, F., & Yzerbyt, V. (2019). The online-VAAST: A short and online tool to measure spontaneous approach and avoidance tendencies. Acta Psychologica, 201, 102942–102942. https://doi.org/10.1016/j.actpsy.2019.102942
15 minutes
In each VAAST trial a stimulus (here: pictures of flowers or insects) appear superimposed on a background (here: a street scene). Depending on instructions, participants have to press the 'approach' key or 'avoidance' key as fast as possible. For example, in one condition they are told to press the 'approach' key for flowers and the 'avoidance' key for insects ('compatible condition'). In a second condition, participants are told to press the 'approach' key for insects and the 'avoidance' key for flowers ('incompatible' condition).
When participants press the 'approach' key the background zooms in and the target picture itself gets larger. When they press the 'avoidance' key the opposite happens: the background zooms out and the target picture gets smaller. According to Aubé et al (2019) 'This visual feedback gives participants the impression that they are moving toward or away from the stimulus in the street, pretty much as in real life.'
The procedure runs the compatible and incompatible condition back to back. The order in which these conditions are run is determined by groupnumber assignment in this script. Group1: runs compatible -> incompatible Group2: runs incompatible -> compatible (if a random assignment is needed, go to section Experiment and follow instructions)
(1) Keyboarch Check: this script checks if an attached external keyboard can be found.
If no external keyboard can be detected, participants get a brief note that a 'keyboard is required'
and the tasks aborts prematurely.
(2) Introduction to the Task
(3) Compatible Condition (see below for condition order information)
instructions: 'approach flower images and avoid insect images'
•Practice*
10 trials (5 flower, 5 insect; order is randomly determinded),
error feedback provided (when response is incorrect, no zooming happens. Instead, the image ERROR is presented)
instructions based on:
https://www.psytoolkit.org/experiment-library/vaastImages.html
The instructions in this script can be edited
in script "vaast_images_instructions_inc.iqjs"
File Name: vaastImages_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 |
| computer.hasKeyboard | 1 = an external keyboard was detected; 0 = no external keyboard detected |
| blockOrder | 1 = compatible (approach cat1 - flower) -> incompatible (avoid cat1- flower) 2 = incompatible (avoid cat1 - flower) -> compatible (approach cat1- flower) |
Summary Performance Metrics |
|
| propCorrectCat1App | Proportion correct responses for cat1 images (here: flower) under APPROACH instructions (compatible) |
| meanCorrRTCat1App | Mean correct response time (in ms) for cat1 images (here: flower) under APPROACH instructions |
| propCorrectCat1Av | Proportion correct responses for cat1 images (here: flower) under AVOID instructions (incompatible) |
| meanCorrRTCat1Av | Mean correct response time (in ms) for cat1 images (here: flower) under AVOID instructions |
| propCorrectCat2App | Proportion correct responses for cat2 images (here: insect) under APPROACH instructions (incompatible) |
| meanCorrRTCat2App | Mean correct response time (in ms) for cat2 images (here: insect) under APPROACH instructions |
| propCorrectCat2Av | Proportion correct responses for cat2 images (here: insect) under AVOID instructions (compatible) |
| meanCorrRTCat2Av | Mean correct response time (in ms) for cat2 images (here: insect) under AVOID instructions |
| propCorrectCompatible | Proportion correct responses for compatible image-instruction trials |
| meanCorrRTCompatible | Mean correct response time (in ms) for compatible image-instruction trials |
| propCorrectIncompatible | Proportion correct responses for incompatible image-instruction trials |
| meanCorrRTIncompatible | Mean correct response time (in ms) for incompatible image-instruction trials |
| compatibilityDiffRT | The difference (meanCorrRTIncompatible - meanCorrRTCompatible) positive: participant was faster to respond to compatible trials than to incompatible ones negative: participant was faster to respond to incompatible trials than to compatible ones 'compatible' image-instructions pairings are the hypothesis-consistent pairings (e.g. people approach flower images and avoid insect images) whereas the 'incompatible' image-instructions pairings are hypothesis-inconsistent. |
File Name: vaastImages_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 |
| computer.hasKeyboard | 1 = an external keyboard was detected; 0 = no external keyboard detected |
| blockOrder | 1 = compatible (approach cat1 - flower) -> incompatible (avoid cat1- flower) 2 = incompatible (avoid cat1 - flower) -> compatible (approach cat1- flower) |
| blockCode | Name of the current block |
| blockNum | Number of the current block |
| trialCode | Name of the current trial |
| trialNum | Number of the current trial |
| trialCounter | Custom trial counter per block |
| compatible | 1 = response to stimuli is compatible (hypothesis-consistent) 0 = otherwise |
| stimuli | Stores the currently presented image |
| valence | Valence of currently presented image (1 = cat1, flower; 2 = cat2, insect) |
| randomFixation | The duration (in ms) of the fixation cross, sampled from 800 to 2000 in 100ms steps |
| firstKey | 3 = the start key (here; H) was pressed and released before the start of the trial |
| response | The response of participant (scancode of response button) |
| responseText | Name of response key pressed |
| movement | 1 = approach, 2 = avoidance |
| correct | Correctness of response (1 = correct, 0 = error) |
| latency | Response latency (in ms); measured from: onset of images |
Debug Columns: Store The First And Second Static Stimuli Presented In A Trial |
|
The procedure can be adjusted by setting the following parameters.
| Name | Description | Default |
|---|---|---|
Color Parameter |
||
| canvasColor | Display color of the actively used portion of the screen (the 'canvas') if set to a color other than the screenColor, the active canvas appears 'anchored' on the screen regardless of monitor size | lightGray |
| screenColor | Color of the screen not used by the canvas ('inactive screen') | gray |
| defaultTextColor | Default color of text items presented on active canvas | black |
Image Size And Scaling Parameters |
||
| imageHeightPct | Proportional sizing of images (proportional to canvas height) | 30% |
| imageScalingApproach | 1.25 times the normal image size (increase) | 1.25 |
| imageScalingAvoid | 0.75 times the normal image size (decrease) | 0.75 |
Timing Parameters |
||
| feedbackImageDurationMS | The duration (in ms) that the resulting larger/smaller images are presented | 500 |
| itiMS | The intertrial interval (in ms) after feedback | 500 |
Responsekeys |
||
| topResponseKey | "Y" | |
| midResponseKey | if this is changed, change trial.cat1_start/trial.cat2_start (the release button is hard-coded) | "H" |
| bottomResponseKey | "N" | |
The Assignment Of Keys To Approach And Avoidance Keys |
||
| approachResponseKey | parameters.topResponseKey | |
| avoidResponseKey | parameters.bottomResponseKey | |
| startResponseKey | parameters.midResponseKey | |
Miscellaneous |
||
| runStartKeyReminderDuringPractice | True = a reminder to press and release start key is run after 5s if no response is made during practice false = no start key reminder is run the start key reminder feature was added by Millisecond | true |
| runStartKeyReminderDuringTest | True = a reminder to press and release start key is run after 5s if no response is made during test trial false = no start key reminder is run the start key reminder feature was added by Millisecond | false |