Several Gorilla tools allow you to create Multiplayer tasks, where several participants take part in a task together, in real time. These can either be more 'turn-based', where one participant takes an action and then another participant responds, or 'real-time', where participants perform actions simultaneously.
The first thing to do in your multiplayer task is to enable multiplayer - go to the Multiplayer tab and click "Enable Multiplayer". You also need to specify how many players are needed for your task - Gorilla supports tasks with up to 8 players. You will ususally want to keep player numbers small (think 2-4) as tasks with larger player numbers are inherently more susceptible to participants dropping out (and therefore leaving the others without enough people to continue).
You will notice that your spreadsheet automatically gains some new columns, one for each player (Player A, Player B and so on):
You create multiplayer tasks just as you would a standard, single-player task - you can use all the same components to build your task that you would normally use. In addition, you gain access to the Multiplayer component, which simply allows you to control which player an object is enabled for. This allows you to only enable certain objects (e.g. response buttons) for a specific player.
For example, consider a task where Player A has to think of an animal, and Player B guesses which one Player A chose. Player A then says whether Player B was correct or not:
There are objects that are always visible, and some that should only be available to a specific player. The Multiplayer component allows us to control this:
The other key distinction for each screen is how it advances. There are two modes you can choose from:
This is the default option, and is suitable for instructions screens or similar where each player needs to be happy to advance in order to continue. Make sure that all players have some way of advancing the screen (e.g. with a continue button). Once all players have advanced the screen, it will move on.
By adding a Advance - Multiplayer component to the screen, you can instead allow the screen to progress when just the first response is received. This is suitable for screens where it is a single player's turn, and once they have completed their action, the screen should advance.
Imagine you have 6 participants in your experiment: let's call them p101, p102, p103, p104, p105 and p106. When participants are matched together in your experiment, they are assigned to the same room. A room is simply a collection of participants who have been matched together. Within this room, the players have a fixed, canonical order. The order itself is arbitrary (we actually apply some randomisation to ensure that participants aren't simply matched in the order that they arrive).
When paired up into rooms of two players each, they would look something like this:
When you design your task, you use the Multiplayer component to control whether a particular object is only enabled for Player A, Player B, and so on.
In your spreadsheet, you can enter values into the Player columns to assign which player in the room gets to be Player A for that row of the spreadsheet. Entering a 1 for Player A and a 2 for Player B means that Player 1 in the room will be Player A and the Player 2 in the room will be Player B.
If you reverse them (so Player A has a 2 and Player B has a 1) then Player 2 in the room gets to be Player A and Player 1 in the room gets to be Player B. This allows you to use the spreadsheet to define turn-taking, and ensure that all participants have been able to perform each role.
In order to simulate real participants, you want to preview your task as many times as you have players, so that you can see them all at the same time. Because you can't be logged in as two different participants in the same web browser, the easiest way to do this is to log in to your Gorilla account with two separate browsers (or however many you need), and create separate previews, one in each.
When you click 'Preview' for a multiplayer task, you will be asked if you want to create a room or join a room. In order to join the separate together, create a new room in one, and copy and paste the room id into the other. This will pair the preview participants so that they are playing together.
In order to add your multiplayer task into an experiment, you will need to define how participants are matched to each other. The matchmaking happens in a Lobby, and players who are matched together are allocated to the same Room:
When we previewed, we just created a room manually, but in the experiment, we will use a Lobby node to create rooms for us. The Lobby node simply needs to know how many players should be in each room - this should be the same number that your task requires, that you specified earlier:
When participants reach a Lobby node, they will wait there until they have been matched with enough other participants to create a complete room. Once they have been matched, they will all advance to the next node in the tree. Usually, this will be your multiplayer task, to ensure they all start it at the same time and don't need to wait for one another.
Participants will stay in the same room until they next encounter a Lobby node. For any multiplayer tasks they encounter in the experiment, they will play with the other participants in their room. This means that you can add more than one multiplayer task to your experiment, and your participants will remain with the same other participants throughout. If you wish to mix your participants up again, simply add another Lobby node, which will remove participants from their existing rooms and re-match them to new ones.
To get started with the Multiplayer tools, follow our Step-By-Step Guide to build the Ultimatum Game.