labvanced logoLabVanced
  • Research
    • Publications
    • Researcher Interviews
    • Use Cases
      • Developmental Psychology
      • Linguistics
      • Clinical & Digital Health
      • Educational Psychology
      • Cognitive & Neuro
      • Social & Personality
      • Arts Research
      • Sports & Movement
      • Marketing & Consumer Behavior
      • Economics
      • HCI / UX
      • Commercial / Industry Use
    • Labvanced Blog
    • Services
  • Technology
    • Feature Overview
    • Code-Free Study Building
    • Eye Tracking
    • Mouse Tracking
    • Generative AI Integration
    • Multi User Studies
    • More ...
      • Reaction Time/Precise Timing
      • Text Transcription
      • Heart Rate Detection (rPPG)
      • Emotion Detection
      • Questionnaires/Surveys
      • Experimental Control
      • Data Privacy & Security
      • Desktop App
      • Mobile App
  • Learn
    • Guide
    • Videos
    • Walkthroughs
    • FAQ
    • Release Notes
    • Documents
    • Classroom
  • Experiments
    • Cognitive Tests
    • Sample Studies
    • Public Experiment Library
  • Pricing
    • Licenses
    • Top-Up Recordings
    • Subject Recruitment
    • Study Building
    • Dedicated Support
    • Checkout
  • About
    • About Us
    • Contact
    • Downloads
    • Careers
    • Impressum
    • Disclaimer
    • Privacy & Security
    • Terms & Conditions
    • Third-Party Licenses
  • Appgo to app icon
  • Logingo to app icon
Learn
Guía
Videos
Guías paso a paso
Preguntas Frecuentes
Archivo de Boletines
Documentos
Aula
  • 中國人
  • Deutsch
  • Français
  • Español
  • English
  • 日本語
Guía
Videos
Guías paso a paso
Preguntas Frecuentes
Archivo de Boletines
Documentos
Aula
  • 中國人
  • Deutsch
  • Français
  • Español
  • English
  • 日本語
  • Guía
    • COMENZANDO

      • Editor de tareas
      • Marcos
        • Marco de Canvas
        • Marco de Página
        • Marco de Sitio Web
      • Cronograma del ensayo
      • Presentación de estímulos
      • Corrección de la respuesta
      • Objetos
      • Eventos
      • Variables
      • Asistente de tareas
      • Sistema de ensayo
      • Diseño del experimento
        • Crear un Estudio
        • Patrones de Marco de Datos
        • Diseño de Experimentos Multiusuario
        • Diseño de Experimentos Longitudinales
    • TEMAS DESTACADOS

      • Aleatorización y balance
      • Seguimiento ocular
        • Presentación de Estímulos en una Tarea de Seguimiento Ocular
        • Cómo Elegir Configuraciones de Calibración de Seguimiento Ocular
        • Configuración del Seguimiento Ocular en una Tarea
        • Grabación y Exportación de Datos de Mirada
        • Usando Formas como Áreas de Interés (AOI) para Seguimiento Ocular
        • La Experiencia de Calibración del Participante
      • Puente Web
        • Selección de AOIs de Sitio Web | Anclar, Ajustar y Verificar el Seguimiento de AOI
        • Seguimiento del Comportamiento del Ratón en un AOI del Sitio Web | Guía del Puente Web
      • Cuestionarios
      • Aplicación de escritorio
      • Estudios de muestra
      • Reclutamiento de participantes
      • Acceso a API
        • REST API
        • API de Webhook
        • API de WebSocket
      • Otros temas

        • Tiempos de estímulo precisos
        • Estudios de múltiples usuarios
        • Seguimiento de Cabeza en Labvanced | Guía
    • PESTAÑAS PRINCIPALES DE LA APLICACIÓN

      • Descripción general: Pestañas principales
      • Tablero
      • Mis estudios
      • Estudios compartidos
      • Mis archivos
      • Biblioteca de experimentos
      • Mi cuenta
      • Licencia y servicios
    • PESTAÑAS DEL ESTUDIO

      • Descripción general: Pestañas específicas del estudio
      • Diseño del estudio
        • Tareas
        • Bloques
        • Sesiones
        • Grupos
      • Editor de tareas
        • Controles de Tarea
        • El Sistema de Pruebas
        • Tipos de Marcos
        • Objetos
        • Tablas de Propiedades de Objetos
        • Variables
        • Tabla de Variables del Sistema
        • El Sistema de Eventos
        • Funciones del Editor de Texto
        • Opciones de Seguimiento Ocular en el Editor de Tareas
        • Seguimiento de Cabeza en una Tarea
        • Estudios Multiusuario
      • Configuraciones
      • Variables
      • Medios
      • Textos y traducción
      • Lanzar y participar
      • Gestión de sujetos
      • Vista de datos y exportación
        • Vista de Datos y Selección de Variables y Tareas (Versión ANTIGUA)
        • Accediendo a Grabaciones (Versión ANTERIOR)
  • Videos
    • Descripción General del Video
    • Introducción a Labvanced
    • Creando Tareas
    • Videos de Elementos
    • Eventos y Variables
    • Temas Avanzados
  • Guías
    • Introducción
    • Tarea Stroop
    • Tarea de Decisión Léxica
    • Tarea de Señalización de Gaze de Posner
    • Paradigma de Parpadeo de Ceguera por Cambio
    • Estudio de Seguimiento Ocular
    • Estudio de Seguimiento Ocular en Infantes
    • Estudio de Captura de Atención con Seguimiento del Ratón
    • Presentación Visual Serial Rápida
    • Estudio de ChatGPT
    • Demo de Seguimiento Ocular: SVG como AOIs
    • Demo de Múltiples Usuarios: Mostrar los Cursores de los Sujetos
    • Controlador de Gamepad / Joystick - Configuración Básica
    • Estudio de Aplicación de Escritorio con Integración de EEG
    • Balanceo de Grupos entre Sujetos y Configuración de Variables
    • Construyendo un Estudio Multijugador
    • Guía de Seguimiento Ocular en Marco de Website
    • Seguimiento Ocular Condicional con Webcam
    • Construcción de Estudio de Segmentación de Texto
  • FAQ
    • Características
    • Política de Soporte y Directrices
    • Seguridad y Privacidad de Datos
    • Licencias
    • Precisión de Labvanced
    • Uso Programático y API
    • Uso de Labvanced Sin Conexión
    • Resolución de Problemas
    • Preguntas sobre la Creación de Estudios
  • Archivo de Boletines
  • Documentos
  • Aula

Construyendo un Estudio Multijugador

¿Cómo puedes conectar realmente a dos participantes para que las acciones de uno lleguen a la pantalla del otro?

Esta guía cubre la mecánica clic a clic: habilitar el modo multijugador, asignar roles, conectar participantes y mantenerlos sincronizados. Para saber cuándo usar un diseño multijugador, mejores prácticas y estudios de ejemplo existentes, consulta Diseño de Experimento Multijugador.

Los cuatro pasos a continuación son los mismos para cada estudio multijugador, independientemente de lo que esté probando. Una vez que los tengas funcionando, la sección "Ejemplos Adicionales" muestra los mismos cuatro pasos reutilizados en tres diseños diferentes.

Tabla de Contenidos

  • Conocimientos Previos
  • Configurando la Estructura
    • Habilitar el modo de múltiples participantes
    • Asignar roles con Role_Id
    • Conectar participantes con Distribute Variable
    • Mantener a los participantes sincronizados
  • Ejemplos Adicionales
    • Contador Compartido
    • Tarea de Descripción de Director y Coincidente
    • Oferta y Respuesta por Turnos
  • Lecturas Adicionales

Conocimientos Previos

Se recomienda un conocimiento fundamental de Labvanced, como cómo funcionan los eventos y cómo se utilizan las variables, para seguir la terminología utilizada a continuación.

Ilustración de los tres tipos de marcos en Labvanced: Marco de Canvas, Marco de Página y Marco de Sitio Web

Marcos

El bloque de construcción que sostiene lo que los participantes ven en cada momento de un ensayo.

Ilustración del sistema de eventos en Labvanced, mostrando un desencadenador y una acción combinando para construir la lógica de un estudio

Eventos

Qué es un desencadenador y una acción, y cómo se combinan para construir la lógica de un estudio.

Ilustración conceptual de variables en Labvanced como contenedores etiquetados que sostienen diferentes tipos de datos

Variables

Lo que es una variable y cómo almacena y actualiza valores durante un estudio.

Configurando la Estructura

Habilitar el modo de múltiples participantes

Un estudio de Labvanced está construido para un participante por defecto. Ninguna de las herramientas de multijugador, Role_Id, Distribute Variable, sincronización, existe hasta que se le dice al estudio que funcionará con más de una persona a la vez.

Abre Configuración en la columna derecha, luego bajo Funciones Especiales, accede a Estudio Multijugador y haz clic en Transform. Esto revela dos campos: Number of Participants (mínimo 2) y Maximum Parallel Sessions. Consulta Estudio Multijugador para la lista completa de configuraciones que esto desbloquea.

Este clic no se puede deshacer (el cuadro de diálogo de confirmación está etiquetado como Transform Permanently). Decide primero el número de participantes, y duplica el estudio de antemano si también quieres una versión para un solo participante.

La pestaña Funciones Especiales en Configuración con Estudio Multijugador transformado, mostrando Número de Participantes, Máximo de Sesiones Paralelas y otras opciones de multijugador

Asignar roles con Role_Id

Con el modo de múltiples participantes activado, cada participante aún ejecuta una copia idéntica y no diferenciada del experimento; nada aún los distingue. Role_Id le da a cada participante una identidad sobre la cual puedes actuar, sin recopilar nada personal, para que sus experimentos puedan comenzar a hacer cosas diferentes.

Agrega un evento con un Trial and Frame Trigger → On Frame Start, luego una acción Control Actions → Requirement Actions (If... Then... Else If):

  • Agregar Requerimiento: lado izquierdo → Variable → seleccionar Role_Id; comparación → equal; lado derecho → Constant Value → Number → 1
  • Luego: agrega cualquier acción que aplique al rol 1, por ejemplo Set Object Property para mostrar una imagen objetivo
  • Agregar Caso Alternativo: agrega las acciones que aplican a cada otro rol

Una Acción de Requerimiento que verifica Role_Id igual a 2, cuyo bloque Then ejecuta dos acciones de Establecer Propiedad de Objeto ocultando los objetos imageShown y Not allowed words

Una verdadera Acción de Requerimiento: Role_Id igual a 2 establece la Visibilidad de dos objetos a 0, ocultándolos solo para ese rol.

Conectar participantes con Distribute Variable

Un Role_Id diferente puede ofrecer contenido diferente a cada participante, pero aún no puede mover información entre ellos; el experimento de cada participante sigue ejecutándose en aislamiento. Distribute Variable es la única acción que envía un valor de un experimento de un participante a otro, lo que realmente hace que el estudio se sienta compartido en lugar de uno al lado del otro.

En cualquier disparador que se ajuste a tu diseño, por ejemplo un Button Click Trigger o Enter on Input Trigger, agrega un Variable Actions → Distribute Variable Action:

  • Distribuir valor a: todos los participantes, o una selección
  • Elegir variable objetivo y valor: la variable en la pantalla del participante receptor, y a qué debería establecerse
  • Bloquear: activa esto si más de un participante podría escribir en la misma variable objetivo al mismo tiempo

Acción Distribute Variable configurada a Participantes Seleccionados con el participante 2 marcado, variable objetivo priceArray, Bloquear habilitado y Estrategia de Límite de Tasa configurada en debounce

Una verdadera acción Distribute Variable: enviada a un Participante Seleccionado en lugar de a todos, con el objetivo priceArray, con Bloquear habilitado y un límite de tasa de debounce.

Mantener a los participantes sincronizados

Los participantes no avanzan a través del estudio al mismo ritmo por su cuenta. Sin un punto de sincronización, un participante puede llegar a un marco posterior antes de que el valor que están esperando incluso se haya distribuido, viendo un estado en blanco o no terminado en lugar de la respuesta del otro participante.

En el marco donde los participantes necesitan mantenerse en paso, por ejemplo, ninguno debe avanzar antes de que el otro haya respondido, habilita Sync Frame Start bajo Configuración de Marco. Todos esperan en ese marco hasta que todos los participantes hayan llegado.

Panel de Configuración de Marco con la casilla de verificación Sync Frame Start habilitada, mostrada junto a la Línea de Tiempo del Ensayo para una tarea multijugador estilo dividir el dinero

La casilla de verificación Sync Frame Start en Configuración de Marco, habilitada en un marco en la línea de tiempo del ensayo.

Ejemplos Adicionales

Los cuatro pasos anteriores no cambian. Lo que cambia es qué se distribuye y dónde va el punto de sincronización. Tres variaciones trabajadas, comenzando con la más sencilla:

  • Contador Compartido: la versión mínima, un valor mantenido en sincronización entre dos participantes
  • Tarea de Descripción de Director y Coincidente: un participante describe, el otro identifica
  • Oferta y Respuesta por Turnos: un participante propone, el otro acepta o rechaza

Contador Compartido

La versión más simple posible de la estructura: ambos participantes ven el mismo total acumulado, y cualquiera de los dos puede añadir a él.

  • Role_Id: no es necesario aquí ya que ambos participantes actúan de la misma manera.
  • Distribuir: en un Button Click Trigger, distribuye valor a todos los participantes, variable objetivo SharedCount, valor = SharedCount + 1.
  • Sincronización: no es necesaria, ya que no hay un límite de ensayo que sostenga a los participantes.

Esto confirma que el modo de múltiples participantes y Distribute Variable están funcionando antes de añadir lógica basada en roles.

Tarea de Descripción de Director y Coincidente

Una tarea de comunicación referencial: un participante (el Director) describe un ítem objetivo, el otro (el Coincidente) lo identifica de un conjunto de candidatos.

  • Role_Id: Role_Id 1 ve la imagen objetivo y una entrada de texto. Role_Id 2 ve las imágenes candidatas y no el objetivo.
  • Distribuir: al desencadenador de la tecla Enter del Director, distribuye el valor de texto a una variable Description en la pantalla del Coincidente, con Block habilitado ya que solo una descripción debe estar en vuelo a la vez.
  • Sincronización: habilita Sync Frame Start en el marco del siguiente ensayo, de modo que el Director no puede avanzar antes de que el Coincidente haya seleccionado un candidato.

Esta es la misma estructura detrás de la Demostración de Descripción de Imagen.

Oferta y Respuesta por Turnos

Un intercambio económico: un participante propone una división de una cantidad compartida, el otro acepta o rechaza.

  • Role_Id: Role_Id 1 ve una entrada para la división propuesta. Role_Id 2 no ve nada hasta que llega una propuesta.
  • Distribuir: al desencadenador de envío del proponente, distribuye el valor propuesto a una variable Offer en la pantalla del respondedor.
  • Sincronización: habilita Sync Frame Start en el marco del resultado, así que ninguno de los participantes ve el resultado antes de que el respondedor haya contestado.

Esta es la misma estructura detrás del Juego del Ultimátum.

Un ejemplo real de este patrón, usando una cantidad sorteada aleatoriamente en lugar de una manualmente ingresada: Role_Id igual a 1 activa una acción Draw Random Number (un sorteo uniforme discreto entre 50 y 150, guardado en amountToSplit), seguido inmediatamente por Distribute Variable enviando amountToSplit a todos los participantes, con Block habilitado.

Una Acción de Requerimiento verificando Role_Id igual a 1, cuyo bloque Then ejecuta Sortear Número Aleatorio guardando en amountToSplit, seguido por una Acción Distribute Variable enviando amountToSplit a todos los participantes con Bloquear habilitado

Una verdadera Acción de Requerimiento donde Role_Id igual a 1 ejecuta Sortear Número Aleatorio en amountToSplit, luego Distribute Variable lo envía a todos los participantes con Bloquear habilitado.

Lecturas Adicionales

Ilustración del diseño de experimento multijugador en Labvanced, mostrando dos pantallas de participantes sincronizadas

Diseño de Experimento Multijugador

Cuándo usar un diseño multijugador, mejores prácticas y una galería de ejemplos existentes construidos en Labvanced.

Estudios de Múltiples Participantes

Estudios de Múltiples Participantes

La referencia completa para habilitar el modo multijugador, grupos de participantes predefinidos y sincronización de marcos/tareas.

Sistema de Eventos: Distribuir Variable

Sistema de Eventos: Distribuir Variable

Referencia completa de parámetros para Distribuir Variable, incluyendo la opción de Estrategia de Límite de Tasa que no se cubre aquí.

Prev
Balanceo de Grupos entre Sujetos y Configuración de Variables
Next
Guía de Seguimiento Ocular en Marco de Website