Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Supported by

Balloon analogue risk task

I am struggling to find a way to create the balloon analogue risk task in opensesame. Is it doable with just the GUI or is it needed to code everything from scratch?

This is a link with a simpler version for those who do not know this task:
http://ww2.unipark.de/uc/testothek/ospe.php?SES=42b107f8fd00e21df9f655168ba42b03

Comments

  • Hi bdnf (if that is your real name :p ),
    I created a version of the BART a couple of times. If you want a copy that is a pretty straightforward version for replicating the original this might help. If I'm not mistaken it required some coding to accomplish, but thankfully nothing crazy. Unfortunately it isn't on me at the moment, but I can get it for you tomorrow.
    I also have a version designed for EEG purposes, although that one DOES have more complicated coding to account for timing and sending EEG flags. If that is what you're looking for then you'll have some extra legwork in the coding.

    Let me know which is preferable and I'll send along the files (publicly here of course so others can make use of it).

    Best,
    Josh Zosky

  • That would be extremely helpful! Thank you Josh! I only need the not for EEG BART version.
    Cheers,
    Joao

  • Hey Joao,

    Here's a link to the Behavioral BART for OpenSesame. Let me know if you have any questions. Feel free to pass the experiment around if you like it.

    https://github.com/imnotamember/BART-OpenSesame

    Best,
    Josh

  • Thank you very much Josh for the experiment!

    I am adapting your version, especially the practice part. I am changing the explode_round values in the Outside_Practice_loop. However, if I put for example a cycle with an explode_round of 50, when it gets to the 20th round, the trial ends as if I pressed the return key to cash in money. No matter what value I enter, if it is bigger than 20, the balloon never explodes when it is supposed to.

    What do I need to change in the inline code for this to work?

    Cheers,
    Joao

  • edited March 2017

    Ok I already figured this out. It is the number of times the Practice_sequence will be called was set to 20. Changing this does the trick.

  • Glad you could figure it out on your own! I hope that was in part due to the clear coding on my end. ;)
    This experiment was designed to perform 20 pumps max per round. Hopefully this doesn't effect the end performance for you. It is probably worth testing multiple times to make sure it works as expected.

    Let me know if you have further questions.
    Best,
    Josh

  • Hello,

    I also need help with this code. If I did not misunderstand, the balloon pops up randomly. How does this random popping up measure risk behaviour? Can you please explain? I may have misunderstood it. And is it enough to change var.Probability to change it to a non-random popping? Thank you. =)

  • Hi GoSugar,

    I've made a number of revisions to the original paradigm to match various other versions of the experiment.

    The original implementation and underlying discussion can be found here: http://www.impulsivity.org/measurement/BART

    The original paper can subsequently be found here: https://psycnet.apa.org/doi/10.1037/1076-898X.8.2.75

    Let me know if you'd be interested in a new version that's a direct replication of the original study (or one of the many other versions I've put together).

    Best,

    Josh

  • I am really interested in the direct replication of the original study. It would be great and very helpful if you could send me that one. Thanks a lot. I appreciate your help. =)

  • Hi, I'm trying to modify a bit the public script of the BART experiment but I need some help. First of all, thanks for making it public available.

    I want to define a priori for each round which is the maximum number of pumps. However I did not completely understood where you counting the number of pumps and how do you define the number of pumps for each trial. I would like tu insert a variable in the loop for example [max_pumps] defining each round the maximum number of pumps. How could I do it?

    Thanks

  • Hi @gmduma ,


    I'm not sure what type of behaviour you want to implement exactly, but as a starter, you could create a variable that counts the number of pumps (as you suggested) and use this variable in the Break-if box of the corresponding loop item (here: BART_Trials_Loop).


    More precisely:

    • Append an inline_script item before the relevant loop item and place something like the following in its Prepare tab:
    var.break_variable = "no"
    var.counter = 0
    


    • Append another inline_script item in the relevant sequence (here: Inflate_sequence) and place the following its Run tab:
    # Define maximum number of pumps:
    var.max_pumps = 5
    
    # On every trial, the counter is increased with 1
    var.counter +=1
    
    # If  max number of pumps is reached, break_variable should be set to "yes"
    if var.counter >= var.max_pumps:
    	var.break_variable = "yes"
    


    Use a break-if statement in the loop item:

     [break_variable] = yes
    

    Or, if you want to keep the other statement that was already implemented:


    [break_bool] = 1 or [break_variable] = yes
    

    Hope this helps! Please let us know if you have any further questions!


    Cheers,


    Lotje

    Did you like my answer? Feel free to Buy Me A Coffee :)

  • I want to use two different balloon one green and the other red. The green ballon will need from 1 to 5 pupms to explode, the red one from 6 to 12. This would create an association between the color and the level of risk. Let's call this procedure High_to_low_risk. The I want to create another procedure where the association between the color of the ballon and the number of pumps is inverted. For this reson I need to specify a priori the nukber of pumps. But I'm not sure how to do it, even with your example. Basically I need to inflate the balloon if the response="Space" and when the number of response=Space is equal to the max pumps I need to blow up the balloon.

  • Hi,

    Maybe the attached experiment helps in implementing your task. Good luck!

    (Note, the changing of the x coordinate seems to be necessary currently, because changing the radius alone won't update the canvas).

    Eduard


    Buy Me A Coffee

  • Hi everyone!

    I'm trying to adapt the BART sent by @imnotamember for running online. Have any of you already tried to do so?

    Currently, I have tried to "translate" all the inline-scripts to JavaScript (because, as you obviously know, Python doesn't run online), but without success. Do you have any experience translating scripts to JS?

Sign In or Register to comment.