A fórmula de pontuação
Os servidores são pontuados usando uma fórmula de soma ponderada. Existem quatro partes nesta fórmula:
- Atributos, que são dados que descrevem jogadores e servidores, como a idade do jogador ou a ocupação do servidor.
- Sinais, que transformam atributos em números entre 0 e 1.
- Pesos, que descrevem a importância relativa dos sinais.
- A pontuação do servidor, que mede a compatibilidade do servidor com o jogador que está entrando.
O jogador que está entrando é combinado com o servidor com a maior pontuação de servidor.
Atributos
Atributos são dados que descrevem jogadores e servidores. O valor de um atributo pode ser um número ou uma string. Quando o valor de um atributo é uma string, chama-se atributo categórico. Quando o valor de um atributo é um número, chama-se atributo numérico.
Para uma lista completa de todos os atributos do Roblox disponíveis, veja Atributos existentes. Para mais informações sobre atributos personalizados, veja Atributos personalizados.
Exemplo: Atributos categóricos e numéricos
| Atributos categóricos |
|---|
| Tem Amigos é um atributo categórico porque seu valor é a string "true" quando há um jogador preferido neste servidor, e "false" quando não há jogadores preferidos neste servidor. |
| Idioma é um atributo categórico porque seu valor é a configuração de idioma do jogador, como "Japonês". |
| Atributos numéricos |
| Idade é um atributo numérico porque seu valor é a idade do jogador. |
| Ocupação é um atributo numérico porque seu valor é o número de jogadores atualmente neste servidor. |
Sinais
Sinais transformam os valores de atributos em números entre 0 e 1, chamados de pontuações de sinal. Uma pontuação de sinal de 1 prevê alta compatibilidade do jogador, enquanto uma pontuação de sinal de 0 prevê baixa compatibilidade do jogador. Dependendo do atributo, as transformações podem incluir diferentes agregações, comparações e normalizações.
Para uma lista completa de sinais do Roblox existentes, veja Sinais existentes. Para mais informações sobre sinais personalizados, veja Sinais personalizados.
Exemplo: Dois servidores com diferentes pontuações de sinal
A tabela a seguir calcula as pontuações de sinal de Ocupação para dois servidores diferentes com capacidade para 8 jogadores:
| Jogadores no servidor | Pontuação de ocupação | |
|---|---|---|
| Servidor A | 2 | 2/8 = 0.25 |
| Servidor B | 6 | 6/8 = 0.75 |
O sinal de ocupação classifica o Servidor B de forma mais alta e considera-o uma melhor opção para o jogador que está entrando.
Pesos
O peso de um sinal descreve a importância desse sinal em relação a outros sinais. Um peso maior aumenta a contribuição do sinal para a pontuação do servidor. O valor após multiplicar uma pontuação de sinal por seu peso é chamado de sinal ponderado.
Os sinais não podem ter pesos negativos. Se o peso de um sinal for 0, esse sinal não é considerado para pontuação.
Exemplo: Ponderando a pontuação de ocupação
A tabela a seguir calcula as pontuações ponderadas de sinal de Ocupação para um lugar com capacidade para 8 jogadores e um peso de sinal de Ocupação de 2:
| Jogadores no servidor | Pontuação de ocupação | Pontuação de ocupação ponderada | |
|---|---|---|---|
| Servidor A | 2 | 2/8 = 0.25 | 0.25 * 2 = 0.5 |
| Servidor B | 6 | 6/8 = 0.75 | 0.75 * 2 = 1.5 |
Exemplo: Duas configurações com pesos diferentes
Pesos diferentes também podem fazer com que o sistema de matchmaking escolha servidores diferentes. A tabela a seguir calcula as pontuações dos servidores de dois servidores com diferentes configurações de matchmaking. A Configuração 2 tem um peso maior para seu sinal de Ocupação, e o Servidor A tem um amigo do jogador que está entrando nele.
| Amigos | Ocupação | |||||
|---|---|---|---|---|---|---|
| Peso | Pontuação | Peso | Pontuação | Pontuação total | ||
| Config 1 | Servidor A | 1 | 1 | 5 | 0.25 | 1 * 1 + 5 * 0.25 = 2.25 |
| Servidor B | 1 | 0 | 5 | 0.75 | 1 * 0 + 5 * 0.75 = 3.75 | |
| Config 2 | Servidor A | 3 | 1 | 5 | 0.25 | 3 * 1 + 5 * 0.25 = 4.25 |
| Servidor B | 3 | 0 | 5 | 0.75 | 3 * 0 + 5 * 0.75 = 3.75 | |
Pontuação do servidor
A pontuação do servidor é calculada pela seguinte fórmula de soma ponderada, que soma as pontuações de sinal ponderadas de um servidor:
Configurações de matchmaking
Uma configuração de matchmaking é o conjunto de sinais e pesos utilizados para pontuar servidores de um lugar. Por padrão, todos os servidores de todos os lugares são pontuados pela configuração padrão do Roblox, o que significa que você não precisa personalizar ou ativar nenhuma configuração para usá-la.
A configuração padrão do Roblox inclui os seguintes sinais e pesos:
| Sinal | Peso |
|---|---|
| Amigos | 15 |
| Latência | 3 |
| Chat de texto | 3 |
| Ocupação | 2 |
| Histórico de jogos | 2 |
| Idioma | 2 |
| Idade | 1 |
| Chat de voz | 1 |
| Tipo de dispositivo | 0 |
Na configuração padrão do Roblox, o peso do sinal Amigos é maior do que a soma dos pesos de todos os outros sinais. Isso significa que, se disponíveis, o jogador que está entrando é sempre combinado a servidores com amigos (ou jogadores no mesmo endereço IP) neles.
O sinal Tipo de Dispositivo existe na configuração padrão, mas tem um peso de 0, então não afeta as decisões de matchmaking. Você pode ajustar esse peso quando personalizar o matchmaking.
Para mais informações sobre cada sinal do Roblox, veja Sinais existentes.
Conceitos avançados
Os seguintes são conceitos mais avançados sobre o processo de matchmaking.
Normalização
Sinais normalizam os valores dos atributos para serem números entre 0 e 1. Sinais numéricos podem ser normalizados por qualquer número positivo, chamado de fator de normalização. Se o valor normalizado for maior que 1, ele é limitado a 1.
Exemplo: Projetando o sinal de Idade
O sinal de Idade mede a diferença entre a idade média dos jogadores no servidor e a idade do jogador que está entrando.
Servidores com diferenças de idade além de 25 são todos considerados igualmente incompatíveis com o jogador. Por exemplo, uma diferença de idade de 25 não é pior para um jogador do que uma diferença de idade de 26, então ambos os valores devem levar a pontuação do sinal a 0. Neste caso, 25 é considerado o fator de normalização.
A pontuação do sinal é inversamente relacionada à diferença de idade, o que significa que a pontuação do sinal é maior quando a diferença de idade é menor.
A tabela a seguir mostra as pontuações do sinal de Idade com dois diferentes fatores de normalização:
| Idade | Fator de normalização: 100 | Fator de normalização: 25 |
|---|---|---|
| 50 | 0.5 | 0 |
| 25 | 0.75 | 0 |
| 12 | 0.88 | 0.52 |
| 5 | 0.95 | 0.8 |
| 0 | 1 | 1 |
O sinal com um fator de normalização de 25 considera as diferenças de idade de 5 anos e 12 anos como mais distantes. Fatores de normalização menores têm o efeito de amplificar aumentos ou diminuições marginais na diferença de idade.
Magnitudes de peso
Um peso indica a importância de um sinal em relação a outros sinais em uma configuração. As magnitudes relativas dos pesos determinam a importância do sinal, não suas magnitudes absolutas.
Exemplo: Magnitude relativa vs absoluta
A tabela abaixo calcula as pontuações de servidor de dois servidores com duas diferentes configurações de matchmaking. A Configuração 5 e a Configuração 6 têm pesos de Ocupação superiores aos seus respectivos pesos de Amigos. O Servidor A tem um amigo do jogador que está entrando nele.
| Amigos | Ocupação | |||||
|---|---|---|---|---|---|---|
| Peso | Pontuação | Peso | Pontuação | Pontuação total | ||
| Config 5 | Servidor A | 10.000 | 1 | 15.000 | 0.25 | 10.000 * 1 + 15.000 * 0.25 = 13.750 |
| Servidor B | 10.000 | 0 | 15.000 | 0.75 | 10.000 * 0 + 15.000 * 0.75 = 11.250 | |
| Config 6 | Servidor A | 0.01 | 1 | 0.05 | 0.25 | 0.01 * 1 + 0.05 * 0.25 = 0.0225 |
| Servidor B | 0.01 | 0 | 0.05 | 0.75 | 0.01 * 0 + 0.05 * 0.75 = 0.0375 | |
O Servidor A vence na Configuração 5, enquanto o Servidor B vence na Configuração 6. Isso acontece porque o peso de Ocupação da Configuração 5 é apenas 1,5x seu peso de Amigos, enquanto o peso de Ocupação da Configuração 6 é 5x seu peso de Amigos.
Apesar das diferenças nas magnitudes absolutas, a Configuração 6 prioriza Ocupação sobre Amigos mais do que a Configuração 5.