Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Esempio: crea due squadre con giocatori allo stesso livello
Questo esempio illustra come impostare due squadre ugualmente abbinate di giocatori con le seguenti istruzioni.
-
Creare due squadre di giocatori.
-
Includere da quattro a otto giocatori in ciascuna squadra.
-
Le squadre finali devono avere lo stesso numero di giocatori.
-
-
Includere il livello di competenza dei giocatori (se non viene fornito, l'impostazione predefinita è su 10).
-
Scegliere i giocatori se il loro livello di competenza è analogo ad altri giocatori. Verificare che entrambe le squadre dispongano di una competenza media dei giocatori entro i 10 punti.
-
Se la corrispondenza non viene completata in modo rapido, rendere più flessibili i requisiti in termini di competenze dei giocatori per completare una corrispondenza in tempi ragionevoli.
-
Dopo 5 secondi, espandere la ricerca per accettare le squadre con competenze medie dei giocatori entro i 50 punti.
-
Dopo 15 secondi, espandere la ricerca per accettare le squadre con competenze medie dei giocatori entro i 100 punti.
-
Note sull'utilizzo di questo set di regole:
-
Questo esempio consente alle squadre di avere qualsiasi dimensione compresa tra quattro e otto giocatori (anche se devono avere le stesse dimensioni). Per le squadre con un'ampia gamma di dimensioni valide, il matchmaker tenta tutte le soluzioni possibili per abbinare il numero massimo di giocatori consentiti.
-
La regola
FairTeamSkill
garantisce che le squadre vengano abbinate in modo uniforme in base alle competenze dei giocatori. Per valutare questa regola per ogni nuovo potenziale giocatore, FlexMatch aggiunge provvisoriamente il giocatore a una squadra e calcola le medie. Se la regola ha esito negativo, il giocatore potenziale non viene aggiunto alla corrispondenza. -
Poiché entrambi i team hanno strutture identiche, è possibile scegliere di creare una sola definizione di team e impostare la quantità dei team su "2". In questo scenario, se hai denominato il team "aliens", ai team verranno assegnati i nomi "aliens_1" e "aliens_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 }] }] }