FlexMatch proceso de emparejamiento - Amazon GameLift

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

FlexMatch proceso de emparejamiento

En este tema se describe la secuencia de eventos en un escenario de emparejamiento básico, incluidas las interacciones entre los distintos componentes del juego y el FlexMatch servicio.

Paso 1: Solicita el emparejamiento para los jugadores

Un jugador que utilice el cliente de juegos hace clic en el botón “Unirse a un juego”. Esta acción hace que el servicio de emparejamiento de su cliente envíe una solicitud de emparejamiento a. FlexMatch La solicitud identifica el FlexMatch emparejador que se utilizará al cumplir con la solicitud. La solicitud también incluye la información del jugador que necesite el emparejador personalizado, como el nivel de habilidad, las preferencias de juego o los datos de latencia geográfica. Puede realizar solicitudes de emparejamiento para uno o varios jugadores.

Paso 2: Agrega las solicitudes al grupo de búsqueda de parejas

Cuando FlexMatch recibe la solicitud de emparejamiento, genera un ticket de emparejamiento y lo agrega al grupo de boletos del emparejador. El ticket permanece en el grupo hasta que se realice el emparejamiento o se alcance el límite de tiempo máximo. El servicio de emparejamiento de clientes recibe notificaciones periódicas sobre los eventos de emparejamiento, incluidos los cambios en el estado de los tickets.

Paso 3: Construye una partida

Tu FlexMatch emparejador ejecuta continuamente el siguiente proceso con todos los boletos de su grupo:

  1. El emparejador ordena el grupo por la antigüedad de los tickets y, a continuación, comienza a crear un posible emparejamiento empezando por el ticket más antiguo.

  2. El emparejador añade un segundo ticket al posible emparejamiento y evalúa el resultado según las reglas de emparejamiento personalizadas. Si el posible emparejamiento pasa la evaluación, los jugadores del ticket pasan a formar parte de un equipo.

  3. El emparejador añade el siguiente ticket de la secuencia y repite el proceso de evaluación. Cuando se hayan ocupado todas las ranuras para los jugadores, el emparejamiento estará listo.

En el caso de emparejamientos grandes (de 41 a 200 jugadores), el sistema de emparejamiento utiliza una versión modificada del proceso descrito anteriormente, de forma que se puedan compilar emparejamientos en un plazo de tiempo razonable. En lugar de evaluar cada ticket de forma individual, el emparejador divide un grupo de tickets preestablecido en posibles emparejamientos y, a continuación, equilibra cada emparejamiento en función de una característica del jugador que haya especificado. Por ejemplo, un emparejador podría clasificar previamente los tickets en función de ubicaciones similares de baja latencia y, después, utilizar el equilibrio posterior al emparejamiento para asegurarse de que los equipos estén emparejados equitativamente según la habilidad del jugador.

Paso 4: Reporta los resultados del emparejamiento

Cuando se encuentra un emparejamiento aceptable, se actualizan todos los tickets emparejados y se genera un evento de emparejamiento correcto para cada ticket de emparejamiento.

  • FlexMatch como servicio independiente: Tu juego recibe los resultados de las partidas en un evento de emparejamiento exitoso. Los datos de los resultados incluyen una lista de todos los jugadores emparejados y las asignaciones de sus equipos. Si las solicitudes de emparejamiento contienen información sobre la latencia de los jugadores, los resultados también sugieren una ubicación geográfica óptima para el emparejamiento.

  • FlexMatch con una solución de GameLift alojamiento de Amazon: los resultados de las partidas se pasan automáticamente a una GameLift cola de Amazon para ubicar las sesiones de juego. El emparejador determina qué cola se utiliza para la ubicación de las sesiones de juego.

Paso 5: Inicia una sesión de juego para el partido

Una vez que el emparejamiento propuesto se haya formado satisfactoriamente, se iniciará una nueva sesión de juego. Tus servidores de juego deben poder utilizar los datos de los resultados del emparejamiento, incluidas las asignaciones de jugadores IDs y equipos, al configurar una sesión de juego para la partida.

  • FlexMatch como servicio independiente: tu servicio personalizado de ubicación de partidas obtiene los datos de los resultados de las partidas de los eventos de matchmaking que se han llevado a cabo con éxito y se conecta a tu sistema de ubicación de sesiones de juego existente para localizar un recurso de alojamiento disponible para la partida. Una vez encontrado un recurso de alojamiento, el servicio de ubicación de emparejamientos se coordina con el sistema de alojamiento actual para iniciar una nueva sesión de juego y obtener información de conexión.

  • FlexMatch con una solución de GameLift alojamiento de Amazon: la cola de sesiones de juego localiza el mejor servidor de juegos disponible para el partido. En función de cómo esté configurada la cola, intentará situar la sesión de juego con los recursos de menor costo y en un lugar en el que los jugadores experimenten una latencia baja (si se proporcionan datos sobre la latencia de los jugadores). Una vez que la sesión de juego se haya completado correctamente, el GameLift servicio de Amazon solicita al servidor del juego que inicie una nueva sesión de juego, transmitiéndole los resultados del emparejamiento y otros datos opcionales del juego.

Paso 6: Conecta a los jugadores al partido

Tras iniciar una sesión de juego, los jugadores se conectan a la sesión, reclaman su asignación de equipo y comienzan a jugar.

  • FlexMatch como servicio independiente: tu juego utiliza el sistema de gestión de sesiones de juego existente para proporcionar información de conexión a los jugadores.

  • FlexMatch con una solución de GameLift alojamiento de Amazon: si la sesión de juego se coloca correctamente, FlexMatch actualiza todas las entradas coincidentes con la información de conexión de la sesión de juego y un identificador de sesión del jugador.