Die Bewertungsformel
Server werden mithilfe einer gewichteten Summenformel bewertet. Es gibt vier Teile zu dieser Formel:
- Attribute, die Daten sind, die Spieler und Server beschreiben, wie zum Beispiel das Alter des Spielers oder die Belegung des Servers.
- Signale, die Attribute in Zahlen zwischen 0 und 1 umwandeln.
- Gewichte, die die relative Wichtigkeit der Signale beschreiben.
- Die Serverbewertung, die die Kompatibilität des Servers mit dem beitretenden Spieler misst.
Der beitretende Spieler wird dem Server mit der höchsten Serverbewertung zugeordnet.
Attribute
Attribute sind Daten, die Spieler und Server beschreiben. Der Wert eines Attributs kann eine Zahl oder eine Zeichenkette sein. Wenn der Wert eines Attributs eine Zeichenkette ist, wird es als kategoriales Attribut bezeichnet. Wenn der Wert eines Attributs eine Zahl ist, wird es als numerisches Attribut bezeichnet.
Für eine vollständige Liste aller verfügbaren Roblox-Attribute siehe Vorhandene Attribute. Für weitere Informationen über benutzerdefinierte Attribute siehe Benutzerdefinierte Attribute.
Beispiel: Kategoriale und numerische Attribute
| Kategoriale Attribute |
|---|
| Hat Freunde ist ein kategoriales Attribut, weil sein Wert die Zeichenkette "true" ist, wenn es einen bevorzugten Spieler auf diesem Server gibt, und "false", wenn es keine bevorzugten Spieler auf diesem Server gibt. |
| Sprache ist ein kategoriales Attribut, weil sein Wert die Spracheinstellung des Spielers ist, wie zum Beispiel "Japanisch". |
| Numerische Attribute |
| Alter ist ein numerisches Attribut, weil sein Wert das Alter des Spielers ist. |
| Belegung ist ein numerisches Attribut, weil sein Wert die Anzahl der Spieler ist, die sich derzeit auf diesem Server befinden. |
Signale
Signale wandeln Attributwerte in Zahlen zwischen 0 und 1 um, die als Signale Scores bezeichnet werden. Ein Signal Score von 1 sagt eine hohe Spielerkompatibilität voraus, während ein Signal Score von 0 eine niedrige Spielerkompatibilität vorhersagt. Abhängig vom Attribut können Transformationen verschiedene Aggregationen, Vergleiche und Normalisierungen umfassen.
Für eine vollständige Liste der bestehenden Roblox-Signale siehe Vorhandene Signale. Für weitere Informationen über benutzerdefinierte Signale siehe Benutzerdefinierte Signale.
Beispiel: Zwei Server mit unterschiedlichen Signal Scores
Die folgende Tabelle berechnet die Belegungs-Signal Scores für zwei verschiedene Server mit einer Kapazität für 8 Spieler:
| Spieler im Server | Belegungs-Score | |
|---|---|---|
| Server A | 2 | 2/8 = 0.25 |
| Server B | 6 | 6/8 = 0.75 |
Der Belegungs-Signal Score bewertet Server B höher und betrachtet ihn als besser geeignet für den beitretenden Spieler.
Gewichte
Das Gewicht eines Signals beschreibt die Bedeutung dieses Signals im Verhältnis zu anderen Signalen. Ein höheres Gewicht erhöht den Beitrag des Signals zur Serverbewertung. Der Wert nach der Multiplikation eines Signal Scores mit seinem Gewicht wird als gewichtetes Signal bezeichnet.
Signale dürfen keine negativen Gewichte haben. Wenn das Gewicht eines Signals 0 ist, wird dieses Signal nicht in die Bewertung einbezogen.
Beispiel: Gewichtung des Belegungs-Scores
Die folgende Tabelle berechnet die gewichteten Belegungs-Signal Scores für einen Ort mit einer Kapazität für 8 Spieler und einem Belegungs-Signalgewicht von 2:
| Spieler im Server | Belegungs-Score | Gewichteter Belegungs-Score | |
|---|---|---|---|
| Server A | 2 | 2/8 = 0.25 | 0.25 * 2 = 0.5 |
| Server B | 6 | 6/8 = 0.75 | 0.75 * 2 = 1.5 |
Beispiel: Zwei Konfigurationen mit unterschiedlichen Gewichten
Unterschiedliche Gewichte können auch dazu führen, dass das Matchmaking verschiedene Server auswählt. Die folgende Tabelle berechnet die Serverbewertungen von zwei Servern mit unterschiedlichen Matchmaking-Konfigurationen. Konfiguration 2 hat ein höheres Gewicht für ihr Belegungs-Signal, und Server A hat einen Freund des beitretenden Spielers auf sich.
| Freunde | Belegung | |||||
|---|---|---|---|---|---|---|
| Gewicht | Score | Gewicht | Score | Gesamt-Score | ||
| Konfiguration 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 | |
| Konfiguration 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 | |
Serverbewertung
Die Serverbewertung wird durch die folgende gewichtete Summenformel berechnet, die die gewichteten Signal Scores eines Servers summiert:
Matchmaking-Konfigurationen
Eine Matchmaking-Konfiguration ist die Menge von Signalen und Gewichten, die verwendet wird, um Server eines Ortes zu bewerten. Standardmäßig werden alle Server aller Orte mit der standardmäßigen Roblox-Konfiguration bewertet, was bedeutet, dass Sie keine Einstellungen anpassen oder aktivieren müssen, um sie zu verwenden.
Die Standardkonfiguration von Roblox beinhaltet die folgenden Signale und Gewichte:
| Signal | Gewicht |
|---|---|
| Freunde | 15 |
| Latanz | 3 |
| Textchat | 3 |
| Belegung | 2 |
| Spielverlauf | 2 |
| Sprache | 2 |
| Alter | 1 |
| Voice-Chat | 1 |
| Gerätetyp | 0 |
In der Standardkonfiguration von Roblox ist das Gewicht des Freundesignals höher als die Summe der Gewichte aller anderen Signale. Das bedeutet, dass, wenn verfügbar, der beitretende Spieler immer mit Servern mit Freunden (oder Spielern mit derselben IP-Adresse) verbunden wird.
Das Signal Gerätetyp existiert in der Standardkonfiguration, hat aber ein Gewicht von 0, sodass es keine Auswirkungen auf die Matchmaking-Entscheidungen hat. Sie können dieses Gewicht anpassen, wenn Sie das Matchmaking anpassen.
Für weitere Informationen über jedes Roblox-Signal siehe Vorhandene Signale.
Fortgeschrittene Konzepte
Die folgenden Konzepte sind fortgeschrittenere Aspekte des Matchmaking-Prozesses.
Normalisierung
Signale normalisieren Attributwerte, um Zahlen zwischen 0 und 1 zu erhalten. Numerische Signale können durch jede positive Zahl normalisiert werden, die als Normalisierungsfaktor bezeichnet wird. Wenn der normalisierte Wert größer als 1 ist, wird er auf 1 begrenzt.
Beispiel: Gestaltung des Altersignals
Das Altersignal misst die Differenz zwischen dem Durchschnittsalter der Spieler im Server und dem Alter des beitretenden Spielers.
Server mit Altersdifferenzen über 25 werden alle als gleich inkompatibel mit dem Spieler angesehen. Zum Beispiel ist eine Altersdifferenz von 25 für einen Spieler nicht schlimmer als eine Altersdifferenz von 26, sodass beide Werte den Signal Score auf 0 setzen sollten. In diesem Fall wird 25 als Normalisierungsfaktor betrachtet.
Der Signal Score ist umgekehrt proportional zur Altersdifferenz, was bedeutet, dass der Signal Score höher ist, wenn die Altersdifferenz kleiner ist.
Die folgende Tabelle zeigt Altersignal Scores mit zwei verschiedenen Normalisierungsfaktoren:
| Alter | Normalisierungsfaktor: 100 | Normalisierungsfaktor: 25 |
|---|---|---|
| 50 | 0.5 | 0 |
| 25 | 0.75 | 0 |
| 12 | 0.88 | 0.52 |
| 5 | 0.95 | 0.8 |
| 0 | 1 | 1 |
Das Signal mit einem Normalisierungsfaktor von 25 betrachtet die Altersdifferenzen von 5 Jahren und 12 Jahren als weiter auseinander. Kleinere Normalisierungsfaktoren haben den Effekt, marginale Erhöhungen oder Verringerungen in der Altersdifferenz zu verstärken.
Gewichtsmagnituden
Ein Gewicht zeigt die Bedeutung eines Signals im Verhältnis zu anderen Signalen in einer Konfiguration an. Die relativen Magnituden der Gewichte bestimmen die Signifikanz von Signalen und nicht deren absolute Magnituden.
Beispiel: Relative vs. absolute Magnitude
Die folgende Tabelle berechnet die Serverbewertungen von zwei Servern mit zwei verschiedenen Matchmaking-Konfigurationen. Konfiguration 5 und Konfiguration 6 haben Belegungsgewichte, die höher sind als die jeweiligen Freundegewichte. Server A hat einen Freund des beitretenden Spielers auf sich.
| Freunde | Belegung | |||||
|---|---|---|---|---|---|---|
| Gewicht | Score | Gewicht | Score | Gesamt-Score | ||
| Konfiguration 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 | |
| Konfiguration 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 | |
Server A gewinnt mit Konfiguration 5, während Server B mit Konfiguration 6 gewinnt. Das liegt daran, dass das Belegungsgewicht von Konfiguration 5 nur 1,5-mal so hoch ist wie das Freundegewicht, während das Belegungsgewicht von Konfiguration 6 5-mal so hoch ist wie das Freundegewicht.
Trotz der Unterschiede in den absoluten Magnituden priorisiert Konfiguration 6 die Belegung mehr als Konfiguration 5 die Freunde.