Support Home Game Builder Components Guide

Game Builder Components Guide

  • Overview
  • Prefabs
  • Animated Sprite
  • Renderable (Visual)
  • Sprite
  • Video
  • Text
  • Quad
  • Ellipse
  • Gradient
  • Particles
  • Hotspot
  • Button
  • Audio
  • Audio
  • Background Audio
  • Positioning
  • Container
  • Start Position
  • Start Offscreen
  • Response Handling
  • Click Response
  • Click To Continue
  • Collate Responses
  • Compound Responses
  • Keyboard Response
  • Text Entry
  • Animation
  • Animator
  • Trigger - Animate
  • Physics
  • Collider
  • Collider Cage
  • Control
  • Afterlife
  • Lifetime
  • Section Countdown
  • Start Invisible
  • Show Response
  • Spawn Condition
  • Time Limit Countdown
  • Trigger - Active
  • Trigger - Enabled
  • Trigger - Response
  • Trigger - Response Window
  • Screen
  • Advance - Accuracy
  • Advance - Continue
  • Advance - Response
  • Advance - Time Limit
  • Change Difficulty - Spreadsheet
  • Change Difficulty - Staircase
  • Jump To Row
  • Jump To Spreadsheet
  • Save Data
  • Save Response
  • Save Accuracy
  • Save Reaction Time
  • Scorer
  • Scorer (Multi)
  • Section Time Limit
  • Set Field on Start
  • Screen Feedback Time
  • Time Limit
  • Wait For Time Limit
  • Randomisation
  • Choose Spreadsheet Public ID
  • Random Assignment per Trial
  • Randomise Blocks
  • Randomise Trials
  • Randomise Between Columns
  • Randomise Between Columns (Multi)
  • Randomise Within Column
  • Select Randomised Subset
  • Deprecated
  • Save Data On Response

Overview


This page lists each component and how it works. Browse the list on the side to find the component you're interested in using.

Animated Sprite


This prefab consists of a sprite and an animator, allowing you to add animations to your sprite.

Components: Sprite, Animator

Sprite


The Sprite component allows you to display an image on the screen. Spreadsheet values, Manipulations and Store Fields can be used to populate the image by using the Binding function. For some information about file size and supported formats, have a look at the information in our Technical Checklist.

CONFIGURATION

Texture

The image to use for this sprite.


Size

The size of this sprite.


Origin

The origin of this sprite.

Video


The Video component allows you to display a video on the screen. You can upload the video file within your component or via the Stimuli tab. For some information about file size and supported formats, have a look at the information in our Technical Checklist. You can read some more information about autoplaying Video in our Troubleshooting guide.

CONFIGURATION

Video

The video to display. If you want the video to change, depending on different screens, you can bind this to a value in your Spreadsheet. If you want to set up a Manipulation in your Experiment Tree, you can bind this to a value for a Manipulation. If you want to play a video which has previously been written to the Store, you can bind this to a value from your Store. By default, the video is set to be inactive at the start of the screen, which means that it won't automatically start playing. However, you can use a Trigger - Active component, set to Screen Start, to make the video play from screen start.


Muted

Whether to play the video muted (muted videos will always autoplay). Autoplay means that, when instructed to, Gorilla will try and play the video without any direct action from the participant. Usually, browsers will prevent this from happening on videos that have audio. So, if you had a video unmuted, and set to play from the start or after a fixed amount of time using Trigger - Active, the browser may block it from playing. However, if you have the video set to be muted, then Gorilla triggering the video to play (rather than the participant) should be allowed.


Max Plays

Maximum number of times this video can be played. This does not apply if Controls are active.


Auto Advance

If set, advance the screen when the video finishes playing.


Restart on Deactivate

If the video receives a deactivate command, it will default to pausing the video in place. When then given an activate command, it will resume where the participant left off. When this setting is switched on, it will instead restart the video from the beginning

Size

The size of this sprite.


Origin

The origin of this sprite.

Text


The Text component allows you to display text on the screen. It is usually used to display text stimuli. Spreadsheet values, Manipulations and Store Fields can be embedded into the text.

Samples that use this component:

Wisconsin Card Sorting Game

Tutorials that use this component:

Delayed Reward (Go / No Go)

CONFIGURATION

Text

The text to display.


Text Colour

The color of the text.


Text Size (px)

The size of the text.


Stroke Colour

The color of the text's stroke.


Stroke Thickness

The thickness of the text's stroke, in pixels.


H Align

Horizontal alignment. Use this to align the text to the left, center or right of its bounding box.


V Align

Vertical alignment. Use this to align the text to the top, middle or bottom of its bounding box.


Max Width

The maximum width to restrict this text to (text will be wrapped to fit).


Origin

The origin of the text.

Quad


Render a simple quad (rectangle) with a solid color.

Samples that use this component:

Wisconsin Card Sorting Game

Tutorials that use this component:

Spatial Anticipation Test

CONFIGURATION

Colour

The color of the quad


Radius

The border radius of the quad, in pixels. Use zero for sharp corners.


Size

The size of the quad


Origin

The origin of the quad

Ellipse


Draw an ellipse of a specific size and color.

CONFIGURATION

Colour

The colour of the ellipse


Size

The size of the ellipse


Origin

The origin of the ellipse

Gradient


Draw a gradient from one colour to another

CONFIGURATION

From

The color to start from


To

The color to interpolate to


Direction

The direction of the gradient


Size

The size of the gradient


Origin

The origin of the gradient

Particles


Configure particle effects. These are useful for things like fire, explosions, rain and so on.

Samples that use this component:

Wisconsin Card Sorting Game

Flanker game

Urn Task Game

CONFIGURATION

Image

The texture to use for this particle system


Angle

The angle to emit particles at


Size

The size range for particles, as a proportion of the natural size of the image (where 1 is the natural size, 1.5 is 150% of the natural size, etc). Many effects look better if the particles vary in size a little


Speed

The speed particles should move, in pixels per second


Duration (ms)

How long each particle should live for, in ms


Fade

The point in a particle's lifetime that it should start to fade out. Should be between 0 (fade immediately) and 1 (don't fade). A value of 0.5 would mean to start fading halfway through its lifetime.


Spin

If set, the number of complete revolutions to make every second


Rate

The number of particles to emit per second


Burst

If set, the amount of time to emit for before stopping. Useful for one-off impulses like explosions.


Gravity

If set, the strength of gravity on the particles.


Origin

The origin of this particle system

Hotspot


Special renderable that is not visible, but can be used to define regions of the screen. Use in conjunction with Click Responses, Colliders etc when you need to define a region of screen space without using a visible component (like text or a sprite). Unlike in Task Builder 2 where you need an Overlay component to set relative sizing, in Game Builder you can just make the sizing relative to a parent container.

CONFIGURATION

Size

The size of the hotspot


Origin

The origin of the hotspot

Button


Add a simple text button. This is useful in conjunction with the Click To Continue component for advancing instruction screens.

Samples that use this component:

Iowa Gambling Game

Categorisation Game

Tutorials that use this component:

Delayed Reward (Go / No Go)

CONFIGURATION

Text

The text to display on the button


Text Size (px)

The size of the text on the button


Text Color

The color of the text on the button


Text Color Active

The color of the text on the button when the button is hovered or pressed


Background Color

The background color of the button


Background Color Active

The background color of the button when the button is hovered or pressed


Padding

The amount of padding around the text on the button


Radius

The radius of the rounded corners of the button. Use 0 for sharp corners, and larger values for smoother ones


Origin

The origin of this sprite

Audio


The audio component allows you to play a single audio file. You can upload the audio file within your component or via the Stimuli tab. For some information about file size and supported formats, have a look at the information in our Technical Checklist. You can read some more information about autoplaying Audio in our Troubleshooting guide.

Adding this component to your task will automatically add an audio test before the task begins. This checks whether participants are able to hear sound on their device. To turn this audio check off, go to Subsystems in the Settings tab on the left-hand sidebar and toggle the Audio subsystem off.

Pro Tip

You can make other actions on the screen happen when your audio file starts or finishes. To do this, add a Trigger component to the same object as your Audio component, and select AudioStart or AudioFinish in the Trigger dropdown. You can see this in action in our Loop audio file example, where a Trigger - Active component is used to start playing an audio file again each time it finishes.

Samples that use this component

Audio Transcription

Auditory Sentence Predictability Task

Alternate Task Switching - Gives the participant audio feedback

CONFIGURATION

Audio File

The audio file to play. If you want the audio to change, depending on different screens, you can bind this to a value in your Spreadsheet. If you want to set up a Manipulation in your Experiment Tree, you can bind this to a value for a Manipulation. If you want to play an audio whose filename has previously been written to the Store, you can bind this to a value from your Store.


Play Automatically

If you toggle on this setting, the audio will start playing automatically at the start of the screen. If you do not toggle on this setting, there are a few ways you can activate the audio, for example, via the Trigger Active component added to other objects of your screen. This way you can trigger audio on some event rather than automatically on start. This is helpful, for example, for an audio feedback scenario.


Auto Advance

If set, advance the screen when the audio finishes playing. When you don't have the Auto Advance option turned on, you can advance the screen using a different component, for example, a Click to Continue or just a Click or Keyboard Response.


Always Finish

If set, this setting will ensure that the audio file finishes playing before the screen advances. It is helpful in scenarios when you want to ensure the whole audio clip is played, even after participant submits a response that normally advances the screen. For example, if the screen should advance when participant clicks on an object with a Click To Continue component, the 'Always Finish' setting will ensure that the screen won't immediately move on and cut the audio off, but instead wait for the audio file to finish playing in full before advancing the screen.


Show Controls

Toggle this setting on to enable the standard audio controls (allowing the participant to control play, pause, and seek). If controls are enabled, the Max Plays setting below will not apply.


Max Plays

Maximum number of times this audio clip can be played. This does not apply if the Show Controls setting is toggled on.

Background Audio


The Background Audio component allows you to play audio in the background of a task. You can upload the audio file within the component or via the Stimuli tab. Use this component to start or stop the current background audio.

Adding this component to your task will automatically add an audio test before the task begins. This checks whether participants are able to hear sound on their device. To turn this audio check off, go to Subsystems in the Settings tab on the left-hand sidebar and toggle the Audio subsystem off.

Once started, the background audio will continue to play until it is stopped. This means that you do not need to add a Background Audio component to every screen where you want it to play, just to the screen where you want it to start. The background audio does not loop automatically: once the entire file has played, it will just stop (even if you haven't included the stop setting in your task). If you stop the background audio and then start it again later in the task, it will start playing again from the beginning.

For some information about file size and supported formats, have a look at the information in our Technical Checklist.

Samples that use this component

Digit Span Text Entry (Background Music)

CONFIGURATION

Audio

The audio file to play in the background. If you want the audio to change, depending on different screens, you can bind this to a value in your Spreadsheet. If you want to set up a Manipulation in your Experiment Tree, you can bind this to a value for a Manipulation. If you want to play an audio which has previously been written to the Store, you can bind this to a value from your Store.


Action

Use this setting to decide whether to start or stop the background audio. If you just want the audio to stop, you don't need to add a file into the 'Audio' setting above.

Container


Provides a contain to contain child objects in. Child objects will be positioned relative to the position of their container. Containers can have a size, which in turn allows child objects to express their sizes and positions as proportions of their parent container's size.

Alternatively, if a container's size is set to zero, it is treated as a point. Child objects can still be positioned relative to the container. This is useful for situations where child objects simply need to be placed relative to one another, and moved or animated as a group.

Samples that use this component:

Wisconsin Card Sorting game

Prisoner's Dilemma

CONFIGURATION

Size

The size of this container. Can be express in percentages of the parent's size.


Origin

The origin of this container. Can be express in percentages of the parent's size.

Start Position


When the screen starts, positions the object in this position. This is useful for objects which are meant to start in one place and then animate to their 'natural' place later.

Note that to have an object start offscreen and then animate on, consider using the Start Offscreen component.

CONFIGURATION

Spawnpoint

The name of the object to start at

Start Offscreen


Set this object to start off the screen. This will set the local position of the object such that it is just offscreen on the selected side. You can then animate it back to its origin to have it slide onscreen.

This is useful for objects which you want to start offscreen and then animate on. Rather than placing them offscreen and then animating them on (which is annoying, as generally you want to be able to fine-tune them in their 'onscreen' position), it's easier to add this component and then simply animate them back to their origin point.

Samples that use this component:

Prisoner's Dilemma

Urn Task Game

CONFIGURATION

Side

The side of the screen you want this object to start on

Click Response


Trigger a response when this object is clicked on.

Samples that use this component:

Relational Reasoning

Wisconsin Card Sorting game

Urn Task Game

Tutorials that use this component:

Delayed Reward (Go / No Go)

CONFIGURATION

Response

The response to trigger


Tag

The tag for this response

Click To Continue


You can add the Click to Continue component to an object to be able to advance to the next screen when the object is clicked on. This can be used together with a Button component, another visual component such as an image, or a Hotspot. If you want the click to be timed and scored as a response, consider using the Click Response component instead.

Samples that use this component

Digit Span Text Entry

Wisconsin Card Sorting Task

Primacy and Recency

Memory Intrusion game

Urn Task Game

Collate Responses


This component listens for individual responses and combines them together into a single response. You can set how many responses you would like to collate into a single response, and define the type of responses you would like the component to listen for. For example, if you have a series of Click Responses and a Keyboard Response, you might only want the Collate Responses component to listen for the Click Response tags. To advance the screen, a Time Limit or a Button with a Click to Continue component must also be added.

Collating responses is useful for trials where you want the participant to enter a sequence of responses (e.g. Digit Span, Trail Making) and, unlike Compound Responses, only capture the final one when they are finished.

Samples that use this component:

Anagram Task

Tutorials that use this component:

Collating Responses (Task Builder 2)

CONFIGURATION

Required Tags

Only responses with the set tags will be combined. All other responses will pass through (and be processed by other screen components normally). If unset, all responses will be combined.


Response Count

How many individual responses should make up a single response. Once the combined response incorporates this many responses, further responses will not be added (but the backspace option can be used to remove responses). If zero or blank, will allow any number of responses to be combined.


Joining Character

When combining responses, will join them using this character (e.g. if using a comma, the responses A and B will be combined as A,B). You can type in the character you want Gorilla to use when separating responses.


Backspace Response

Treat this response as a backspace character, and remove the most recent response from the list. Whenever this response is triggered, instead of that response being added to the collated response, the most recent response is removed. You could trigger this using the backspace key by adding a Keyboard Response Component and choosing the backspace key. Then, set the response of this key, for example 'back', and then set the Backspace Response in the Collate Response component to match this. You could set this up in the same way using clickable images, too, ensuring the click response matches the Backspace Response.


Tag

Tag for the final response that is submitted.

Compound Responses


This component will combine individual responses into a single, combined response. You can set how many responses you would like to combine, and define the type of responses you would like the component to listen for. For example, if you have a series of Click Responses and a Keyboard Response, you might only want the Collate Responses component to listen for the Click Response tags. Compound Responses, unlike Collate Responses, captures all responses you have defined. Once the Response Count has been reached, by default the screen will automatically advance.

The Compound Response component is useful for trail-making tasks and creating on-screen keyboards, for example.

Samples that use this component:

Sentence Generation Task

CONFIGURATION

Required Tags

Only responses with the set tags will be combined. All other responses will pass through (and be processed by other screen components normally). If unset, all responses will be combined.


Response Length

The maximum number of responses that can be combined together into a single response. Once this maximum is reached, no further responses will be added.


Joining Character

When combining responses, will join them using this character (e.g. if using a comma, the responses A and B will be combined as A,B). You can type in the character you want Gorilla to use when separating responses.


Backspace Response

Treat this response as a backspace character, and remove the most recent response from the list. Whenever this response is triggered, instead of that response being added to the compound response, the most recent response is removed. You could trigger this using the backspace key by adding a Keyboard Response Component and choosing the backspace key. Then, set the response of this key, for example 'back', and then set the Backspace Response in the Compound Response component to match this. You could set this up in the same way using clickable images, too, ensuring the click response matches the Backspace Response.

Keyboard Response


The Keyboard Response component can be used to trigger responses based on keyboard presses.

This component should be added to the screen where you want your participant to respond.

Samples that use this component

Alternate Task Switching

Dot Probe

N-Back Task (2-Back)

Whole Sentence Reading Task

Flanker Game

Categorisation Game

CONFIGURATION

Mappings

Set of Keys to listen for and Responses to record. Each key you want to listen for can be bound to a response. The response field can be left empty or used to score participants' answers as correct or incorrect, for example, by setting a Scorer in the Screen tab.


Tag

Tag for this response.


Enforce Key Release

If set, Gorilla will require that target keys are released before the screen advances. While this may reduce the impact of participants holding down the key (intentionally or otherwise), it can increase the length of time that the screen is visible for. If screen timing must be tightly controlled, this setting should be left inactive.


Metric on Key Release

If set, Gorilla will trigger an additional metric on key release. This metric will have _keyup appended to the existing response value.

Text Entry


The Text Entry component lets you trigger responses from a text input. Once the input is complete, participants need to click the submit button for their answer to be saved and to be able to move to the next screen.

Samples that use this component:

Primacy and Recency

CONFIGURATION

Placeholder

Label to show above text input.


Text Size (px)

The size of the text on the button.


Input Width

The radius of the rounded corners of the button. Use 0 for sharp corners, and larger values for smoother ones.


Button Text

Label to show on submit button.


Button Text Color

The color of the text on the button.


Button Text Color Active

The color of the text on the button when the button is hovered or pressed.


Button Background Color

The background color of the button.


Button Background Color Active

The background color of the button when the button is hovered or pressed.


Padding

The amount of padding around the text on the button.


Radius

The radius of the rounded corners of the button. Use 0 for sharp corners, and larger values for smoother ones.


Tag

The tag for this response.


Origin

The origin of this sprite.

Animator


Add animation to an object. You can then use the Animation Editor to create animation clips.

The documentation for individual animations is located here:

Game Builder Animation Reference Guide

CONFIGURATION

Play On Start

If set, play this animation automatically at the start of the scene


Animation

List of animation clips. Configure them in the Animation Editor


Always Finish

Toggle this setting on if you want this animation to play to completion before the scene moves on. This will supersede any external method of ending the scene such as a Time Limit. Toggle this setting off if you want the animation to be immediately stopped when the scene ends.

Trigger - Animate


Trigger animations on this object. You can configure animations to play at the start of the screen, after an amount of time, or when a response is received.

Samples that use this component:

Wisconsin Card Sorting Game

Prisoner's Dilemma

Tutorials that use this component:

Delayed Reward (Go / No Go)

CONFIGURATION

Trigger

The type of event or data for the trigger to monitor. When this event/data occurs, the trigger will take its action. Options:

  • Screen Start (triggers on the start of the screen),
  • Time Elapsed (triggers a specified time after screen start),
  • Click (triggers when the object this trigger is attached to is clicked on)
  • Response (triggers when a response is generated)
  • Response Accuracy (triggers when a response with a specified accuracy is generated)
  • Response Tag (triggers when a response with a specific tag is generated)
  • Reaction Time (triggers when a response with a reaction time in a specific range is generated)

Time (ms)

(When using Trigger: Time Elapsed) The length of time after screen start that must elapse before the trigger takes its action.


Response

(When using Trigger: Response) The response value that will cause the trigger to take its action. Default: (Any Response), meaning that any response value will cause the trigger to take its action.


Tag

(When using Trigger: Response Tag) The response tag that will cause the trigger to take its action.


Accuracy

(When using Triggers: Response, Response Tag, Response Accuracy) The accuracy value of the response that will cause the trigger to take its action. This can be set to "Correct", "Incorrect" or "Timed Out".


Condition

(When using Trigger: Reaction Time) The comparison operation (condition) to use when determining if the reaction time is in the desired range. This can be set to

  • Less than, <
  • Less than or equal to, <=
  • Equal to, =
  • Not Equal to, !=
  • Greater than, >
  • Greater than or equal to, >=

Threshold (ms)

(When using Trigger: Reaction Time) The reaction time value to compare to (using the comparison operation defined in the Condition setting above).


Include Actions

(When using Triggers: Response, Response Accuracy, Response Tag, Reaction Time) Toggle this setting on to include responses of the Action response type in the responses considered by the Trigger. Examples of the Action response type are the incremental responses logged by the Compound Responses component, or the continuously logged data from the Slider component when the 'Continuous Polling' setting is toggled on.


Filter

Toggle this setting on to run the Trigger's required event/data through additional filtering. This allows you to trigger an action only if additional criteria are satisfied. For example, you could look up the contents of a field in the Store and trigger the action only if that Field is equal to a certain value.


Field

(Only available if Filter is toggled on) The Store field to look at for the filter.


Condition

(Only available if Filter is toggled on) The comparison operation (condition) to use when determining if the store field satisfies the filtering criteria. This can be set to

  • Less than, <
  • Less than or equal to, <=
  • Equal to, =
  • Not Equal to, !=
  • Greater than, >
  • Greater than or equal to, >=

Value

(Only available if Filter is toggled on) The value to compare the Store field to (using the comparison operator defined in the Filter's Condition setting above).


Self Only

(When using Trigger: Response Accuracy) Toggle this setting on to restrict the responses considered by the Trigger to the responses generated by the object the Trigger is attached to.


Target

The object that should be targeted by the Trigger's action. Default: (Self), meaning that the Trigger will target the object it is attached to. By changing the Target, you can attach a Trigger to one object, but have it trigger an animation on another object.


Include Metric

Toggle this setting on to add a metric (= additional row of recorded data) to the participant's data file when the Trigger takes its action.


Metric

(Only available if Include Metric is toggled on) The value you want to record in the Response column of the participant's data when the Trigger takes its action.


Clip

Select the animation clip you want to play when the specified conditions are satisfied.

Collider


Attach a collider to this object. The collider will take the same shape as the renderable attached to this object. It will collide with other colliders, and can be constrained with the use of a Collider Cage.

CONFIGURATION

Padding

If set, add an amount of padding (in pixels) to the size of the collider


Solid

If set, treat collider as solid

Collider Cage


Constrain all objects with colliders to the bounds of this object's renderable. This is useful for creating an area that objects with colliders cannot fall out of or be dragged out of.

Afterlife


Spawn an object when this object dies. This can be used to daisy-chain effects together, e.g. add it to a firework to spawn an explosion when it dies.

CONFIGURATION

Spawn

The spawnable to spawn

Lifetime


Set an amount of time for an object to live. When the time expires, it will die. Use for objects which should only exist for a certain amount of time (e.g. effects) and combine with an Afterlife component to create chain reactions.

CONFIGURATION

Duration (ms)

Amount of time this object should live for, in ms

Section Countdown


The Section Countdown enables you to display the remaining time for an active Section Time Limit, in seconds or minutes:seconds. Like the Time Limit Countdown component, which is used together with a Time Limit component for the Screen, the Section Countdown is used together with a Section Time Limit. The Section Time Limit can span over several screens, and its countdown can be used to indicate remaining time for the entire section.

CONFIGURATION

Text Colour

The color of the text.


Text Size (px)

The size of the text, in pixels.


Show Partial Time Remaining (ms)

This is helpful if you only want to display the countdown towards the end of the time limit section. Use this to specify the amount, in ms, of the remaining time you want to display the countdown for.


Format

Select the format you want to display the remaining time in. Choose from Seconds or Minutes:Seconds.


Stroke Colour

The color of the text's stroke.


Stroke Thickness

The thickness of the text's stroke, in pixels.


H Align

Horizontal alignment. Use this to align the text to the left, center or right of its bounding box.


V Align

Vertical alignment. Use this to align the text to the top, middle or bottom of its bounding box.


Max Width

The maximum width to restrict this text to (text will be wrapped to fit).


Origin

The origin of the text.

Start Invisible


Set this object to be invisible at the start of the screen. Useful for objects which should start hidden and appear later, controlled by an animation.

Samples that use this component:

Prisoner's Dilemma

Primacy and Recency

Tutorials that use this component:

Delayed Reward (Go / No Go)

Show Response


This component can be used to display the most recent response. This is useful for tasks like Digit Span where you want the participant to be able to see the response they have given so far.

This component is designed to be used with a Text component. You can use it in conjunction with Collate Responses or Compound Responses to show the response that the participant has entered so far.

This is a purely visual component - if you want to save a response to the store to use later, consider using Save Response.

Spawn Condition


Set this object to only spawn under certain conditions. Useful for trials with e.g. variable numbers of distractors, or feedback which only shows according to a manipulation.

CONFIGURATION

Action

Spawn If = the object should spawn if the conditions are met. Do Not Spawn If = the object should not spawn if the conditions are met.


Field

The source of the data to test against the spawn condition, for example, a Spreadsheet column, a field in the Store, or a Manipulation.


Condition

How the contents of the Field should be compared to the Value. Choose the condition logic from the dropdown menu.


Value

The value that is compared to the contents of the Field according to the Condition logic to determine whether or not the object should spawn.

Time Limit Countdown


The Countdown component lets you display the remaining time for the screen, in seconds. Adding a Countdown component to your screen will automatically also add a Time Limit component to the Screen tab.

CONFIGURATION

Text Colour

The color of the text.


Text Size (px)

The size of the text, in pixels.


Show Partial Time Remaining (ms)

This is helpful if you only want to display the countdown towards the end of the time limit of the screen. Use this to specify the amount, in ms, of the remaining time you want to display the countdown for.


Format

Select the format you want to display the remaining time in. Choose from Seconds or Minutes:Seconds.


Stroke Colour

The color of the text's stroke.


Stroke Thickness

The thickness of the text's stroke, in pixels.


H Align

Horizontal alignment. Use this to align the text to the left, center or right of its bounding box.


V Align

Vertical alignment. Use this to align the text to the top, middle or bottom of its bounding box.


Max Width

The maximum width to restrict this text to (text will be wrapped to fit).


Origin

The origin of the text.

Trigger - Active


The Trigger - Active component lets you control the activity state (activated or deactivated) of an object. You can configure this or another object to become active or be deactivated at the start of the screen, after an amount of time, or when a response is received. This is often used for delaying the onset of an object's functionality. While the Trigger - Enabled component relates to things that the participant can interact with, the Trigger - Active component relates to things that happen to the participant (e.g., audios and videos playing).

Pro Tip

You can also use the Trigger - Active component to "chain" audio or video files (i.e. make one start playing only once another has finished playing), or to loop the same audio or video file repeatedly. You can see this in action in our Loop audio file example.

Samples that use this component

Dot Probe

Auditory Sentence Predictability Task

Alternate Task Switching - Uses Trigger - Active to give audio feedback

Tutorials that use this component

Triggering videos to start playing (Task Builder 2)

CONFIGURATION

Trigger

The type of event or data for the trigger to monitor. When this event/data occurs, the trigger will take its action. Options:

  • Screen Start (triggers on the start of the screen),
  • Time Elapsed (triggers a specified time after screen start),
  • Click (triggers when the object this trigger is attached to is clicked on)
  • Response (triggers when a response is generated)
  • Response Accuracy (triggers when a response with a specified accuracy is generated)
  • Response Tag (triggers when a response with a specific tag is generated)
  • Reaction Time (triggers when a response with a reaction time in a specific range is generated)

Additional triggers are available only when the Trigger component is added to an object that includes an Audio or Video component:

  • AudioStart (triggers when the audio starts playing)
  • AudioFinish (triggers when the audio finishes playing)
  • VideoStart (triggers when the video starts playing)
  • VideoFinish (triggers when the video finishes playing)

Time (ms)

(When using Trigger: Time Elapsed) The length of time after screen start that must elapse before the trigger takes its action.


Response

(When using Trigger: Response) The response value that will cause the trigger to take its action. Default: (Any Response), meaning that any response value will cause the trigger to take its action.


Tag

(When using Trigger: Response Tag) The response tag that will cause the trigger to take its action.


Accuracy

(When using Triggers: Response, Response Tag, Response Accuracy) The accuracy value of the response that will cause the trigger to take its action. This can be set to "Correct", "Incorrect" or "Timed Out".


Condition

(When using Trigger: Reaction Time) The comparison operation (condition) to use when determining if the reaction time is in the desired range. This can be set to

  • Less than, <
  • Less than or equal to, <=
  • Equal to, =
  • Not Equal to, !=
  • Greater than, >
  • Greater than or equal to, >=

Threshold (ms)

(When using Trigger: Reaction Time) The reaction time value to compare to (using the comparison operation defined in the Condition setting above).


Include Actions

(When using Triggers: Response, Response Accuracy, Response Tag, Reaction Time) Toggle this setting on to include responses of the Action response type in the responses considered by the Trigger. Examples of the Action response type are the incremental responses logged by the Compound Responses component, or the continuously logged data from the Slider component when the 'Continuous Polling' setting is toggled on.


Filter

Toggle this setting on to run the Trigger's required event/data through additional filtering. This allows you to trigger an action only if additional criteria are satisfied. For example, you could look up the contents of a field in the Store and trigger the action only if that Field is equal to a certain value.


Field

(Only available if Filter is toggled on) The Store field to look at for the filter.


Condition

(Only available if Filter is toggled on) The comparison operation (condition) to use when determining if the store field satisfies the filtering criteria. This can be set to

  • Less than, <
  • Less than or equal to, <=
  • Equal to, =
  • Not Equal to, !=
  • Greater than, >
  • Greater than or equal to, >=

Value

(Only available if Filter is toggled on) The value to compare the Store field to (using the comparison operator defined in the Filter's Condition setting above).


Self Only

(When using Trigger: Response Accuracy) Toggle this setting on to restrict the responses considered by the Trigger to the responses generated by the object the Trigger is attached to.


Target

The object that should be targeted by the Trigger's action. Default: (Self), meaning that the Trigger will target the object it is attached to. By changing the Target, you can attach a Trigger to one object, but have it activate or deactivate another object.


Include Metric

Toggle this setting on to add a metric (= additional row of recorded data) to the participant's data file when the Trigger takes its action.


Metric

(Only available if Include Metric is toggled on) The value you want to record in the Response column of the participant's data when the Trigger takes its action.


Action

Select whether you want to Activate or Deactivate the object when the specified conditions are satisfied.

Trigger - Enabled


Control the state (enabled or disabled) of this object. You can configure this or another object to become enabled or disabled at the start of the screen, after an amount of time, or when a response is received. Often used for controlling whether an object's interactivity can be used. While the Trigger - Active component relates to things that happen to the participant, the Trigger - Enabled component relates to things that the participant can interact with (e.g., keyboard components, buttons, etc.).

Samples that use this component

Posner Cueing Task

Tutorials that use this component

Trigger - Enabled (Game Builder)

CONFIGURATION

Trigger

The type of event or data for the trigger to monitor. When this event/data occurs, the trigger will take its action. Options:

  • Screen Start (triggers on the start of the screen),
  • Time Elapsed (triggers a specified time after screen start),
  • Click (triggers when the object this trigger is attached to is clicked on)
  • Response (triggers when a response is generated)
  • Response Accuracy (triggers when a response with a specified accuracy is generated)
  • Response Tag (triggers when a response with a specific tag is generated)
  • Reaction Time (triggers when a response with a reaction time in a specific range is generated)

Additional triggers are available only when the Trigger component is added to an object that includes an Audio or Video component:

  • AudioStart (triggers when the audio starts playing)
  • AudioFinish (triggers when the audio finishes playing)
  • VideoStart (triggers when the video starts playing)
  • VideoFinish (triggers when the video finishes playing)

Time (ms)

(When using Trigger: Time Elapsed) The length of time after screen start that must elapse before the trigger takes its action.


Response

(When using Trigger: Response) The response value that will cause the trigger to take its action. Default: (Any Response), meaning that any response value will cause the trigger to take its action.


Tag

(When using Trigger: Response Tag) The response tag that will cause the trigger to take its action.


Accuracy

(When using Triggers: Response, Response Tag, Response Accuracy) The accuracy value of the response that will cause the trigger to take its action. This can be set to "Correct", "Incorrect" or "Timed Out".


Condition

(When using Trigger: Reaction Time) The comparison operation (condition) to use when determining if the reaction time is in the desired range. This can be set to

  • Less than, <
  • Less than or equal to, <=
  • Equal to, =
  • Not Equal to, !=
  • Greater than, >
  • Greater than or equal to, >=

Threshold (ms)

(When using Trigger: Reaction Time) The reaction time value to compare to (using the comparison operation defined in the Condition setting above).


Include Actions

(When using Triggers: Response, Response Accuracy, Response Tag, Reaction Time) Toggle this setting on to include responses of the Action response type in the responses considered by the Trigger. Examples of the Action response type are the incremental responses logged by the Compound Responses component, or the continuously logged data from the Slider component when the 'Continuous Polling' setting is toggled on.


Filter

Toggle this setting on to run the Trigger's required event/data through additional filtering. This allows you to trigger an action only if additional criteria are satisfied. For example, you could look up the contents of a field in the Store and trigger the action only if that Field is equal to a certain value.


Field

(Only available if Filter is toggled on) The Store field to look at for the filter.


Condition

(Only available if Filter is toggled on) The comparison operation (condition) to use when determining if the store field satisfies the filtering criteria. This can be set to

  • Less than, <
  • Less than or equal to, <=
  • Equal to, =
  • Not Equal to, !=
  • Greater than, >
  • Greater than or equal to, >=

Value

(Only available if Filter is toggled on) The value to compare the Store field to (using the comparison operator defined in the Filter's Condition setting above).


Self Only

(When using Trigger: Response Accuracy) Toggle this setting on to restrict the responses considered by the Trigger to the responses generated by the object the Trigger is attached to.


Target

The object that should be targeted by the Trigger's action. Default: (Self), meaning that the Trigger will target the object it is attached to. By changing the Target, you can attach a Trigger to one object, but have it enable or disable another object.


Include Metric

Toggle this setting on to add a metric (= additional row of recorded data) to the participant's data file when the Trigger takes its action.


Metric

(Only available if Include Metric is toggled on) The value you want to record in the Response column of the participant's data when the Trigger takes its action.


Action

Select whether you want to Enable or Disable the object when the specified conditions are satisfied.

Trigger - Response


This component allows you to produce a response for events on the screen that do not normally produce a response. For example, you can trigger a response when an Audio file finishes playing, when a certain amount of time has elapsed, or when a participant's reaction time was below or above a certain value.

Define the event that you want to produce the response by selecting an option from the Trigger dropdown. For example, to produce a response when an audio clip finishes playing, add a Trigger - Response component to the object containing your Audio component, and select AudioFinish from the Trigger dropdown. You can indicate what response should be produced in the Response field of the Trigger - Response component.

You can then use the generated response in other components, such as Jump to Row.

CONFIGURATION

Trigger

The type of event or data for the trigger to monitor. When this event/data occurs, the trigger will take its action. Options:

  • Screen Start (triggers on the start of the screen),
  • Time Elapsed (triggers a specified time after screen start),
  • Click (triggers when the object this trigger is attached to is clicked on)
  • Response (triggers when a response is generated)
  • Response Accuracy (triggers when a response with a specified accuracy is generated)
  • Response Tag (triggers when a response with a specific tag is generated)
  • Reaction Time (triggers when a response with a reaction time in a specific range is generated)

Additional triggers are available only when the Trigger component is added to an object that includes an Audio or Video component:

  • AudioStart (triggers when the audio starts playing)
  • AudioFinish (triggers when the audio finishes playing)
  • VideoStart (triggers when the video starts playing)
  • VideoFinish (triggers when the video finishes playing)

Time (ms)

(When using Trigger: Time Elapsed) The length of time after screen start that must elapse before the trigger takes its action.


Response

(When using Trigger: Response) The response value that will cause the trigger to take its action. Default: (Any Response), meaning that any response value will cause the trigger to take its action.


Tag

(When using Trigger: Response Tag) The response tag that will cause the trigger to take its action.


Accuracy

(When using Triggers: Response, Response Tag, Response Accuracy) The accuracy value of the response that will cause the trigger to take its action. This can be set to "Correct", "Incorrect" or "Timed Out".


Condition

(When using Trigger: Reaction Time) The comparison operation (condition) to use when determining if the reaction time is in the desired range. This can be set to

  • Less than, <
  • Less than or equal to, <=
  • Equal to, =
  • Not Equal to, !=
  • Greater than, >
  • Greater than or equal to, >=

Threshold (ms)

(When using Trigger: Reaction Time) The reaction time value to compare to (using the comparison operation defined in the Condition setting above).


Include Actions

(When using Triggers: Response, Response Accuracy, Response Tag, Reaction Time) Toggle this setting on to include responses of the Action response type in the responses considered by the Trigger. Examples of the Action response type are the incremental responses logged by the Compound Responses component, or the continuously logged data from the Slider component when the 'Continuous Polling' setting is toggled on.


Filter

Toggle this setting on to run the Trigger's required event/data through additional filtering. This allows you to trigger an action only if additional criteria are satisfied. For example, you could look up the contents of a field in the Store and trigger the action only if that Field is equal to a certain value.


Field

(Only available if Filter is toggled on) The Store field to look at for the filter.


Condition

(Only available if Filter is toggled on) The comparison operation (condition) to use when determining if the store field satisfies the filtering criteria. This can be set to

  • Less than, <
  • Less than or equal to, <=
  • Equal to, =
  • Not Equal to, !=
  • Greater than, >
  • Greater than or equal to, >=

Value

(Only available if Filter is toggled on) The value to compare the Store field to (using the comparison operator defined in the Filter's Condition setting above).


Self Only

(When using Trigger: Response Accuracy) Toggle this setting on to restrict the responses considered by the Trigger to the responses generated by the object the Trigger is attached to.


Include Metric

Toggle this setting on to add a metric (= additional row of recorded data) to the participant's data file when the Trigger takes its action.


Metric

(Only available if Include Metric is toggled on) The value you want to record in the Response column of the participant's data when the Trigger takes its action.


Emit Response

The response value to emit/send out when the Trigger takes its action.


Emit Response Type

The type of response. This can be Response, Action or Info. This allows you to control what other reactions this response can trigger.

Trigger - Response Window


By default, Gorilla is listening for responses as soon as the screen starts. You can use the Trigger - Response Window component to manually configure Gorilla to start listening for responses at a point you specify.

On your Screen tab, set the Screen Manager Response Window to 'Manual'. Then, in your Objects tab, use the Trigger - Response Window component to open the response window at a more suitable point in the screen. If a participant tries to respond before the response window is open, you'll still be able to see it in your metrics as 'too early', but it won't count as a genuine response and won't be scored as correct/incorrect or advance the screen. This is useful if you don't want to start counting reaction times while, for example, an image or text is displayed, or until an Audio file has finished playing.

Samples that use this component

Flanker

CONFIGURATION

Trigger

The type of event or data for the trigger to monitor. When this event/data occurs, the trigger will take its action. Options:

  • Screen Start (triggers on the start of the screen),
  • Time Elapsed (triggers a specified time after screen start),
  • Click (triggers when the object this trigger is attached to is clicked on)

Additional triggers are available only when the Trigger component is added to an object that includes an Audio or Video component:

  • AudioStart (triggers when the audio starts playing)
  • AudioFinish (triggers when the audio finishes playing)
  • VideoStart (triggers when the video starts playing)
  • VideoFinish (triggers when the video finishes playing)

Time (ms)

(When using Trigger: Time Elapsed) The length of time after screen start that must elapse before the trigger takes its action.


Filter

Toggle this setting on to run the Trigger's required event/data through additional filtering. This allows you to trigger an action only if additional criteria are satisfied. For example, you could look up the contents of a field in the Store and trigger the action only if that Field is equal to a certain value.


Field

(Only available if Filter is toggled on) The Store field to look at for the filter.


Condition

(Only available if Filter is toggled on) The comparison operation (condition) to use when determining if the store field satisfies the filtering criteria. This can be set to

  • Less than, <
  • Less than or equal to, <=
  • Equal to, =
  • Not Equal to, !=
  • Greater than, >
  • Greater than or equal to, >=

Value

(Only available if Filter is toggled on) The value to compare the Store field to (using the comparison operator defined in the Filter's Condition setting above).


Include Metric

Toggle this setting on to add a metric (= additional row of recorded data) to the participant's data file when the Trigger takes its action.


Metric

(Only available if Include Metric is toggled on) The value you want to record in the Response column of the participant's data when the Trigger takes its action.

Advance - Accuracy


This component controls how the screen advances when a response is received. By default, the screen will advance when the first response is received. This response can be any accuracy. When the Advance - Accuracy component is added to the screen, you can choose to only advance the screen when the first correct or incorrect response is received. In order for this to work, you would also need to add a Scorer component.

Samples that use this component:

Relational Reasoning

CONFIGURATION

Advance On

The response accuracy to advance the screen on.

Advance - Continue


This component controls how the screen advances. By default, the screen will advance when the first response is received. When the Advance - Continue component is added to the screen, the screen will only advance when a continue response is received, preventing other responses from advancing the screen.

You can also choose to allow time limits to also advance the screen, while still preventing responses from advancing the screen. You can do this by using an Advance - Time Limit component.

Advance - Response


The Advance - Response component controls how the screen advances when a response is received. By default, the screen will advance when the first repsonse is received. You can use this component to only advance the screen when a specific response is received. You can directly enter this into the Response field of the component, or you can bind the response to the spreadsheet, if you want the response to vary trial by trial.

Alternatively, the Time Limit component or Click To Continue will continue to advance the screen when using this component.

Samples that use this component:

Audio Naming Task

Visual Search Click on Location

CONFIGURATION

Response

Choose the specific response that will trigger the screen to advance.

Advance - Time Limit


This component controls how the screen advances. By default, the screen will advance when the first response is received. When the Advance - Time Limit component is added to the screen, the screen will only advance when a time limit is reached, preventing responses from advancing the screen.

Change Difficulty - Spreadsheet


Use this component to change the difficulty of a task by switching to a different spreadsheet based on a set criteria. You can set conditions for when you would like the difficulty to increase or decrease, reset the accumulated 'score' when the difficulty changes, and whether you would like to preserve the participant's position within the spreadsheet or not.

In your data output, the Spreadsheet column will contain the name of the spreadsheet set at the experiment tree level (for example, by a manipulation). The spreadsheet name in this column will not change as the spreadsheet changes throughout the task. The Current Spreadsheet column will contain the name of the spreadsheet used for the current trial, and will change depending on what spreadsheet the participant is currently on.

Samples that use this component:

Memory Intrusion with Change Difficulty (Spreadsheet)

Tutorials that use this component:

Change Difficulty (Spreadsheet)

Other resources

Increasing task difficulty

CONFIGURATION

Minimum Trials

Use this to set how many trials a participant should complete before switching to another spreadsheet. Leave blank if Gorilla should start testing the switching conditions straight away and on each trial.


Conditions

An array of conditions to test in order to adjust the difficulty, by making the task harder or easier. You can add multiple conditions.

  • Value: Which value to use for comparison. This will usually be a field from the store e.g. using the Save Accuracy component to save Correct and Incorrect answers to a field in the store, and then using the name of that field here.

  • Condition: How to compare the store field to the threshold value. Choose the condition logic from the dropdown menu.

  • Threshold: The value that is tested according to the condition logic to change the difficulty.

  • Direction: If the condition is met, choose whether the difficulty should change to Easier or Harder.


Spreadsheets (easier to harder)

All spreadsheets for this task need to be added here, ordered from easiest to hardest.


When Changing Spreadsheet

A list of fields to update when changing spreadsheet. We often want to change difficulty based on accumulated scores, e.g. number of correct answers. When changing to a new difficulty, we often want to reset these values, as they now pertain to the previous difficulty level we were on.

Note that currently, percentage correct/incorrect cannot be reset. We recommend that you instead use number of correct/incorrect answers. Alternatively, you can save percentage correct/incorrect to a new field on each spreadsheet by specifying the field name in the spreadsheet and using advanced binding.

  • Set Field: Choose which field to update. This will often be the field which stores the score.

  • To Value: State the value which you would like the field to be set to when changing spreadsheets.


Spreadsheet Mode

When changing spreadsheet, Linked mode will preserve the row index between spreadsheets (so if you're on row 6 of SpreadsheetA, and need to go up to SpreadsheetB, you will jump to row 7 of SpreadsheetB). This is useful if you want to maintain a fixed length of trials, and all your difficulty spreadsheets are the same length. Alternatively, Separate mode will keep each spreadsheet's index separate, so if you're on row 6 of SpreadsheetA and need to go up to SpreadsheetB, you will start on row 1.

Change Difficulty - Staircase


Change the difficulty by "Staircasing" a field (or set of fields). Define start values, minimums, and maximums as well as step up and step down values for the fields. Different conditions can be defined for when the field should be adjusted and in which direction.

For example, you might want to adjust the time between two stimuli based on a participant's response time on the previous trial.

Samples that use this component:

Stop Signal Task

Other resources

Staircase with number of reversals

CONFIGURATION

Minimum Trials

Use this to set how many trials that this instance of the staircasing component needs to run before the staircasing implements. Leave blank if Gorilla should start testing the staircasing conditions straight away and on each trial.

For example if you want to step up/down based on the combined accuracy of the previous five trials you would set this to '5'. Then, every five trials, the staircase conditions will be tested.


Conditions

An array of conditions to test in order to adjust the staircase up or down. You can add multiple conditions.

  • Field: The name of the field that contains the values on which to test the staircase conditions e.g. using the Save Accuracy component you could save whether the answer was Correct or Incorrect to a field in the store and then use that field name here.
  • Condition: Drop-down menu containing condition logic.
  • Threshold: The value that is tested according to the condition logic.
  • Direction: If the condition is met, choose whether the staircase should Step Up or Step Down.

Step Parameters

Specify an array of step parameters with details on how to step them if the staircasing conditions are met. You can add multiple instances of Step Parameters.

  • Field to step: Here you can set the name of the field that should change based on the staircasing conditions. The field value will be updated when the staircasing steps up or down, and you can then use it elsewhere in your task or experiment.
  • Start Value: This is the starting value for your field before the first condition is met in the staircasing logic.
  • Step Up: How much the field value should increase when the 'Step Up' condition(s) is met.
  • Step Down: How much the field value should increase when the 'Step Down' condition(s) is met. Note the increase: this means that if you want the field value to decrease, you should enter a negative value here (e.g. -5 to decrease the field by 5).
  • Minimum: The lowest value to step down to.
  • Maximum: The highest value to step up to.

When Changing Step

List of fields to update when stepping up or down. We often want to change difficulty based on accumulated scores, e.g. number of correct answers. When changing to a new difficulty, we often want to reset these values, as they now pertain to the previously difficulty level we were on. You can add multiple instances of this setting.

Note that currently, percentage correct/incorrect cannot be reset. We recommend that you instead use number of correct/incorrect answers.

  • Set Field: The name of the field in the store that you want to change once the step change has been implemented.
  • To Value: The value that the field should be set to after stepping up or down.

Jump to Row


The Jump to Row component is used to control the flow of participants through the spreadsheet. At the end of the current display, instead of progressing to the next row, participants will jump to a different row in the spreadsheet depending on their response or response accuracy. You can also optionally filter by the value of a field in the store.

The row that participants jump to can either be a specific, absolute row or a row relative to the current position i.e. going forward or back X rows.

Samples that use this component:

Sentence Generation Task

Real Effort Number Counting Task

Iowa Gambling Game

Other resources

Adding a back button

Store and re-display multiple responses from a single screen

CONFIGURATION

Destinations

List of criteria and rows to jump participants to.

  • Criteria: Set the conditions under which participants should jump to another spreadsheet row.
    • Any Response (this includes responses from a Continue button, and 'timed out' responses triggered by a timelimit expiring)
    • Response Value - jump only when a particular response is received
    • Response Tag - jump only when a response with a particular tag is received
    • Response Accuracy - jump only when a response with a particular accuracy is received (correct, incorrect, or timed out)
  • Include Actions: Use this toggle to include actions that aren't technically responses (e.g., moving a slider multiple times before pressing Continue to submit the final response) in your criteria for jumping to row.

  • Filter: Use this toggle to create more complex logic using the additional Field, Condition, and Value settings.

    • Field: Select the field that contains the information you want to evaluate.
    • Condition: Select the comparison you want to make between the Field and the Value.
    • Value: Specify the Value that you want to compare the Field to based upon the Condition.
  • Response: Only shown if Criteria = Response Value The value (= actual response content) of the responses you want to trigger jumping to row. This can be entered directly into the component, or bound to the spreadsheet, a manipulation or the Store.

  • Accuracy: Only shown if Criteria = Response Value/Response Accuracy Choose whether you want only correct, only incorrect, only timed out, or all responses to trigger jumping to row.

  • Response Tag: Only shown if Criteria = Response Tag Choose the tag of the responses you want to trigger jumping to row. This can be entered directly into the component, or bound to the spreadsheet, a manipulation or the Store.

  • Row Index: The row index to jump to. This can be absolute or relative i.e. +10 to go ten rows forward, or -10 to go ten rows back.

  • Relative to current row: Sets whether the row index should be interpreted as relative to the current row or not.

Jump to Spreadsheet


Use the Jump to Spreadsheet component to change the spreadsheet within a task. Instead of participants progressing to the next row in the current spreadsheet, they can change to a different spreadsheet depending on their response or response accuracy. You can also optionally filter by the value of a field in the store.

By default, progress in each spreadsheet is stored independently. When a participant switches to a spreadsheet they've never visited before, they will begin on the first row of that spreadsheet. If they switch to a spreadsheet they have been to before, they will continue on the next row of that spreadsheet. This behaviour can be overridden using the Always Return to Start or Match Current Row settings.

In your data output, the Spreadsheet column will contain the name of the spreadsheet set at the experiment tree level (for example, by a manipulation). The spreadsheet name in this column will not change as the spreadsheet changes throughout the task. The Current Spreadsheet column will contain the name of the spreadsheet used for the current trial, and will change depending on what spreadsheet the participant is currently on.

Tutorials that use this component:

Jump to Spreadsheet (Task Builder 2)

CONFIGURATION

Destinations

List of criteria and spreadsheets to jump participants to.

  • Criteria: Set the conditions under which participants should jump to another spreadsheet.
    • Any Response (this includes responses from a Continue button, and 'timed out' responses triggered by a timelimit expiring)
    • Response Value - jump only when a particular response is received
    • Response Tag - jump only when a response with a particular tag is received
    • Response Accuracy - jump only when a response with a particular accuracy is received (correct, incorrect, or timed out)
  • Include Actions: Use this toggle to include actions that aren't technically responses (e.g., moving a slider multiple times before pressing Continue to submit the final response) in your criteria for jumping to spreadsheet.

  • Filter: Use this toggle to create more complex logic using the additional Field, Condition, and Value settings.

    • Field: Select the field that contains the information you want to evaluate.
    • Condition: Select the comparison you want to make between the Field and the Value.
    • Value: Specify the Value that you want to compare the Field to based upon the Condition.
  • Response: Only shown if Criteria = Response Value The value (= actual response content) of the responses you want to trigger jumping to spreadsheet. This can be entered directly into the component, or bound to the spreadsheet, a manipulation or the Store.

  • Accuracy: Only shown if Criteria = Response Value/Response Accuracy Choose whether you want only correct, only incorrect, only timed out, or all responses to trigger jumping to spreadsheet.

  • Response Tag: Only shown if Criteria = Response Tag Choose the tag of the responses you want to trigger jumping to spreadsheet. This can be entered directly into the component, or bound to the spreadsheet, a manipulation or the Store.

  • Spreadsheet: The spreadsheet to jump to. By default, the participant will jump to the current progress they have in that spreadsheet. If they have never visited the spreadsheet before, that will be the first row.

  • Match Current Row: Whether to match the row of the current spreadsheet in the spreadsheet we are moving to. This will overwrite the current progress we have in the new spreadsheet. As this setting is incompatible with Always Return to Start (below), it will be hidden when that setting is on.

  • Always Return To Start: Whether to always return to the start of this spreadsheet. This will overwrite the current progress we have in the new spreadsheet. As this setting is incompatible with Match Current Row (above), it will be hidden when that setting is on.

Save Data


The Save Data component can be used to add or update a value in the Store when specific criteria are satisfied. This could be based on receiving a specific response, the accuracy of that response, or other fields within the Store.

For example, this can be used to award points for correct answers, and subtract points for incorrect answers. To award points based on response accuracy, a Scorer component will also be needed.

If you set up multiple Destinations within a single Save Data component, the order of these Destinations are important. Gorilla will run the Save Data logic from top to bottom. Therefore, you will need to make sure the Destinations that should be executed first are dragged to the top of the list in the component. You can see this in action in our Play multiple audio files example where we evaluate if all three audio files have been played before advancing the screen.

This component replaces the previous Save Data on Response component.

Samples that use this component

Visual Search Click on Location

Learning with Dropout (repeat incorrect trials)

Iowa Gambling Game

Tutorials that use this component

Displaying Score (Task Builder 2)

Delayed Reward (Go / No Go) (Game Builder)

Trigger - Enabled (Game Builder)

Other resources

Delay feedback until next screen

Ending tasks after incorrect responses

Repeating incorrect trials

Running total with live update

Store and re-display multiple responses from a single screen

CONFIGURATION

Destinations

List of locations to save data to.

  • Criteria: Set the conditions under which the data should save to the store.
    • Any Response (this includes responses from a Continue button, and 'timed out' responses triggered by a timelimit expiring)
    • Response Value - save data only when a particular response is received
    • Response Tag - save data only when a response with a particular tag is received
    • Response Accuracy - save data only when a response with a particular accuracy is received (correct, incorrect, or timed out)
  • Include Actions: Use this toggle to include actions that aren't technically responses (e.g., moving a slider multiple times before pressing Continue to submit the final response) in your criteria for saving data.

  • Filter: Use this toggle to create more complex logic using the additional Field, Condition, and Value settings.

    • Field: Select the field that contains the information you want to evaluate.
    • Condition: Select the comparison you want to make between the Field and the Value.
    • Value: Specify the Value that you want to compare the Field to based upon the Condition.
  • Response: Only shown if Criteria = Response Value The value (= actual response content) of the responses you want to trigger saving data. This can be entered directly into the component, or bound to the spreadsheet, a manipulation or the Store.

  • Accuracy: Only shown if Criteria = Response Value/Response Accuracy Choose whether you want only correct, only incorrect, only timed out, or all responses to trigger saving data.

  • Response Tag: Only shown if Criteria = Response Tag Choose the tag of the responses you want to trigger saving data. This can be entered directly into the component, or bound to the spreadsheet, a manipulation or the Store.


  • Operation: Select whether the value should be set, added or subtracted.

    • Value: Set the value to be added or subtracted. This can be entered directly into the component, bound to the spreadsheet or retrieved from the store.

      • Clamp: If the operation is 'Add' or 'Subtract', toggle this on to set an upper and/or lower limit for the updated value.

        • Min: If Clamp is toggled on, you can set a minimum limit for the value.

        • Max: If Clamp is toggled on, you can set a maximum limit for the value.


  • Field: Save to a chosen field in the store.

Save Response


Using this component, you can save a particular response to the store. This stored response can be retrieved later on within the same task, or within a different task later on in the experiment tree. Responses saved to the store using this component can be shown to participants later on. If there are several responses recorded on one screen, you can save all of them or individual ones, but you will need to save them to different Fields in the Store.

Samples that use this component:

Prisoner's Dilemma

Tutorials that use this component:

Show Recent Answer

Response Recap (Task Builder 2)

Other resources

Running total with live update

Showing previous responses

Store and re-display multiple responses from a single screen

CONFIGURATION

Destinations

List of locations to save responses to.

  • Criteria: Choose a criterion to select which responses you want to save.
    • Any Response (this includes responses from a Continue button, and'timed out' responses triggered by a timelimit expiring)
    • Response Value - select particular responses
    • Response Tag - select responses with a particular tag
    • Response Accuracy - select responses with a particular accuracy (correct, incorrect, or timed out)
  • Include Actions: Use this toggle to include actions that aren't technically responses (e.g., moving a slider multiple times before pressing Continue to submit the final response).

  • Filter: Use this toggle to create more complex logic using the additional Field, Condition, and Value settings.

    • Field: Select the field that contains the information you want to evaluate.
    • Condition: Select the comparison you want to make between the Field and the Value.
    • Value: Specify the Value that you want to compare the Field to based upon the Condition.
  • Response: Only shown if Criteria = Response Value The value (= actual response content) of the responses you want to save. This can be entered directly into the component, or bound to the spreadsheet, a manipulation or the Store.

  • Accuracy: Only shown if Criteria = Response Value/Response Accuracy Choose whether you want to save only correct, only incorrect, only timed out, or all responses.

  • Response Tag: Only shown if Criteria = Response Tag Choose the tag of the responses you want to save. This can be entered directly into the component, or bound to the spreadsheet, a manipulation or the Store.

  • Field: Save to a chosen field in the store.

Save Accuracy


Use this component to save a variety of measures of accuracy to specific fields in the store. For example, you can save the number or percentage of correct and incorrect responses, or the number of consecutively correct or incorrect responses. You can also save the total number of trials by selecting Criteria = Any Response and Attribute = Total. You can then, for example, show participants their accuracy at the end of the task by binding a Text component to the same field in the store, or control the flow of the task with Change Difficulty - Staircase.

Samples that use this component

2D Mental Rotation

Alternate Task Switching

Cued Task Switching

Digit Span Number Entry

Dot Probe

Wason Selection Task (Four Card Problem)

Wisconsin Card Sorting Game

Tutorials that use this component

Scoring

Other resources

Ending tasks after incorrect responses

Increasing task difficulty

Repeating incorrect trials

CONFIGURATION

Destinations

List of locations to save accuracy measures to.

  • Criteria: Choose a criterion to select which responses you want to incorporate into your accuracy measure.
    • Any Response (this includes responses from a Continue button, and 'timed out' responses triggered by a timelimit expiring)
    • Response Value - select particular responses
    • Response Tag - select responses with a particular tag
    • Response Accuracy - select responses with a particular accuracy (correct, incorrect, or timed out)
  • Include Actions: Use this toggle to include actions that aren't technically responses (e.g., moving a slider multiple times before pressing Continue to submit the final response) in your accuracy measure.

  • Filter: Use this toggle to create more complex logic using the additional Field, Condition, and Value settings.

    • Field: Select the field that contains the information you want to evaluate.
    • Condition: Select the comparison you want to make between the Field and the Value.
    • Value: Specify the Value that you want to compare the Field to based upon the Condition.
  • Response: Only shown if Criteria = Response Value The value (= actual response content) of the responses you want to incorporate into your accuracy measure. This can be entered directly into the component, or bound to the spreadsheet, a manipulation or the Store.

  • Accuracy: Only shown if Criteria = Response Value/Response Accuracy Choose whether you want to incorporate only correct, only incorrect, only timed out, or all responses into your accuracy measure.

  • Response Tag: Only shown if Criteria = Response Tag Choose the tag of the responses you want to incorporate into your accuracy measure. This can be entered directly into the component, or bound to the spreadsheet, a manipulation or the Store.

  • Attribute: Choose a measure of accuracy from the dropdown list: Total, Percentage, or Consecutive.

  • Field: Save to a chosen field in the store.

Save Reaction Time


Use this component to save participants' response reaction time to specific fields in the store. You can store the current, average, or total reaction time for all or selected responses. These measures can then be displayed to participants by binding a Text component to the field in the store. Also, the reaction time measure in the store can be used in combination with a Jump to Row component, for example, to control the flow of the task based on reaction time. Although we save reaction time to your data by default, you can use this component to save participants' reaction times to the Store so that they are available for use elsewhere in your task or Experiment Tree.

Samples that use this component:

Dot Probe

CONFIGURATION

Destinations

List of locations to save reaction time measures to.

  • Criteria: Choose a criterion to select which responses you want to save the reaction time for.
    • Any Response (this includes responses from a Continue button, and 'timed out' responses triggered by a timelimit expiring)
    • Response Value - select particular responses
    • Response Tag - select responses with a particular tag
    • Response Accuracy - select responses with a particular accuracy (correct, incorrect, or timed out)
  • Include Actions: Use this toggle to include actions that aren't technically responses (e.g., moving a slider multiple times before pressing Continue to submit the final response).

  • Filter: Use this toggle to create more complex logic using the additional Field, Condition, and Value settings.

    • Field: Select the field that contains the information you want to evaluate.
    • Condition: Select the comparison you want to make between the Field and the Value.
    • Value: Specify the Value that you want to compare the Field to based upon the Condition.
  • Response: Only shown if Criteria = Response Value The value (= actual response content) of the responses you want to save the reaction time for. This can be entered directly into the component, or bound to the spreadsheet, a manipulation or the Store.

  • Accuracy: Only shown if Criteria = Response Value/Response Accuracy Choose whether you want to save reaction time for only correct, only incorrect, only timed out, or all responses.

  • Response Tag: Only shown if Criteria = Response Tag Choose the tag of the responses you want to save the reaction time for. This can be entered directly into the component, or bound to the spreadsheet, a manipulation or the Store.

  • Attribute: Choose the reaction time measure you want to save from the dropdown list: Current, Average (Mean), or Total.

  • Field: Save to a chosen field in the store.

Scorer


The scorer component is used to record participant responses as correct or incorrect. The accuracy of responses given via Click Response, Keyboard Response and other Response components can be recorded using the Scorer.

The correct answer can be entered directly into the Correct Answer field of the component. If the correct answer changes trial by trial, then the component can be bound to the spreadsheet.

If you have multiple answers that are considered correct, use the Scorer (Multi) component instead.

Samples that use this component:

2D Mental Rotation

Wisconsin Card Sorting Task

Relational Reasoning

Prisoner's Dilemma

Memory Intrusion Game

Tutorials that use this component:

Scoring Tutorial (Task Builder 2)

CONFIGURATION

Correct Answer

Correct answer. Responses matching this will be considered correct.

Scorer (Multi)


The Scorer (Multi) component allows you define multiple correct answers. This could allow participants to choose one of multiple possible correct answers, or choose all correct answers presented on a screen, for example using Click Response components. On screens where you collect more than one response, it also allows you to define correct answers separately for different responses by using the 'And includes Tag' setting.

The correct answers can be entered directly into the Correct Answers field, where you can add as many as you want, or bound to the spreadsheet if the correct answers change trial by trial. Once you have added scoring, you can use a Feedback component to present a green tick when correct, or red cross when incorrect.

By default, scoring is case-sensitive. To ignore case when scoring correct answers, toggle off the 'Case-sensitive' setting. You can configure this separately for each defined correct answer.

If you only have one response on the screen, with only one answer that is considered correct, use the Scorer component instead.

Samples that use this component:

Sentence Generation Task (one response per screen, multiple correct answers)

Cloze Task (multiple responses on one screen, each with their own correct answer)

CONFIGURATION

Correct Answers

Correct answers. Responses matching any of these will be considered correct.


Case-sensitive

Toggle this setting off to ignore case when marking answers as correct or incorrect. By default, this setting is toggled on, meaning that only answers that match the content and case of the correct answer will be scored as correct.


And includes Tag

Select a response tag from the dropdown. The current Correct Answer will be defined as correct only for responses that have this tag.

Use this setting together with response tags to define different correct answers for different responses on the screen. You can see how to set this up in the Cloze Task sample linked above. Find out more about response tagging in our Response Processing Guide.

Section Time Limit


The Section Time Limit component allows you to set a time limit for a section of a task or game. For example, this could be for a series of screens in a display, scenes in a game, or trials in a task.

Set the mode to 'Start' to begin the Section Time Limit. The duration of the time limit will be set here.

On another screen, add a Section Time Limit and set the mode to 'Check'. This will review the remaining time on the Section Time Limit. If the time limit expires, it will emit the set response with the chosen tag. This response can then be used in other screen components, such as Jump to Row, to control how the task behaves when the time limit expires.

Use the 'Pause' mode to pause the time limit on a screen. The time spent on this screen won't count towards the participant's time in the section.

You can use a Section Countdown component, in conjunction with a Section Time Limit in Check mode, to display the time remaining in the Section Time Limit.

Samples that use this component:

Sentence Generation Task

Tutorials that use this component:

Section Time Limit with Countdown

CONFIGURATION

Screen Timelimit Actions

The set of screen timelimit actions to run on this screen. These should be placed in the order you want them to run.


Mode

The Mode of operation for the component. Set to Start for a screen where the Section Timelimit should start running, Pause if you want to pause the timer, Check if you want to check if the timer has expired, and Stop if you want to stop the current section timelimit completely.


Time Limit (ms)

When using Start mode, how long the section will last in milliseconds.


Response

When using Check mode, the response value that should be generated when the Section Time Limit expires. Other components (such as Jump to Row) can listen for this response, triggering the desired behaviour for a Section Time Limit expiring.


Tag

When using Check mode, the tag for the response generated when the Section Time Limit expires.


Strict

When using Check mode, toggle this setting on to make the section time limit resolve as soon as the time limit expires. Otherwise, it will wait until the end of the current screen.

Set Field on Start


Initialise a field in the store on screen start. Allows you to give one or more fields in the store a value at the beginning of the screen. This is useful for setting a store field to a starting value before using it in staircasing with the Change Difficulty - Staircase component, for example. You can additionally control the starting value of the field with a spreadsheet or manipulation, for example.

Samples that use this component

Visual Search Click on Location

Other resources

Running total with live update

Stable random assignment

Store and re-display multiple responses from a single screen

CONFIGURATION

Field

The field to set.


Value

The value to set it to.

Screen Feedback Time


Adds an amount of time at the end of the screen (once all responses have been received and the screen is ready to advance). This is normally to allow any feedback to show for a bit longer, and avoid snap transitions to the next screen.

Samples that use this component

N-Back Task (2-Back)

Simon Task (Stimulus-Response Compatibility)

Urn Task Game

CONFIGURATION

Feedback Time (ms)

The amount of time to allow for feedback to display

Time Limit


The Time Limit component allows you to add a time limit to your scene which will automatically advance a participant to the next scene after a set amount of time. This can be used to limit the presentation time of stimuli, or control how long participants have to provide a response.

Samples that use this component

Primacy and Recency

CONFIGURATION

Time Limit (ms)

Time limit - how long the screen will last before advancing automatically.


Treat As Response

If set, will trigger a response when the time limit is reached, rather than just a TimedOut response.


Response

The response to send when the time limit is reached. Use for e.g. go/no-go paradigms to define the 'no-go' response.


Response Tag

Tag for non-response / no-go response.

Wait For Time Limit


The Wait For Time Limit component is designed to be used in combination with a Time Limit component to enable Go/No Go tasks. When this component is added to the screen, the screen will not advance automatically as soon as a response is received. Instead, it will wait for the remainder of the time limit, if there is one set, before advancing the screen.

Samples that use this component

Mackworth Clock Task

Spatial N-Back Task

Simon Task (Stimulus-Response Compatibility)

Choose Spreadsheet Public ID


This randomisation component allows you to assign participants to spreadsheets by matching their Public ID. To use this component, the task must have multiple spreadsheets, and you must use a recruitment policy where you define a set of Public IDs. For example, Email Shot, Email ID and Supervised policies are ideal policies for this randomisation.

Samples that use this component

Prisoner's Dilemma (Public ID)

Tutorials that use this component

Choose Spreadsheet (Public ID)

CONFIGURATION

Spreadsheets

Match

Enter the stem of the ID to match on. If any part of this is present in the Public ID, then participants will be assigned to that spreadsheet.

Spreadsheet

Choose from the dropdown, which spreadsheet participants should be assigned to for this Match condition.

Random Assignment per Trial


Randomly assign values to the cells in a column, based on set of probabilities/ratios (expressed as percentages). This could allow you to populate the Win/Lose distribution in a probablistic learning game, for example.

You can define multiple assignment sets, allowing you to make assignments to multiple columns in the spreadsheet.

First, you define the conditions for the assignment. This will either be a cell in a specific column being non-empty or having a specific value. Then, setup your assignments: a grouping of value/percentages where each value is an assignable value for a cell in the column appearing the given percentage of times throughout the column.

Samples that use this component

Utility Task

CONFIGURATION

Assignment Sets

A group of settings which indicate a unique assignment.


Condition Column

The column we should view when deciding if this row should be subject to a random assignment.


Condition Method

The method we should use. Not Empty indicates that the current cell of the Condition Column must have at least a value. Matches indicates it must have a specific value.


Condition Value

The specific value the cell must have. Only relevant when using the Matches Condition Method.


Assignment Column

The column we'll make random assignments to.


Assignments

The group of assignments: pairs of percentage/value data.


Value

The value to assign.


Ratio

In what percentage of rows the value should appear.

Randomise Blocks


Randomise whole blocks of trials within the spreadsheet. This can be useful for counterbalancing blocks of trials, so that one block of trials is not always the first one to be shown to participants.

A single column is chosen, and all continuous rows with the same value are considered to be a single block. The order of the blocks is then randomised.

Samples that use this component

Hebb Learning

CONFIGURATION

Column

Which column to randomise on.

Randomise Trials


Randomise individual rows within a spreadsheet. This is the most common randomisation to make sure individual trials appear in a different order for each participant. A column is chosen, and all rows with matching values for that column are then randomise between each other.

Samples that use this component

Audio Transcription

Picture Superiority Effect

Random Number Recall

Visual Search

Flanker Game

Categorisation Game

CONFIGURATION

Column

Which column to randomise on.

Randomise Between Columns


Randomise content between spreadsheet columns. When selecting two or more spreadsheet columns, the non-empty values between those columns will be randomised on a trial by trial basis. This can be useful when you have, for example, two images as stimuli, but you want them to appear simultaneously and randomly on the right or the left side of the screen.

Samples that use this component

2D Mental Rotation

Random Number Recall

Wisconsin Card Sorting Task

Other resources

Stable random assignment

CONFIGURATION

Column

Column containing content to be shuffled between other columns.

Randomise Between Columns (Multi)

Randomise content between multiple sets of spreadsheet columns. Similar to the Randomise Between Columns component but allows you to define multiple sets of columns to randomise content between. For an individual set, when selecting two or more spreadsheet columns, the non-empty values between those columns will be randomised on a trial by trial basis.

Samples that use this component

There are currently no samples using this component.

CONFIGURATION

Chosen Columns

Set of columns containing content to be shuffled between other columns.

Randomise Within Column

Randomise the content of an individual spreadsheet column. Multiple spreadsheet columns can be selected. For each column selected, all the non-empty contents of this column will be randomised between each other.

Samples that use this component

Picture Superiority Effect

CONFIGURATION

Columns to Randomise

A set of columns whose contents should be randomised, independently.


Column

A column to randomise the contents of.

Select Randomised Subset


Select a randomised subset of a group of trials. Define a column and a value, that are used to indicate the set of trials to draw from and then a number to indicate the number of trials to select for the subset. For example, if you chose the column 'Display', the value 'trial' and the number 10, the script will collect all of the rows with the value 'trial' in the 'Display' column, shuffle them and then pick 10 and read them back into the spreadsheet. You can select multiple subsets by using the + symbol to add another set of options. Each subset must be contiguous and each subset must be distinct from other subsets.

Samples that use this component

Navon Global Precedence

CONFIGURATION

Column

Which column contains the target value defining the trial set.


Value

The value from the column that defines the trial set.


Number

The number of trials to be chosen for the subset.

Save Data On Response


This functionality is deprecated and will not appear unless previously set in a task.

Please use the Save Data component instead.

The Save Data on Response component can be used to add or update a value in the store when a particular response is triggered. For example, this can be used to award points for correct answers, and subtract points for incorrect answers. To award points based on response accuracy, a Scorer component will also be needed.

CONFIGURATION

Destinations

List of locations to save responses to.

  • Response: Set the response for the component to listen for. This can be entered directly into the component, or bound to the spreadsheet, a manipulation or the Store.

  • Accuracy: Choose accuracy of response from the dropdown menu

  • Operation: Select whether the value should be added or subtracted.

  • Value: Set the value to be added or subtracted. This can be entered directly into the component, bound to the spreadsheet or retrieved from the store.

  • Field: Save this to a chosen field in the store.