Extra Action Problem

Hi,
We are trying to run a simple math task (subtract a number from another number) that should end automatically after 1 minute. The way we set it up is the following: we have a block which contains one trial which is linked to several events. If the answer a participant provides is incorrect, the trial starts again. We tried to set the timer of the trial (and block) to a limit, but superlab does not seem to recognize these extra actions/rules.

We tried the following:

  1. add a rule to stop the trial if time since start of block is larger than a minute and perform the following action (exit block).
  2. Add an extra action to our main block and clicked stop presenting trials past 1 minute.

We think it fails to skip/stop presenting the remaining events, i.e. doesn’t move into a new block because it is in the middle of presenting our events. How can we get superlab to stop presenting events after one minute into the block? Please find our test version attached.

Unrelated: we will want to have various versions of this task (e.g., count backwards in steps of 13 from 2013; count backwards in steps of 15 from 4015, …). Is there a way to automatize creating response events so superlab knows when an answer is correct/incorrect.

Thanks,
Silke

SubtractionTest.sl5 (7.78 KB)

Before we discuss the solution, I’d like to explain why your previous attempts did not work as expected:

We tried the following:

  1. add a rule to stop the trial if time since start of block is larger than a minute and perform the following action (exit block).

First, trial rules are only initiated at the end of a trial. Second, restarting a trial does not technically end it, so doing so will not bring about rule initiation.

  1. Add an extra action to our main block and clicked stop presenting trials past 1 minute.

Under the Stop presenting trials past… option, there is mention that SuperLab will not interrupt a trial in progress. Again, because trials do not technically end upon restarting, your trial is seen as in progress by SuperLab.

Solution:
First, condense your events into a single stimulus list. Every stimulus list item is automatically contained in their own trial, which allows you to exit an experiment between events. Next, change the list’s feedback option from Restart trial to Skip remaining events and turn on looping for the relevant block. Now, an incorrect answer will result in a block loop, which will result in a new trial presentation rather than restarting the same one.

Thanks for this feedback; unfortunately, this didn’t solve our problem (i.e. superlab still continues after our set time limit) but created an additional problem: using a stimulus list + adding the option “skip remaining events” means that we don’t restart the trial (as we wanted), but stay on the event until participants get the correct answer. Can you suggest another solution, please?

Disregard the Skip remaining events feedback option. I apologize for the mix-up.

I have edited your experiment file to suit your requests and attached it to this post. I’ve included notes within the core block, trial, and event items.

Now, I will summarize how the experiment works.

Event Level:

  • stimulus list item is presented
  • if incorrect, its trial is tagged as incorrect

Trial Level:

  • if trial is tagged as incorrect, the rest of the trials will not be presented; without any trials left to present, the block will end

Block Level:

  • if all responses were correct, then move on to the next block (otherwise, block will loop)
  • if any responses were incorrect, reset tags
  • throughout the experiment, the block self-terminates after 60 seconds

Please look through the experiment notes and ask any questions you may have.

Thank you.

SubtractionTest.sl5 (6.64 KB)

Great, this solved our problem. Many thanks for your help. Much appreciated.
best