Referencia: Crea dos equipos con jugadores igualados - 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.

Referencia: Crea dos equipos con jugadores igualados

Este ejemplo ilustra cómo configurar dos equipos de jugadores emparejados de manera uniforme con las siguientes instrucciones.

  • Cree dos equipos de jugadores.

    • Incluya entre cuatro y ocho jugadores en cada equipo.

    • Los equipos definitivos deben tener el mismo número de jugadores.

  • Incluya el nivel de habilidad de un jugador (si no se proporciona, de manera predeterminada es 10).

  • Elija jugadores en función de si su nivel de habilidad es similar al de otros jugadores. Asegúrese de que la habilidad promedio de los jugadores de ambos equipos esté dentro de 10 puntos entre sí.

  • Si el emparejamiento no se completa rápidamente, relaje el requisito de habilidades de los jugadores para completar un emparejamiento dentro de un tiempo razonable.

    • Transcurridos 5 segundos, expanda la búsqueda para permitir equipos con habilidades promedio de los jugadores dentro de los 50 puntos.

    • Transcurridos 15 segundos, expanda la búsqueda para permitir equipos con habilidades promedio de los jugadores dentro de los 100 puntos.

Notas sobre el uso de este conjunto de reglas:

  • Este ejemplo permite que los equipos tengan cualquier tamaño entre cuatro y ocho jugadores (aunque deben ser del mismo tamaño). En el caso de los equipos con un rango de tamaños válido, el creador de emparejamientos hace todo lo posible para emparejar el número máximo de jugadores permitidos.

  • La regla FairTeamSkill garantiza que los equipos estén emparejados de manera uniforme según las habilidades de los jugadores. Para evaluar esta regla para cada nuevo jugador potencial, añade FlexMatch provisionalmente al jugador a un equipo y calcula los promedios. Si la regla genera un error, no se agrega el posible jugador al emparejamiento.

  • Puesto que ambos equipos tienen estructuras idénticas, puede optar por crear una sola definición de equipo y establecer la cantidad de equipos en "2". En este caso, si le ha asignado el nombre "extranjeros" al equipo, sus equipos se denominarán "extranjeros_1" y "extranjeros_2".

{ "name": "aliens_vs_cowboys", "ruleLanguageVersion": "1.0", "playerAttributes": [{ "name": "skill", "type": "number", "default": 10 }], "teams": [{ "name": "cowboys", "maxPlayers": 8, "minPlayers": 4 }, { "name": "aliens", "maxPlayers": 8, "minPlayers": 4 }], "rules": [{ "name": "FairTeamSkill", "description": "The average skill of players in each team is within 10 points from the average skill of all players in the match", "type": "distance", // get skill values for players in each team and average separately to produce list of two numbers "measurements": [ "avg(teams[*].players.attributes[skill])" ], // get skill values for players in each team, flatten into a single list, and average to produce an overall average "referenceValue": "avg(flatten(teams[*].players.attributes[skill]))", "maxDistance": 10 // minDistance would achieve the opposite result }, { "name": "EqualTeamSizes", "description": "Only launch a game when the number of players in each team matches, e.g. 4v4, 5v5, 6v6, 7v7, 8v8", "type": "comparison", "measurements": [ "count(teams[cowboys].players)" ], "referenceValue": "count(teams[aliens].players)", "operation": "=" // other operations: !=, <, <=, >, >= }], "expansions": [{ "target": "rules[FairTeamSkill].maxDistance", "steps": [{ "waitTimeSeconds": 5, "value": 50 }, { "waitTimeSeconds": 15, "value": 100 }] }] }