The Multiplayer tool allows you to easily create online multiplayer experiments and studies. In a multiplayer task, several participants take part in a task together, in real time. Currently, multiplayer is limited to Task Builder 2, but support for Game Builder will be coming soon and use a lot of the same concepts.
This page lists all the multiplayer-specific components and how they work. Browse the list on the side to find the prefab or component you're interested in using.
This component allows multiple players to communicate with each other. Text one player sends via the chat box will appear to players in the same room.
To set this up, create a network data field in which to store the chat data.
Each response the participant gives will create a new line in their data, with the reaction time that their message is sent. The Response column will contain the text of that message.
To see the full conversation so far, look to the Network Store column.
In your Network Store column, you will see something like the following:
[{"speaker":6746720,"message":"text"}]
[{"speaker":6746720,"message":"text"},{"speaker":6746719,"message":"word"},{"speaker":6746720,"message":"text2"}]
For each message, first you will see the participant private ID, then, after the word “message” you will see the text the participant entered into the chat box. Messages will be displayed in order they were entered, with the most recent message (the one from the participant that entered the data row) coming last.
Network Data Field
The network data field to store this chat log in.
Tag
The tag for this response.
Input Box Lines
Size of the chat box in number of lines of text.
Enable Reactions
Whether to allow participants to react to other participants' chat messages.
Thumbs Up
Only available if Enable Reactions is toggled on. Allow participants to send a thumbs-up reaction to other participants' chat messages.
Thumbs Down
Only available if Enable Reactions is toggled on. Allow participants to send a thumbs-down reaction to other participants' chat messages.
Position
Position of the center of the bounding box, relative to the center of the container. You can change the x- and y-coordinates. By default, position is set in grid coordinates. To set position in absolute pixels or as a percentage of the screen, add an Advanced Positioning component to the object.
Size
Size of the bounding box. You can change the x- and y-coordinates. By default, size is set in grid coordinates. To set size in absolute pixels or as a percentage of the screen, add an Advanced Positioning component to the object.
This component, when added to an object, allows you to show the object to one of your players, but not the others. This is useful e.g. for response buttons where only one player is supposed to respond, and the other players are supposed to wait.
Note: This component alone doesn't allow one player to advance the screen. You would also need to add a screen component Advance - Multiplayer which allows you to determine who has control over advancing the screen. For example, you would set this component to Player A. Why we need it: As a default, multiplayer tasks will wait for a response from each Player before advancing the screen, therefore if you don't have the Advance - Multiplayer component, the screen will wait for Player B to also press something before the screen continues, and unless you have a continue button or another way to progress the screen for Player B, the Players will get stuck. You want Player A to control advancement so adding this component will ensure that action.
Player
The player to show this object for.
Display video chat on the screen. This will broadcast the current player's video to other players, and show the video stream from other players.
Once you add this component to your task, Gorilla will set up a recording initialisation that checks whether participants are able to record video and audio on their device. You can view this setting under 'Camera (Video and Audio)' in Subsystems. The Camera subsystem must be enabled for this component to function - do not toggle it off unless you have removed all components that require it from your task!
The Camera subsystem used by the Video Chat component enables recording of video and audio. However, if the Microphone subsystem (used by the Audio Recording component) is also toggled on, this will conflict with the Camera subsystem and could disrupt recording. We are looking into this issue and hope to implement a fix soon. In the meantime, if you are using the Video Chat component in a task, make sure the Camera subsystem is toggled on and the Microphone subsystem is toggled off. This means currently you cannot have Video Chat and Audio Recording within the same task.
Hide Current Player
Whether to hide the current player (so only the other players are shown).
Preserve Room Order
If toggled off, the participant's own video will appear first in order. If toggled on, videos will be displayed in an order that matches the order of players within the room.
Position
Position of the center of the bounding box, relative to the center of the container. You can change the x- and y-coordinates. By default, position is set in grid coordinates. To set position in absolute pixels or as a percentage of the screen, add an Advanced Positioning component to the object.
Size
Size of the bounding box. You can change the x- and y-coordinates. By default, size is set in grid coordinates. To set size in absolute pixels or as a percentage of the screen, add an Advanced Positioning component to the object.
Control whether one player can advance the screen for all players, or whether all players need to complete the screen to advance. This component is added to the Screen.
Required Players
Specify whether all players need to complete to advance ('All') or just one player ('First')
Allow only a specific player to advance the screen. This component is added to the Screen.
Player
Which player should advance the screen