Randomising 3 different types of trials
Hi,
I'm trying to design an experiment such that I have 240 experimental trials that I would like to split into two blocks. The rule is that for every 20 experimental trials, I would like to run 1 catch trial that must be followed by 1 distractor trial. This means that in 1 block there will be 120 experimental trials, 6 catch trials and 6 distractor trials. How do I make it so that all the trials are randomised? is it possible to do it without code? I'm not good at coding and was hoping to do it all with the GUI especially since I have to do further coding with EEG triggers :')
For more context, I'm using audio stimuli and I need participants to perform a keypress response to every catch trial. Feedback at the end of each block will be given, telling participants how many catch trials they 'caught'.
I've tried running the break if function, the run if function, etc. but I just can't seem to make it work.
Comments
Hi @shaza
What do you mean when you say that the 'run if' function doesn't work? Have you tried [count_trial_sequence]/20 == 1? (constraint to add on your items for the catch/distractor trials)
I'm not sure exactly what you are trying to achieve, but the solution may depend on how many unique audio files you have for the experimental trial and whether you want them to be randomised within or between blocks. It may also depend on whether these experimental trial audio files are different from the ones presented during the catch and distractor trials.
If you could provide a sample of your experiment (or even better, your experiment file), it would be much clearer what you are trying to achieve.
Best,
Claire
Check out SigmundAI.eu for our OpenSesame AI assistant! 🤖
Hi Claire! @cvanbuck
All 264 of my audio files (240 target trials, 12 catch trials, 12 filler trials) are unique. I don't have an experiment file because I don't know how to set it up. The [count_trial_sequence == n] does a good job at breaking the catch/distractor loop but I can't get it to go back to the target trials.
To make it clearer, all trials are unique. Each block will have 120 target trials + 6 catch trials (1 after every 20 target trials) + 6 filler trials (1 after every catch trial). All trials are randomly picked from a list of 240 target trials, 12 catch trials, and 12 filler trials. Basically: target trial x20 > catch trial x1 > filler trial x1 > target trial x20 > catch trial x1 > filler trial x1 > ...
I don't know if all 240 target trials should be placed in the same loop, but if yes, I don't know how to make the software randomly pick half for Block 1 and half for Block 2.
Next, I don't know if catch trials and filler trials belong to a separate loop from the target trials because 1) one catch trial (randomly picked) appears after every 20 target trials and 2) one filler trial appears after every one catch trial.
I hope this makes it clearer!!
I found a temporary solution where I don't even split them up into separate blocks. I did a mock-up of 24 unique target trials, 4 catch trials and 4 filler trials with similar rules, i.e. Block 1 consists of 2 sets of 6 target trials followed by 1 catch trial and 1 filler trial, followed by a feedback and a break while Block 2 consists of 2 sets of 6 target trials followed by 1 catch trial and 1 filler trial, followed by a feedback and the end of the experiment. For this one, I didn't randomise the trials as a sanity check. For actual experiment I'll have to randomise within each loop.
I'm not sure if this the best way for the 240 target trials, but if anyone can help me streamline this a bit more that'd be super helpful :)
Hi @shaza
Here is a slightly modified version of your experiment, which should work as expected even for 240 target trials. If you add your full set of stimuli, you just need to adjust the 'run if' conditions in the 'target_sequence' sequence to indicate:
If you only present each audio once, you can set the main_loop value 'n_repeat' to one (so, only one row).
Hope this helps!
Claire
Check out SigmundAI.eu for our OpenSesame AI assistant! 🤖
Hi @cvanbuck
Thank you for this!! It works :) I just added another sketch board in case they missed all the catch trials.