OS (e.g. Win10): Win 10 pro
PsychoPy version (e.g. 2024.2.4 Py 3.8): 2025.1.1
Standard Standalone Installation? (y/n) Yes
Do you want it to also run online? (y/n) No
Hi everyone,
I am encountering an issue with the adaptive staircase in my PsychoPy experiment and would appreciate any suggestions.
Experiment details
I am using an adaptive staircase procedure to estimate the target duration required to achieve approximately 80% correct performance.
Design
- The experiment has two conditions:
- Set size = 2 gratings
- Set size = 4 gratings
- Each condition is presented in separate blocks.
- On each trial, participants are shown either 2 or 4 gratings with random left/right orientations.
- A post-stimulus cue indicates which grating’s orientation should be reported.
- The staircase adjusts the presentation duration of the gratings so that performance is matched between the two set-size conditions.
- Stimulus duration is controlled in frames because the experiment runs on a 100 Hz monitor (10 ms/frame).
I have attached the experiment file for reference.
Problem
The staircase does not appear to behave as expected.
-
The staircase starts at the specified initial intensity (10 frames, approximately 100 ms).
-
After the very first trial, regardless of whether the participant responds correctly or incorrectly, the next intensity jumps to 31 frames (approximately 310 ms).
-
On the following trial, the intensity immediately jumps to the maximum value (50 frames; approximately 500 ms).
-
Once the staircase reaches the maximum value, it never decreases, even after three consecutive correct responses. Instead, it remains at the maximum value for the rest of the block.
What I have checked
- PsychoPy version: 2025.1.1
- I also tested the experiment using the latest PsychoPy Studio release, but the same behaviour occurs.
- The experiment is attached for reference.
Questions
- Has anyone encountered this type of staircase behaviour before?
- Is there anything in the Builder staircase settings or loop configuration that could cause the staircase to always increase regardless of the participant’s response?
- Could this be related to how the staircase stepsize variable is being passed to the routine, or the accuracy of a trial is processed, or how the stimulus duration is updated each trial?
Any suggestions would be greatly appreciated. Thank you!
Experiment details:
- Experiment Flow:
-
“Block_loop_sc” is set to run twice - first loop runs set size 4 and second run of loop runs set size 2
-
“adapt_loop_sc” sets the paramters for the staricase procedure
-
“block_stair” has code component that sets the gratings loc and set size and instruction for each condition.
-
The “adapt_trials” routine sets up individual trials as below:
-
“trials_code_sc” sets up the random orientation and correct response for each trial
-
Up, down_left, right gratings uses “$level” to update the display duration in each trial
-
cue_exp_sc denotes the grating whose orientation has to be reported
-
“key_resp_sc” registers the “left” and “right” key response. Variable “$ori_sc” is used to compare and store the correct response.
-
Routine “fb_sc” display the feedback text based on “key_resp_sc.corr”
-
Though the “key_resp_sc.corr” variable correctly track the correct and incorrect response, In the data file “key_resp_sc.corr” column is not stored for some reason.
-
The Experiment file is attach for your reference.
Exp_forum.psyexp (176.2 KB)
I am stuck in experiment design due to the strange behavior of the staircase loop and unfortunately for last 15 days I am not able to solve this issue. I am not able to proceed in my experiment design, so your help will be appreciated. Thank You.

