Erstellung einer Multi-User-Studie
Wie verbindet man tatsächlich zwei Teilnehmer, sodass die Aktionen des einen auf dem Bildschirm des anderen landeten?
Diese Anleitung behandelt die Schritt-für-Schritt-Mechanik: Aktivierung des Multi-User-Modus, Zuweisung von Rollen, Verbindung der Teilnehmer und Synchronisation. Für Informationen darüber, wann ein Multi-User-Design verwendet werden sollte, bewährte Praktiken und vorhandene Beispielstudien siehe Multi-User-Experiment-Design.
Die vier Schritte unten sind für jede Multi-User-Studie gleich, unabhängig davon, was tatsächlich getestet wird. Sobald du sie zum Laufen gebracht hast, zeigt der Abschnitt "Zusätzliche Beispiele" die gleichen vier Schritte, die in drei verschiedenen Designs wiederverwendet werden.
Inhaltsverzeichnis
Voraussetzungen
Grundkenntnisse von Labvanced sind ratsam, wie das Funktionieren von Ereignissen und die Verwendung von Variablen, um die unten verwendete Terminologie zu verstehen.
Rahmen
Der Baustein, der das zeigt, was die Teilnehmer in jedem Moment eines Tests 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.
Einrichtung des Gerüsts
Aktivierung des Multi-Teilnehmer-Modus
Eine Labvanced-Studie ist standardmäßig für einen Teilnehmer ausgelegt. Keine der Multi-User-Tools, Role_Id, Distribute Variable, Synchronisation, existiert, bis der Studie mitgeteilt wird, dass sie mit mehr als einer Person gleichzeitig laufen wird.
Öffne Einstellungen in der rechten Spalte, klicke dann unter Besondere Funktionen auf Multi User Study und klicke auf Transform. Dies zeigt zwei Felder: Number of Participants (mindestens 2) und Maximum Parallel Sessions. Siehe Multi User Study für die vollständige Liste der Einstellungen, die dadurch freigeschaltet werden.
Dieser Klick kann nicht rückgängig gemacht werden (der Bestätigungsdialog selbst ist mit Transform Permanently beschriftet). Bestimme zuerst deine Teilnehmerzahl und dupliziere die Studie im Voraus, wenn du auch eine Ein-Personen-Version möchtest.

Zuweisung von Rollen mit Role_Id
Mit aktiviertem Multi-Teilnehmer-Modus läuft jeder Teilnehmer weiterhin eine identische, undifferenzierte Kopie des Experiments; bis jetzt unterscheidet sich nichts. Role_Id gibt jedem Teilnehmer eine Identität, auf die du handeln kannst, ohne persönliche Daten zu sammeln, sodass ihre Experimente angefangen werden können, unterschiedliche Dinge zu tun.
Füge ein Ereignis mit einem 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→ wähleRole_Idaus; Vergleich →equal; rechte Seite →Constant Value→Number→1 - Dann: füge die entsprechenden Aktionen für Rolle 1 hinzu, zum Beispiel
Set Object Property, um ein Zielbild anzuzeigen - Sonst-Fall hinzufügen: füge die für jede andere Rolle geltenden Aktionen hinzu

Verbindung der Teilnehmer mit Distribute Variable
Ein anderer Role_Id kann unterschiedliche Inhalte vor jedem Teilnehmer anzeigen, aber es kann immer noch keine Informationen zwischen ihnen übertragen werden; das Experiment jedes Teilnehmers läuft weiterhin isoliert. Distribute Variable ist die einzige Aktion, die einen Wert aus dem Experiment eines Teilnehmers heraus und in das eines anderen überträgt, was dafür sorgt, dass die Studie sich geteilt anfühlt, anstatt nebeneinander zu laufen.
Auf welchem auch immer Trigger, der zu deinem Design passt, zum Beispiel ein Button Click Trigger oder Enter on Input Trigger, füge eine Variable Actions → Distribute Variable Action hinzu:
- Wert verteilen auf: alle Teilnehmer oder eine Auswahl
- Wähle Zielvariable und Wert: die Variable auf dem Bildschirm des empfangenden Teilnehmers und was sie gesetzt werden soll
- Block: aktiviere dies, wenn mehr als ein Teilnehmer gleichzeitig auf dieselbe Zielvariable schreiben könnte

priceArray, mit Block aktiviert und einer Debounce Ratenlimitierung. Synchronisation der Teilnehmer
Die Teilnehmer bewegen sich nicht 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 unvollendeten Zustand anstelle der Antwort des anderen Teilnehmers.
Im Frame, in dem die Teilnehmer im Gleichschritt bleiben müssen, zum Beispiel sollte keiner vor dem anderen vorangeschritten sein, aktiviere Sync Frame Start unter den Frame-Einstellungen. Alle warten an diesem Frame, bis alle Teilnehmer angekommen sind.

Zusätzliche Beispiele
Die vier oben angegebenen Schritte ändern sich nicht. Was sich ändert, ist, was verteilt wird und wo der Synchronisationspunkt hinkommt. Drei ausgearbeitete Variationen, beginnend mit der einfachsten:
- Geteilte Zähler: die minimalistische Version, ein Wert, der zwischen zwei Teilnehmern synchron gehalten wird
- Direktor-Matcher-Beschreibung Aufgabe: ein Teilnehmer beschreibt, der andere identifiziert
- Rundenbasiertes Angebot und Antwort: ein Teilnehmer schlägt vor, der andere akzeptiert oder lehnt ab
Geteilte Zähler
Die einfachstmögliche Version des Gerüsts: beide Teilnehmer sehen dasselbe laufende Gesamt, und jeder kann es hinzufügen.
- Role_Id: hier nicht benötigt, da beide Teilnehmer gleich handeln.
- Verteilen: bei einem
Button Click Trigger, verteile den Wert auf alle Teilnehmer, ZielvariableSharedCount, Wert =SharedCount + 1. - Synchronisation: keine erforderlich, da es keine Trial-Grenze gibt, um die Teilnehmer festzuhalten.
Dies bestätigt, dass der Multi-Teilnehmer-Modus und die Verteilung von Variablen funktionieren, bevor die rollenspezifische Logik hinzugefügt wird.
Direktor-Matcher-Beschreibung Aufgabe
Eine referenzielle Kommunikationsaufgabe: ein Teilnehmer (der Direktor) beschreibt einen Zielgegenstand, der andere (der Matcher) identifiziert ihn aus einer Gruppe von Kandidaten.
- Role_Id:
Role_Id1 sieht das Zielbild und ein Texteingabefeld.Role_Id2 sieht die Kandidatenbilder und kein Ziel. - Verteilen: bei der Eingabetaste des Direktors, verteile den Textwert auf eine
Description-Variable auf dem Bildschirm des Matchers, mitBlockaktiviert, da nur eine Beschreibung gleichzeitig in Bearbeitung sein sollte. - Synchronisation: aktiviere
Sync Frame Startim nächsten Versuch-Frame, sodass der Direktor nicht weitermachen kann, bevor der Matcher einen Kandidaten ausgewählt hat.
Dies ist die gleiche Struktur hinter der Bildbeschreibung-Demo.
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 den vorgeschlagenen Split.Role_Id2 sieht nichts, bis ein Vorschlag eingeht. - Verteilen: bei dem Übermittlungs-Trigger des Anbieters verteile den vorgeschlagenen Wert auf eine
Offer-Variable auf dem Bildschirm des Antwortgebers. - Synchronisation: aktiviere
Sync Frame Startim Ergebnis-Frame, sodass keiner der Teilnehmer das Ergebnis sieht, bevor der Antwortgeber geantwortet hat.
Dies ist die gleiche Struktur hinter dem Ultimatumspiel.
Ein echtes Beispiel für dieses Muster, bei dem ein zufällig gezogener Betrag statt eines manuell eingegebenen verwendet wird: Role_Id gleich 1 löst eine Draw Random Number-Aktion aus (eine diskrete gleichmäßige Ziehung zwischen 50 und 150, gespeichert in amountToSplit), gefolgt von Distribute Variable, das amountToSplit an alle Teilnehmer sendet, mit Block aktiviert.

amountToSplit ausführt, dann Verteilungsvariable sie an alle Teilnehmer mit Block aktiviert sendet. Weiterführende Literatur
Multi-User-Experiment-Design
Wann man ein Multi-User-Design verwenden sollte, bewährte Praktiken und eine Galerie vorhandener in Labvanced erstellter Beispiele.
Multi-Teilnehmer-Studien
Das vollständige Referenzdokument zur Aktivierung des Multi-User-Modus, vordefinierten Teilnehmergruppen und der Synchronisation von Rahmen/Aufgaben.
Ereignissystem: Verteilungsvariable
Vollständige Parameterreferenz für die Verteilung von Variablen, einschließlich der hier nicht behandelten Rate-Limit-Strategie-Option.