Definiciones de propiedades del conjunto de reglas de FlexMatch - 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.

Definiciones de propiedades del conjunto de reglas de FlexMatch

En esta sección se define cada propiedad del esquema del conjunto de reglas. Para obtener ayuda adicional sobre la creación de un conjunto de reglas, consulte Cree un conjunto de FlexMatch reglas.

name

Una etiqueta descriptiva para el conjunto de reglas. Este valor no está asociado al nombre asignado al recurso MatchmakingRuleSet de Amazon GameLift. Este valor se incluye en los datos de emparejamiento que describen un emparejamiento completado, pero ningún proceso de Amazon GameLift lo utiliza.

Valores permitidos: string

¿Obligatorio? No

ruleLanguageVersion

La versión del lenguaje de expresiones de propiedades de FlexMatch que se está utilizando.

Valores permitidos: «1.0»

¿Obligatorio? Sí

playerAttributes

Una recopilación de datos de los jugadores que se incluye en las solicitudes de emparejamiento y que se utiliza en el proceso de emparejamiento. También puede declarar los atributos aquí para incluir los datos de los jugadores en los datos de emparejamiento que se transmiten a los servidores de juegos, incluso si los datos no se utilizan en el proceso de emparejamiento.

¿Obligatorio? No

name

Un nombre único para el atributo del jugador que utilizará el emparejador. Este nombre debe coincidir con el nombre del atributo del jugador al que se hace referencia en las solicitudes de emparejamiento.

Valores permitidos: string

¿Obligatorio? Sí

type

El tipo de datos del valor de atributo del jugador.

Valores permitidos: «string», «number», «string_list» y «string_number_map»

¿Obligatorio? Sí

default

Un valor predeterminado que se va a utilizar cuando una solicitud de emparejamiento no proporciona uno para un jugador.

Valores permitidos: cualquier valor permitido para el atributo del jugador.

¿Obligatorio? No

algorithm

Ajustes de configuración opcionales para personalizar el proceso de emparejamiento.

¿Obligatorio? No

strategy

El método que se debe utilizar al crear emparejamientos. Si no se establece esta propiedad, el comportamiento predeterminado es «exhaustiveSearch».

Valores permitidos:

  • «exhaustiveSearch»: método de búsqueda estándar. FlexMatch forma una combinación en torno al ticket más antiguo de un lote al evaluar otros tickets del grupo según un conjunto de reglas de emparejamiento personalizadas. Esta estrategia se utiliza para partidos de 40 jugadores o menos. Cuando utilice esta estrategia, batchingPreference debe configurarla como «aleatoria» u «ordenada».

  • «equilibrado»: método que está optimizado para formar emparejamientos grandes de forma rápida. Esta estrategia se utiliza para partidos de 41 jugadores a 200 jugadores. Forma los emparejamientos clasificando previamente el grupo de tickets, compilando posibles emparejamientos y asignando jugadores a los equipos. Después, equilibra a cada equipo de un emparejamiento utilizando un atributo de jugador específico. Por ejemplo, esta estrategia se puede utilizar para igualar los niveles medios de habilidad de todos los equipos en un emparejamiento. Cuando utilice esta estrategia, balancedAttribute debe configurarse y batchingPreference debe establecerse como «largestPopulation» o «fastestRegion». La mayoría de los tipos de reglas personalizadas no se reconocen con esta estrategia.

¿Obligatorio? Sí

batchingPreference

El método de clasificación previa que se debe utilizar antes de agrupar los tickets para compilar emparejamientos. Clasificar previamente el grupo de tickets provoca que los tickets se agrupen por lotes en función de una característica específica, lo que tiende a aumentar la uniformidad entre los jugadores en los emparejamientos finales.

Valores permitidos:

  • «aleatorio»: válido solo con strategy = «exhaustiveSearch». No se realiza una clasificación previa; los tickets del grupo se agrupan aleatoriamente. Este es el comportamiento predeterminado para una estrategia de búsqueda exhaustiva.

  • «ordenado»: válido solo con strategy = «exhaustiveSearch». El grupo de tickets se clasifica previamente en función de los atributos de los jugadores que aparecen en sortbyAttributes.

  • «largestPopulation»: válido solo con strategy = «equilibrado». El grupo de tickets se clasifica previamente mediante regiones en las que los jugadores muestran niveles de latencia aceptables. Este es el comportamiento predeterminado para una estrategia equilibrada.

  • «fastestRegion»: válido solo con strategy = «equilibrado». El grupo de tickets se clasifica previamente mediante regiones en las que los jugadores muestran los niveles de latencia más bajos. Los emparejamientos resultantes tardan más en completarse, pero la latencia para todos los jugadores suele ser baja.

¿Obligatorio? Sí

balancedAttribute

El nombre del atributo de un jugador que se utilizará al compilar emparejamientos grandes con una estrategia equilibrada.

Valores permitidos: cualquier atributo declarado en playerAttributes con type = «number».

¿Obligatorio? Sí, si strategy = «equilibrado».

sortByAttributes

Una lista de los atributos de los jugadores para utilizarla al clasificar previamente el grupo de tickets antes de la agrupación por lotes. Esta propiedad solo se utiliza cuando se realiza una clasificación previa con la estrategia de búsqueda exhaustiva. El orden de la lista de atributos determina el orden de clasificación. FlexMatch utiliza una convención de clasificación estándar para valores alfanuméricos.

Valores permitidos: cualquier atributo declarado en playerAttributes.

¿Obligatorio? Sí, si batchingPreference = «ordenado».

backfillPriority

El método de priorización para emparejar los tickets de reposición. Esta propiedad determina cuándo FlexMatch procesa los tickets de relleno en un lote. Solo se utiliza cuando se realiza una clasificación previa con la estrategia de búsqueda exhaustiva. Si no se establece esta propiedad, el comportamiento predeterminado es «normal».

Valores permitidos:

  • «normal»: el tipo de solicitud del ticket (reposición o nuevo emparejamiento) no se tiene en cuenta a la hora de formar emparejamientos.

  • «alto»: un lote de tickets se clasifica por tipo de solicitud (y luego por antigüedad) y FlexMatch intenta emparejar primero los tickets de reposición.

  • «alto»: un lote de tickets se clasifica por tipo de solicitud (y luego por antigüedad) y FlexMatch intenta emparejar primero tickets de no reposición.

¿Obligatorio? No

expansionAgeSelection

El método para calcular el tiempo de espera para la expansión de las reglas de un emparejamiento. Las expansiones se utilizan para flexibilizar los requisitos de un emparejamiento si este no se ha completado después de un cierto periodo. El tiempo de espera se calcula en función de la antigüedad de los tickets que ya están disponibles para el emparejamiento parcialmente lleno. Si no se establece esta propiedad, el comportamiento predeterminado es «más reciente».

Valores permitidos:

  • «más reciente»: el tiempo de espera de la expansión se calcula en función del ticket con la marca de tiempo de creación más reciente en el emparejamiento que se haya completado parcialmente. Las expansiones suelen activarse más lentamente, ya que un ticket más reciente puede reactivar el tiempo de espera.

  • «más antiguo»: el tiempo de espera de la expansión se calcula en función del ticket con la marca de tiempo de creación más antigua en el emparejamiento. Las expansiones suelen activarse más rápido.

¿Obligatorio? No

teams

La configuración de los equipos en un emparejamiento. Proporcione un nombre de equipo y un rango de tamaños para cada equipo. Un conjunto de reglas debe definir al menos un equipo.

name

Un nombre único para el equipo. Se puede hacer referencia a los nombres de los equipos en las reglas y las expansiones. Si un emparejamiento es correcto, los jugadores se asignan por nombre de equipo en los datos de emparejamiento.

Valores permitidos: string

¿Obligatorio? Sí

maxPlayers

El número máximo de jugadores que se puede asignar al equipo.

Valores permitidos: number

¿Obligatorio? Sí

minPlayers

El número mínimo de jugadores que deben asignarse al equipo antes de que el emparejamiento sea viable.

Valores permitidos: number

¿Obligatorio? Sí

quantity

El número de equipos de este tipo que se va a crear en un emparejamiento. Los equipos con cantidades superiores a 1 se designan con un número adjunto («Red_1», «Red_2», etc.). Si no se define esta propiedad, el valor predeterminado es «1».

Valores permitidos: number

¿Obligatorio? No

rules

Un conjunto de declaraciones de reglas que definan cómo evaluar a los jugadores para un emparejamiento.

¿Obligatorio? No

name

Un nombre único para la regla. Todas las reglas de un conjunto de reglas deben tener nombres únicos. Se hace referencia a los nombres de la reglas en registros de eventos y métricas que realizan un seguimiento de la actividad relacionada con la regla.

Valores permitidos: string

¿Obligatorio? Sí

description

Una descripción textual de la regla. Esta información se puede utilizar para identificar el propósito de una regla. No se utiliza en el proceso de emparejamiento.

Valores permitidos: string

¿Obligatorio? No

type

El tipo de declaración de reglas. Cada tipo de regla tiene propiedades adicionales que se deben establecer. Para obtener más información sobre la estructura y el uso de cada tipo de regla, consulte Tipos de reglas de FlexMatch.

Valores permitidos:

  • «absoluteSort»: permite ordenar mediante un método de clasificación explícito que ordena los tickets en un lote en función de si un atributo de jugador específico se compara con el ticket más antiguo del lote.

  • «colección»: permite evaluar los valores de una colección, como un atributo de un jugador que es una colección o un conjunto de valores para varios jugadores.

  • «comparación»: permite comparar dos valores.

  • «compuesto»: permite definir una regla de emparejamiento compuesta mediante una combinación lógica de otras reglas del conjunto de reglas. Solo se admite en emparejamientos de 40 jugadores o menos.

  • «distancia»: permite medir la distancia entre valores numéricos.

  • «batchDistance»: permite medir la diferencia entre el valor de un atributo y lo utiliza para agrupar las solicitudes de coincidencia.

  • «distanceSort»: permite ordenar mediante un método de clasificación explícito que ordena los tickets en un lote en función de la forma en la que un atributo de jugador específico con un valor numérico se compara con el ticket más antiguo del lote.

  • «latencia»: permite evaluar los datos de latencia regional que se muestran en una solicitud de emparejamiento.

¿Obligatorio? Sí

expansions

Reglas para flexibilizar los requisitos de los emparejamientos a lo largo del tiempo cuando no se pueda completar un emparejamiento. Configure las expansiones como una serie de pasos que se apliquen gradualmente para facilitar la búsqueda de emparejamientos. De forma predeterminada, FlexMatch calcula el tiempo de espera en función de la antigüedad del ticket más reciente añadido a un emparejamiento. Puede cambiar la forma en que se calculan los tiempos de espera de expansión mediante la propiedad del algoritmo expansionAgeSelection.

Los tiempos de espera de expansión son valores absolutos, por lo que cada paso debe tener un tiempo de espera superior al paso anterior. Por ejemplo, para programar una serie de expansión gradual, debe utilizar tiempos de espera de 30, 40 y 50 segundos. Los tiempos de espera no pueden superar el tiempo máximo permitido para una solicitud de emparejamiento, que se establece en la configuración de emparejamiento.

¿Obligatorio? No

target

El elemento del conjunto de reglas debe flexibilizarse. Puede flexibilizar las propiedades del tamaño de un equipo o cualquier propiedad de declaración de las reglas. La sintaxis es "<nombre componente>[<regla/nombre equipo>]. <nombre propiedad>». Por ejemplo, para cambiar el tamaño mínimo de los equipos:teams[Red, Yellow].minPlayers. Para cambiar el requisito de habilidad mínima en una declaración de reglas de comparación denominada «minSkill»:rules[minSkill].referenceValue.

¿Obligatorio? Sí

steps
waitTimeSeconds

Es la duración, en segundos, que debe esperar antes de aplicar el nuevo valor al elemento del conjunto de reglas de destino.

¿Obligatorio? Sí

value

El nuevo valor del elemento del conjunto de reglas de destino.