La formula di punteggio
I server vengono valutati utilizzando una formula di somma pesata. Ci sono quattro parti in questa formula:
- Attributi, che sono dati che descrivono i giocatori e i server, come l'età del giocatore o l'occupazione del server.
- Segnali, che trasformano gli attributi in numeri compresi tra 0 e 1.
- Pesi, che descrivono l'importanza relativa dei segnali.
- Il punteggio del server, che misura la compatibilità del server con il giocatore che si unisce.
Il giocatore che si unisce viene abbinato al server con il punteggio più alto.
Attributi
Gli attributi sono dati che descrivono i giocatori e i server. Il valore di un attributo può essere un numero o una stringa. Quando il valore di un attributo è una stringa, viene definito attributo categorico. Quando il valore di un attributo è un numero, viene definito attributo numerico.
Per un elenco completo di tutti gli attributi Roblox disponibili, vedere Attributi esistenti. Per maggiori informazioni sugli attributi personalizzati, vedere Attributi personalizzati.
Esempio: Attributi categorici e numerici
| Attributi categorici |
|---|
| Ha amici è un attributo categorico perché il suo valore è la stringa "true" quando c'è un giocatore preferito su questo server, e "false" quando non ci sono giocatori preferiti su questo server. |
| Lingua è un attributo categorico perché il suo valore è l'impostazione della lingua del giocatore, come "giapponese". |
| Attributi numerici |
| Età è un attributo numerico perché il suo valore è l'età del giocatore. |
| Occupazione è un attributo numerico perché il suo valore è il numero di giocatori attualmente in questo server. |
Segnali
I segnali trasformano i valori degli attributi in numeri compresi tra 0 e 1, chiamati punteggi dei segnali. Un punteggio del segnale di 1 prevede un'alta compatibilità con il giocatore, mentre un punteggio del segnale di 0 prevede una bassa compatibilità. A seconda dell'attributo, le trasformazioni possono includere diverse aggregazioni, confronti e normalizzazioni.
Per un elenco completo dei segnali Roblox esistenti, vedere Segnali esistenti. Per ulteriori informazioni sui segnali personalizzati, vedere Segnali personalizzati.
Esempio: Due server con punteggi di segnali diversi
La seguente tabella calcola i punteggi dei segnali di occupazione per due diversi server con una capienza di 8 giocatori:
| Giocatori nel server | Punteggio di occupazione | |
|---|---|---|
| Server A | 2 | 2/8 = 0.25 |
| Server B | 6 | 6/8 = 0.75 |
Il punteggio di occupazione valuta Server B più in alto e lo considera una scelta migliore per il giocatore che si unisce.
Pesi
Il peso di un segnale descrive l'importanza di quel segnale rispetto ad altri segnali. Un peso maggiore aumenta il contributo del segnale al punteggio del server. Il valore dopo aver moltiplicato un punteggio del segnale per il suo peso è chiamato segnale pesato.
I segnali non possono avere pesi negativi. Se il peso di un segnale è 0, quel segnale non viene considerato per il punteggio.
Esempio: Peso del punteggio di occupazione
La seguente tabella calcola i punteggi dei segnali di occupazione pesati per un luogo con una capacità di 8 giocatori e un peso del segnale di occupazione di 2:
| Giocatori nel server | Punteggio di occupazione | Punteggio di occupazione pesato | |
|---|---|---|---|
| Server A | 2 | 2/8 = 0.25 | 0.25 * 2 = 0.5 |
| Server B | 6 | 6/8 = 0.75 | 0.75 * 2 = 1.5 |
Esempio: Due configurazioni con pesi diversi
Pesi diversi possono anche far sì che il matchmaking scegli server diversi. La seguente tabella calcola i punteggi del server di due server con diverse configurazioni di matchmaking. La Configurazione 2 ha un peso maggiore per il suo segnale di occupazione, e il Server A ha un amico del giocatore che si unisce.
| Amici | Occupazione | |||||
|---|---|---|---|---|---|---|
| Peso | Punteggio | Peso | Punteggio | Punteggio totale | ||
| Config 1 | Server A | 1 | 1 | 5 | 0.25 | 1 * 1 + 5 * 0.25 = 2.25 |
| Server B | 1 | 0 | 5 | 0.75 | 1 * 0 + 5 * 0.75 = 3.75 | |
| Config 2 | Server A | 3 | 1 | 5 | 0.25 | 3 * 1 + 5 * 0.25 = 4.25 |
| Server B | 3 | 0 | 5 | 0.75 | 3 * 0 + 5 * 0.75 = 3.75 | |
Punteggio del server
Il punteggio del server è calcolato dalla seguente formula di somma pesata, che somma i punteggi del segnale pesato di un server:
Configurazioni di matchmaking
Una configurazione di matchmaking è l'insieme di segnali e pesi utilizzati per valutare i server di un luogo. Di default, tutti i server di tutti i luoghi sono valutati dalla configurazione predefinita di Roblox, il che significa che non è necessario personalizzare o attivare alcuna impostazione per utilizzarla.
La configurazione predefinita di Roblox include i seguenti segnali e pesi:
| Segnale | Peso |
|---|---|
| Amici | 15 |
| Latenza | 3 |
| Chat testuale | 3 |
| Occupazione | 2 |
| Storia di gioco | 2 |
| Lingua | 2 |
| Età | 1 |
| Chat vocale | 1 |
| Tipo di dispositivo | 0 |
Nella configurazione predefinita di Roblox, il peso del segnale Amici è maggiore della somma dei pesi di tutti gli altri segnali. Questo significa che, se disponibili, il giocatore che si unisce viene sempre abbinato a server con amici (o giocatori sullo stesso indirizzo IP) in essi.
Il segnale Tipo di dispositivo esiste nella configurazione predefinita ma ha un peso di 0, quindi non influisce sulle decisioni di matchmaking. Puoi regolare questo peso quando personalizzi il matchmaking.
Per ulteriori informazioni su ciascun segnale di Roblox, vedere Segnali esistenti.
Concetti avanzati
I seguenti sono concetti più avanzati riguardanti il processo di matchmaking.
Normalizzazione
I segnali normalizzano i valori degli attributi per essere numeri compresi tra 0 e 1. I segnali numerici possono essere normalizzati da qualsiasi numero positivo, chiamato fattore di normalizzazione. Se il valore normalizzato è maggiore di 1, viene limitato a 1.
Esempio: Progettazione del segnale di età
Il segnale di età misura la differenza tra l'età media dei giocatori nel server e l'età del giocatore che si unisce.
I server con differenze di età superiori a 25 sono considerati tutti ugualmente incompatibili con il giocatore. Ad esempio, una differenza di età di 25 non è peggiore per un giocatore di una differenza di età di 26, quindi entrambi i valori dovrebbero portare il punteggio del segnale a 0. In questo caso, 25 è considerato il fattore di normalizzazione.
Il punteggio del segnale è inversamente correlato alla differenza di età, il che significa che il punteggio del segnale è più alto quando la differenza di età è minore.
La seguente tabella mostra i punteggi del segnale di età con due diversi fattori di normalizzazione:
| Età | Fattore di normalizzazione: 100 | Fattore di normalizzazione: 25 |
|---|---|---|
| 50 | 0.5 | 0 |
| 25 | 0.75 | 0 |
| 12 | 0.88 | 0.52 |
| 5 | 0.95 | 0.8 |
| 0 | 1 | 1 |
Il segnale con un fattore di normalizzazione di 25 considera le differenze di età di 5 e 12 anni più distanti. Fattori di normalizzazione più piccoli amplificano gli aumenti o le diminuzioni marginali nella differenza di età.
Magnitudini dei pesi
Un peso indica l'importanza di un segnale rispetto ad altri segnali in una configurazione. Le magnitudini relative dei pesi determinano l'importanza del segnale, non le loro magnitudini assolute.
Esempio: Magnitudine relativa vs magnitudine assoluta
La tabella seguente calcola i punteggi del server di due server con due diverse configurazioni di matchmaking. La Configurazione 5 e la Configurazione 6 hanno pesi di occupazione maggiori dei rispettivi pesi di amici. Il Server A ha un amico del giocatore che si unisce.
| Amici | Occupazione | |||||
|---|---|---|---|---|---|---|
| Peso | Punteggio | Peso | Punteggio | Punteggio totale | ||
| Config 5 | Server A | 10.000 | 1 | 15.000 | 0.25 | 10.000 * 1 + 15.000 * 0.25 = 13.750 |
| Server B | 10.000 | 0 | 15.000 | 0.75 | 10.000 * 0 + 15.000 * 0.75 = 11.250 | |
| Config 6 | Server A | 0.01 | 1 | 0.05 | 0.25 | 0.01 * 1 + 0.05 * 0.25 = 0.0225 |
| Server B | 0.01 | 0 | 0.05 | 0.75 | 0.01 * 0 + 0.05 * 0.75 = 0.0375 | |
Il Server A vince con la Configurazione 5 mentre il Server B vince con la Configurazione 6. Questo perché il peso di occupazione della Configurazione 5 è solo 1,5 volte il suo peso di amici, mentre il peso di occupazione della Configurazione 6 è 5 volte il suo peso di amici.
Nonostante le differenze nelle magnitudini assolute, la Configurazione 6 dà priorità all'occupazione rispetto agli amici più di quanto faccia la Configurazione 5.