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à.
Personalizza l'algoritmo di corrispondenza
FlexMatchottimizza l'algoritmo predefinito per la maggior parte dei giochi per far sì che i giocatori partecipino a partite accettabili con tempi di attesa minimi. Puoi personalizzare l'algoritmo e regolare il matchmaking per il tuo gioco.
Quello che segue è l'algoritmo di FlexMatch matchmaking predefinito:
-
FlexMatchinserisce tutti i ticket di matchmaking aperti e i ticket di backfill in un pool di ticket.
-
FlexMatchraggruppa casualmente i biglietti del pool in uno o più lotti. Man mano che il pool di ticket si allarga, FlexMatch forma lotti aggiuntivi per mantenere una dimensione ottimale dei lotti.
-
FlexMatchordina i biglietti per età, all'interno di ciascun lotto.
-
FlexMatchcrea una partita in base al ticket più vecchio di ogni lotto.
Per personalizzare l'algoritmo di corrispondenza, aggiungi un algorithm componente allo schema del set di regole. Vedi FlexMatch schema del set di regole per le informazioni di riferimento complete.
Usa le seguenti personalizzazioni opzionali per influire sulle diverse fasi del tuo processo di matchmaking.
Aggiungi l'ordinamento pre-batch
Puoi ordinare il pool di ticket prima di formare i lotti. Questo tipo di personalizzazione è più efficace nei giochi con un numero elevato di biglietti. Pre-batch l'ordinamento può aiutare a velocizzare il processo di matchmaking e aumentare l'uniformità dei giocatori nelle caratteristiche definite.
Definisci i metodi di Pre-batch ordinamento usando la proprietà dell'algoritmo. batchingPreference L'impostazione predefinita è random.
Le opzioni per personalizzare l'ordinamento pre-batch includono:
-
Ordina per attributi del giocatore. Fornisci un elenco degli attributi dei giocatori per preordinare il pool di biglietti.
Per ordinare in base agli attributi dei giocatori, imposta
batchingPreferencee definisci l'elenco degli attributi dei giocatori insortByAttributes.sortedPer usare un attributo, dichiaratelo prima nelplayerAttributescomponente del set di regole.Nell'esempio seguente, FlexMatch ordina il pool di biglietti in base alla mappa di gioco preferita dai giocatori e poi in base all'abilità del giocatore. È più probabile che i lotti risultanti contengano giocatori con abilità simili che desiderano utilizzare la stessa mappa.
"algorithm": { "batchingPreference": "sorted", "sortByAttributes": ["map", "player_skill"], "strategy": "exhaustiveSearch" }, -
Ordina per latenza. Crea corrispondenze con la latenza più bassa disponibile o crea rapidamente corrispondenze con una latenza accettabile. Questa personalizzazione è utile per i set di regole che formano partite di grandi dimensioni con più di 40 giocatori.
Imposta la proprietà dell'algoritmo
strategysubalanced. La strategia bilanciata limita i tipi disponibili di istruzioni delle regole. Per ulteriori informazioni, consulta Progetta un set di regole per FlexMatch partite di grandi dimensioni.FlexMatchordina i ticket in base ai dati di latenza riportati dai giocatori in uno dei seguenti modi:
-
Posizioni con latenza più bassa. Il pool di ticket è preordinato in base alle località in cui i giocatori segnalano i valori di latenza più bassi. FlexMatchquindi raggruppa i ticket con bassa latenza nelle stesse località, creando un'esperienza di gioco migliore. Riduce anche il numero di biglietti in ogni lotto, quindi il matchmaking può richiedere più tempo. Per utilizzare questa personalizzazione, imposta su
batchingPreferencefastestRegion, come mostrato nell'esempio seguente."algorithm": { "batchingPreference": "fastestRegion", "strategy": "balanced" }, -
La latenza accettabile corrisponde rapidamente. Il pool di biglietti è preordinato in base alle località in cui i giocatori segnalano un valore di latenza accettabile. Ciò comporta un minor numero di batch contenenti più ticket. Con più biglietti in ogni lotto, trovare corrispondenze accettabili è più veloce. Per utilizzare questa personalizzazione, impostate la proprietà
batchingPreferencesulargestPopulation, come mostrato nell'esempio seguente."algorithm": { "batchingPreference": "largestPopulation", "strategy": "balanced" },
Nota
Il valore predefinito per la strategia bilanciata è
largestPopulation. -
Dai la priorità ai ticket di rifornimento
Se il gioco implementa il backfill automatico o il backfill manuale, puoi personalizzare il modo in cui FlexMatch elabora i ticket di matchmaking in base al tipo di richiesta. Il tipo di richiesta può essere una nuova richiesta di abbinamento o di backfill. Per impostazione predefinita, FlexMatch tratta entrambi i tipi di richieste allo stesso modo.
La priorità del backfill influisce sul modo in cui vengono FlexMatch gestiti i ticket dopo averli raggruppati in batch. La prioritizzazione del backfill richiede che i set di regole utilizzino una strategia di ricerca esaustiva.
FlexMatchnon fa corrispondere più ticket di backfill insieme.
Per modificare la priorità per i ticket di backfill, imposta la proprietà. backfillPriority
-
Abbina prima i ticket di backfill. Questa opzione cerca di abbinare i ticket di backfill prima di creare nuove partite. Ciò significa che i giocatori in arrivo hanno maggiori possibilità di partecipare a una partita esistente.
È preferibile utilizzarlo se il gioco utilizza il backfill automatico. Auto-backfill viene spesso utilizzato in partite con sessioni di gioco brevi e un elevato numero di giocatori. Auto-backfill aiuta questi giochi a formare un numero minimo di partite valide e ad avviarli durante la FlexMatch ricerca di più giocatori per riempire gli slot aperti.
Imposta
backfillPrioritysuhigh."algorithm": { "backfillPriority": "high", "strategy": "exhaustiveSearch" }, -
Riempi i biglietti della partita per ultimi. Questa opzione ignora i ticket di backfill finché non valuta tutti gli altri ticket. Ciò significa che FlexMatch inserisce nuovamente i giocatori in entrata nei giochi esistenti quando non è possibile abbinarli a nuovi giochi.
Questa opzione è utile quando desideri utilizzare il backfill come ultima occasione per far entrare i giocatori in una partita, ad esempio quando non ci sono abbastanza giocatori per formare una nuova partita.
Imposta
backfillPrioritysulow."algorithm": { "backfillPriority": "low", "strategy": "exhaustiveSearch" },
Preferisci i biglietti più vecchi con delle espansioni
Le regole di espansione allentano i criteri di abbinamento quando le partite sono difficili da completare. Amazon GameLift Serversapplica le regole di espansione quando i biglietti di una partita parzialmente completata raggiungono una certa età. I timestamp di creazione dei biglietti determinano quando vengono Amazon GameLift Servers applicate le regole; per impostazione predefinita, FlexMatch tiene traccia del timestamp dell'ultimo biglietto abbinato.
Per modificare la data di FlexMatch applicazione delle regole di espansione, imposta la proprietà come segue: expansionAgeSelection
-
Espandi in base ai biglietti più recenti. Questa opzione applica le regole di espansione in base al biglietto più recente aggiunto alla potenziale partita. Ogni volta che viene FlexMatch abbinato un nuovo biglietto, l'orologio viene azzerato. Con questa opzione, le corrispondenze risultanti tendono ad essere di qualità superiore ma richiedono più tempo per essere abbinate; le richieste di abbinamento potrebbero scadere prima del completamento se impiegano troppo tempo a corrispondere. Impostato
expansionAgeSelectionsunewest.newestè l'impostazione predefinita. -
Espandi in base ai biglietti più vecchi. Questa opzione applica le regole di espansione basate sul biglietto più vecchio della potenziale partita. Questa opzione consente di FlexMatch applicare le espansioni più velocemente, il che migliora i tempi di attesa per i primi giocatori abbinati, ma riduce la qualità della partita per tutti i giocatori. Imposta
expansionAgeSelectionsuoldest.
"algorithm": { "expansionAgeSelection": "oldest", "strategy": "exhaustiveSearch" },