Return to the Automatic Balloon Analogue Risk Task (Automatic BART) page
						
							AUTOMATIC BALLOON ANALOGUE RISK TASK (autoBART)

SCRIPT INFO
This script is based in large part on the BART.iqx script provided by Millisecond Software LLC
last updated:  08-15-2016 by K. Borchert (katjab@millisecond.com) for Millisecond Software, LLC

Copyright ©  08-15-2016 Millisecond Software


BACKGROUND INFO

											*Purpose*
This script implements the automatic BART as described in:

Pleskac, T.J., Wallsten, T.S, Wang, P. & Lejuez, C.W. (2008). Development of an Automatic Response Mode to Improve 
the Clinical Utility of Sequential Risk-Taking Tasks. Experimental and Clinical Psychopharmacology, 16, 555–564.

Note: the autoBART differs from the BART in the following ways
(1) participants indicate up front how many times they want to pump up the balloon
(2) default instructions tell participants about the ideal settings
(3) by default participants are told the explosionpoints for balloons that did not pop (setting can be edited)
(4) script can be run with a prefixed sequence of explosionpoints or with randomly determined
explosion points for each balloon (editable values)


											  *Task*
Participants are given 30 (default) balloons and are asked up front to indicate how often they want to pump up each balloon.
For each successful pump, they can earn money. However, if a balloon pops before the indicated number of pumps
is reached, participants lose all their potential winnings for the current balloon.


DATA FILE INFORMATION: 
The default data stored in the data files are:

(1) Raw data file: 'autoBART_raw*.iqdat' (a separate file for each participant)

build:							Inquisit build
computer.platform:				the platform the script was run on
date, time, subject:			date and time script was run with the current subjectnumber 
fixed_explosionsequence:		true = runs the same explosion point sequence for all participants (default)
								false = explosion point is randomly determined for each balloon 

blockcode, blocknum:			the name and number of the current block
trialcode, trialnum: 			the name and number of the currently recorded trial
									(!!!Note: not all trials that are run might record data:
									by default: only trial.summary record the necessary data to the data file.
									to change: go to TRIALS and check for each trial whether /recorddata = true or false)
ballooncount:					running total of number of balloons
totalearnings:					sums up the earnings across balloons

explosionpoint:					the number of pumps after which the current balloon pops/would have popped
									Note: if parameters.fixed_explosionsequence = false and balloon did not pop:
									values.explosionpoint is randomly determined afterwards

explosion:						0 = balloon did not explode
								1 = balloon exploded

wantedpumps:					number of times participant WANTS to pump up a balloon (resets for each balloon)
pumpcount:						number of times a balloon actually gets pumped up (resets for each balloon)
pumpresult:						the selected digit from list.pumpresult (only relevant if parameters.fixed_explosionsequence = false)
									Note: if 1 -> balloon pops
timebefore1stpump :				time it takes participant to decide on wanted number of pumps for each balloon 

response:						the participant's response
									Note: only openended.pumpinput could collect response data
latency: 						the response latency
									Note: see values.timebefore1stpump

(2) Summary data file: 'autoBART_summary*.iqdat' (a separate file for each participant)

script.startdate:				date script was run
script.starttime:				time script was started
script.subjectid:				subject id number
script.groupid:					group id number
script.elapsedtime:				time it took to run script (in ms)
computer.platform:				the platform the script was run on
/completed:						0 = script was not completed (prematurely aborted); 1 = script was completed (all conditions run)
totalearnings:					sums up the earnings across balloons

fixed_explosionsequence:		true = runs the same explosion point sequence for all participants (default)
								false = explosion point is randomly determined for each balloon 

ballooncount:					running total of number of balloons
total_explosions :				the number of exploded balloons
nonexplodedballoons : 			the number of balloons out of (default) 30 that did NOT explode

total_wantedpumps:				number of wanted pumps across all balloons (whether or not it came to it)
average_wantedpumps:			the mean pump count that participant wanted to pump up each balloon (includes exploded balloons)
STD_wantedpumps:				estimated Standard Deviation of wanted pumps 

totalpumpcount:					total number of actual pumps across balloons
averagepumpcount:				the mean number of actual pumps per balloon (includes exploded balloons) 
STD_pumpcount:					estimated Standard Deviation of actual pumps (across all balloons, exploded and not)

adjustedtotalpumpcount:			sums up the actual pumps of balloons that did not explode (= the number of pumps that participant indicated for non-exploded balloons)
adjustedaveragepumpcount:		mean number of pumps only of balloons that did not explode (= the number of pumps that participant on average indicated for non-exploded balloons) (=Dependent Variable) 
STD_adjustedpumpcount:			estimated Standard Deviation of actual pumps of non-exploded balloons

as well as respective summary statistics (no STDs) separated for the first 10 trials, the second 10 trials and the last 10 trials


EXPERIMENTAL SET-UP
* 30 ballons to pump up (default)
* participants indicate up front how many times the balloon should be pumped up
* each (successful) pump increases the possible reward gained from this balloon
* the probability of popping is by default 1/128; explosionpoints are either fixed (parameters.fixed_explosionsequence = true) or
random (parameters.fixed_explosionsequence = false)
	=> If explosion points are random, they get determined by runtime by the same algorithm used for the BART.iqx:
	script samples randomly without replacement from a list of numbers 1-128: once the 1 gets sampled, the balloon pops.
	The probability that the 1 gets sampled increases with each successful pump (-> list.pumpresult).

	=> If explosion points are fixed, the original BARTY (youth BART, Lejuez et al, 2007) sequence 
	is used in this script (-> list.fixed_explosionpoints)

* after 30 balloons have been pumped, the experiment is over, and participants are given their final winnings
* script collects several measures that track the responses to the first 10, the second 10, and the third 10 balloons separately

INSTRUCTIONS
Instructions are not original but are based in part on Pleskac et al (2008).
Instructions can be easily edited under section Editable Instructions

EDITABLE CODE:
check under EDITABLE CODE below for (relatively) easily editable parameters, stimuli, instructions etc. 
Keep in mind that you can use this script as a template and therefore always "mess" with the entire code to further customize your experiment.

The parameters you can change are:

/ totalballoons: 					Number of balloons: Default is 30 
										Note: this script includes summary variables that distinguish between the first 10, the second 10, and the third 10 balloons.

/ pumpvalue: 						Payoff per pump: Default is $.05

/ balloonsizeincrement: 			Ballon size increment in pixels (default: 8pixels)
/ showpumpcount: 					Show current pump count
										true: pump count is shown to participant  (default)
										false: pump count is not shown to participant

/ showballooncount: 				Show current balloon count: 
										true: ballon count is shown to participant  (default)
										false: ballon count is not shown to participant

/ showpotentialearnings: 			Show potential earnings for the current balloon (default)

/ revealexplosionpoint:				true = reveals explosionpoints of non-popped balloons (default)
									false = does not reveal explosionpoints of of non-popped balloons

/ fixed_explosionsequence:			true = runs the same explosion point sequence for all participants (default)
									false = explosion point is randomly determined for each balloon 

Durations:
/ pumpduration:						the time it takes for one pump in ms (default: 50ms)
/ revealduration:					the time the explosion point of a non-popped balloon is presented at the end of the sequence

Copyright © Millisecond Software. All rights reserved.
Contact | Terms of Service | Security Statement | Employment