New routine for trials with different response options

If this template helps then use it. If not then just delete and start from scratch.

OS (e.g. Win10): Windows 10
PsychoPy version (e.g. 1.84.x): V2022.2.5
Standard Standalone? (y/n) If not then what?:
**What are you trying to achieve?: I have 4 different experiments but they are pretty similar - I am not sure if I need different routines for them or can they go into one? and then how do I randomise their presentation.

**What did you try to make it work?:A lot of things :slight_smile: I have done one routine for all 4, two routines (for the two that closely match) and then 4 different routines. I have trouble with randomising them.

What specifically went wrong when you tried that?:
I have a few Questions, but thought id start from the beginning.

I have a task where there are 4 ‘blocks’ the basic set up for all blocks is they are shown instructions for the block - a stimuli (2sec) - Blank screen (4sec) - second stimuli (2sec) - response screen.

2/4 of these block have 80 trials and a response screen that says “was the second item bigger or smaller than the first” response > for bigger and < for smaller.

the other 2/4 have 120 trials and a response screen that says “was the second item the same or different than the first” response > for same and < for bigger.

I am wondering if they can all be in one “routine” and I then use the excel files to determine the trials (80 or 120 - do I have to list all 80 or 120 trials on the excel sheet?) and the response type… This is where I was having trouble… can we refer to a particular response type in the excel sheet to use? Where do i put those two response types in the routine? as they ended up just displaying over the top of each other when I had them both in the routine.

The other thing I tried was two routines, one for each pair. But then I couldn’t figure out how to randomise 4 blocks independently - It would show for e.g.block 1 then 2, then block 3 then 4 OR Block 3 then 4, then Block 1 then 2… But this might not even be what I need to do, depending on the answer to the first question.

I hope this makes sense!! And I really appreciate everyone who tries to help here :slight_smile:


From your description, it looks like only the text on the response screen and the items presented differ between the two blocks. So instead of “hardcoding” the response text, create a variable that you display in the text component (don’t forget to set set every repeat). You could specify responseText in your Excel-file and simply read it from there.


Since the answer keys don’t change (only their meaning), it doesn’t matter for PsychoPy. You just need a way to distinguish the 80 trials (bigger/smaller) from the 120 trials (same/bigger) later in your analysis. So I would probably add a column in the Excel file that indicates the response type.

Are the 80 trials of the first block a subset of the 120 trials of the second block?

Best wishes Jens

Hi Jens,

Thanks so much for taking the time to respond! you are right - it’s basically the wording that changes so I’ll try your suggestion!

So the 80 trials are different to the 120 - basically the 80 trials relate to comparisons of cubes with bigger/smaller responses and the 120 relate to comparisons of shapes with same/different responses. They have different stimuli and require different responses.

I originally for ease just had two blocks - one for the cube stimuli 80 trials (say task A & B) and one for the shape stimuli 120 trials (say task C & D) however I had trouble randomising the tasks independently i.e. create the order of the tasks to be A, C, B, D.


how many different orders do you want to realize and do want to counterbalance the orders? Is this set of orders sufficient?

  1. abcd
  2. cadb
  3. bdac
  4. dcba

If the stimulus-component is the same across routines, you could just reuse the stimulus-component and use a variable to display the relevant stimuli.

I thought that the response-keys were the same in both blocks: > and <, but just their meaning was different.

Best wishes Jens


this little toy-experiment presents numbers or letters in blocks. Blocks are presented in random order across participants. In a block, stimuli are presented in random order.

BlocksExp.psyexp (13.2 KB)
Blocks.xlsx (8.5 KB)
Trials.xlsx (8.5 KB)

This solution does not allow to counterbalance the block-orders across participants.

Best wishes Jens

1 Like

Hi Jens,

Yes! the counterbalance would work lovely! Im just having trouble figuring it out (excuse my limited knowledge).

And you are right - the response keys are the same, just different meaning! my wording above was not clear.


Thank you so much! That looks amazing - Ill have a play around with this and let you know how I go - I really appreciate your time and help.


So this worked really well! I cannot thank you enough :slight_smile:

I just need to sort out the trial amounts within each block - I though a way might just be to list all the trials in the spreadsheet and get it to just run through once? seems like not the best solution but based on my limited knowledge, might work?



the rows that are displayed in a block are specified in the variable useRows in the condition-file Blocks.xlsx. So, yes you can use use one condition-file for your trials. You only need to adapt the variable useRows to your needs.

Best wishes Jens

Awesome! You have been the light at the end of my tunnel.

Thank, you again and take care!