Aufbau einer Mehrbenutzerstudie
Wie verbindet man tatsächlich zwei Teilnehmende, damit die Aktionen des einen den Bildschirm des anderen erreichen?
Diese Anleitung behandelt die Mechanik Schritt für Schritt: Aktivieren des Mehrbenutzermodus, Zuweisen von Rollen, Verbinden von Teilnehmenden und Synchronisieren. Für den Einsatz eines Mehrbenutzerdesigns, bewährte Praktiken und bestehende Beispielstudien siehe Mehrbenutzerexperiment-Design.
Die vier folgenden Schritte sind für jede Mehrbenutzerstudie gleich, unabhängig davon, was sie tatsächlich testet. Sobald sie funktionieren, zeigt der Abschnitt „Zusätzliche Beispiele“ die gleichen vier Schritte, die in drei verschiedenen Designs wiederverwendet werden.
Inhaltsverzeichnis
Voraussetzung Wissen
Ein grundlegendes Wissen über Labvanced wird empfohlen, etwa wie Ereignisse funktionieren und wie Variablen verwendet werden, um die unten verwendete Terminologie nachzuvollziehen.
Frames
Das Bauelement, das hält, was Teilnehmende in jedem Moment eines Versuchs sehen.
Ereignisse
Was ein Trigger und eine Aktion sind und wie sie kombiniert werden, um die Logik einer Studie zu erstellen.
Variablen
Was eine Variable ist und wie sie Werte während einer Studie speichert und aktualisiert.
Einrichten des Skeletts
Aktivieren des Mehrteilnehmermodus
Eine Labvanced-Studie ist standardmäßig für einen Teilnehmer ausgelegt. Keine der Mehrbenutzerwerkzeuge, Role_Id, Distribute Variable, Synchronisierung, existieren, bis der Studie mitgeteilt wird, dass sie mit mehr als einer Person gleichzeitig ausgeführt wird.
Öffnen Sie Einstellungen in der rechten Spalte, klicken Sie dann unter Besondere Funktionen auf Mehrbenutzerstudie und klicken Sie auf Transform. Dadurch werden zwei Felder angezeigt: Number of Participants (mindestens 2) und Maximum Parallel Sessions. Siehe Mehrbenutzerstudie für die vollständige Liste der Einstellungen, die dadurch freigeschaltet werden.
Diese Auswahl kann nicht rückgängig gemacht werden (der Bestätigungsdialog selbst ist mit Transform Permanently beschriftet). Entscheiden Sie sich zuerst für die Anzahl der Teilnehmenden und duplizieren Sie die Studie vorab, wenn Sie auch eine Version für einen Teilnehmer möchten.

Zuweisen von Rollen mit Role_Id
Mit aktiviertem Mehrteilnehmermodus hat jeder Teilnehmer immer noch eine identische, undifferenzierte Kopie des Experiments; nichts unterscheidet sie bisher. Role_Id gibt jedem Teilnehmer eine Identität, auf die Sie zugreifen können, ohne persönliche Daten zu sammeln, sodass ihre Experimente beginnen können, unterschiedliche Dinge zu tun.
Fügen Sie ein Ereignis mit einer Trial and Frame Trigger → On Frame Start hinzu, dann eine Control Actions → Requirement Actions (If... Then... Else If) Aktion:
- Anforderung hinzufügen: linke Seite →
Variable→ auswählenRole_Id; Vergleich →equal; rechte Seite →Constant Value→Number→1 - Dann: fügen Sie alle Aktionen hinzu, die auf Rolle 1 zutreffen, zum Beispiel
Set Object Propertyzum Anzeigen eines Zielbilds - Sonst Fall hinzufügen: fügen Sie die Aktionen hinzu, die auf jede andere Rolle zutreffen

Verbinden von Teilnehmenden mit Distribute Variable
Ein anderer Role_Id kann jedem Teilnehmer unterschiedliche Inhalte anzeigen, aber er kann immer noch keine Informationen zwischen ihnen übertragen; das Experiment jedes Teilnehmenden läuft weiterhin isoliert. Distribute Variable ist die einzige Aktion, die einen Wert aus dem Experiment eines Teilnehmenden und in das eines anderen drückt, was tatsächlich dazu führt, dass die Studie gemeinsam erscheint, anstatt nebeneinander.
Je nach Auslöser, der zu Ihrem Design passt, zum Beispiel ein Button Click Trigger oder Enter on Input Trigger, fügen Sie eine Variable Actions → Distribute Variable Action hinzu:
- Wert verteilen an: alle Teilnehmenden oder eine Auswahl
- Zielvariable und Wert wählen: die Variable auf dem Bildschirm des empfangenden Teilnehmers und worauf sie gesetzt werden soll
- Blockieren: aktivieren Sie dies, wenn mehr als ein Teilnehmer gleichzeitig auf dieselbe Zielvariable schreiben könnte

priceArray, mit Block aktiviert und einem Debounce Ratenlimit. Teilnehmende synchron halten
Teilnehmende bewegen sich nicht selbst im gleichen Tempo durch die Studie. Ohne einen Synchronisationspunkt kann ein Teilnehmer einen späteren Frame erreichen, bevor der Wert, auf den er wartet, überhaupt verteilt wurde, und sieht stattdessen einen leeren oder unfertigen Zustand, anstatt die Antwort des anderen Teilnehmenden.
Auf dem Frame, auf dem die Teilnehmenden synchron bleiben müssen, zum Beispiel sollte keiner vor dem anderen vorankommen, aktivieren Sie Sync Frame Start unter den Frame-Einstellungen. Alle warten an diesem Frame, bis alle Teilnehmenden angekommen sind.

Zusätzliche Beispiele
Die vier oben genannten Schritte ändern sich nicht. Was sich ändert, ist, was verteilt wird und wo der Synchronisationspunkt gesetzt wird. Drei ausgearbeitete Variationen, beginnend mit der einfachsten:
- Gemeinsamer Zähler: die minimalistische Version, ein Wert, der zwischen zwei Teilnehmenden synchron gehalten wird
- Aufgabe Direktor-Matcher Beschreibung: ein Teilnehmer beschreibt, der andere identifiziert
- Rundenbasiertes Angebot und Antwort: ein Teilnehmer schlägt vor, der andere akzeptiert oder lehnt ab
Gemeinsamer Zähler
Die einfachste mögliche Version des Skeletts: Beide Teilnehmenden sehen den gleichen laufenden Gesamtbetrag, und jeder kann ihn erhöhen.
- Role_Id: hier nicht benötigt, da beide Teilnehmer gleich handeln.
- Verteilen: bei einem
Button Click Trigger, Wert an alle Teilnehmenden verteilen, ZielvariableSharedCount, Wert =SharedCount + 1. - Synchronisieren: keine notwendig, da es keine Versuchsbgrenze gibt, um die Teilnehmer festzuhalten.
Dies bestätigt, dass der Mehrbenutzermodus und das Verteilen von Variablen funktionieren, bevor rollenspezifische Logik hinzugefügt wird.
Aufgabe Direktor-Matcher Beschreibung
Eine referentielle Kommunikationsaufgabe: Ein Teilnehmer (der Direktor) beschreibt einen Zielpunkt, der andere (der Matcher) identifiziert ihn aus einer Menge von Kandidaten.
- Role_Id:
Role_Id1 erhält das Zielbild und ein Texteingabefeld.Role_Id2 erhält die Kandidatenbilder und kein Ziel. - Verteilen: bei der Enter-Taste des Direktors, den Textwert an eine
DescriptionVariable auf dem Bildschirm des Matchers verteilen, mitBlockaktiviert, da nur eine Beschreibung gleichzeitig gesendet werden sollte. - Synchronisieren: aktivieren Sie
Sync Frame Startauf dem nächsten Versuchsframe, sodass der Direktor nicht weiterkommen kann, bevor der Matcher einen Kandidaten ausgewählt hat.
Dies ist die gleiche Struktur hinter der Bildbeschreibungsdemo.
Rundenbasiertes Angebot und Antwort
Ein wirtschaftlicher Austausch: Ein Teilnehmer schlägt eine Aufteilung eines gemeinsamen Betrags vor, der andere akzeptiert oder lehnt ab.
- Role_Id:
Role_Id1 sieht ein Eingabefeld für die vorgeschlagene Teilung.Role_Id2 sieht nichts, bis ein Vorschlag eintrifft. - Verteilen: bei der Einreichung des Vorschlags des Anbieters, den vorgeschlagenen Wert an eine
OfferVariable auf dem Bildschirm des Antwortenden verteilen. - Synchronisieren: aktivieren Sie
Sync Frame Startauf dem Ergebnisframe, sodass keiner der Teilnehmer das Ergebnis sieht, bevor der Antwortende geantwortet hat.
Dies ist die gleiche Struktur hinter dem Ultimatumsspiel.
Ein echtes Beispiel dieses Musters, das anstelle eines manuell eingegebenen Betrags einen zufällig gezogenen Betrag verwendet: Role_Id gleich 1 löst eine Draw Random Number Aktion (eine diskrete gleichmäßige Ziehung zwischen 50 und 150, gespeichert in amountToSplit), gefolgt von Distribute Variable sendet amountToSplit an alle Teilnehmenden, mit aktiviertem Block.

amountToSplit ausführt, danach Distribute Variable, die an alle Teilnehmenden mit Block aktiviert sendet. Weiterführende Literatur
Mehrbenutzerexperiment-Design
Wann ein Mehrbenutzerdesign verwendet werden sollte, bewährte Praktiken und eine Galerie bestehender Beispiele, die in Labvanced erstellt wurden.
Mehrteilnehmerstudien
Das vollständige Referenzhandbuch zum Aktivieren des Mehrbenutzermodus, vordefinierten Teilnehmergruppen und der Synchronisierung von Frames/Aufgaben.
Ereignis-System: Verteilen von Variablen
Vollständige Parameterreferenz für das Verteilen von Variablen, einschließlich der hier nicht behandelten Rate-Limit-Strategie-Option.