Die Bewertungsformel
Server werden mit einer gewichteten Summenformel bewertet. Es gibt vier Teile dieser Formel:
- Attribute, die Daten sind, die Spieler und Server beschreiben, wie z. B. das Alter des Spielers oder die Serverauslastung.
- Signale, die Attribute in Zahlen zwischen 0 und 1 umwandeln.
- Gewichte, die die relative Bedeutung von Signalen beschreiben.
- Die Server-Bewertung, die die Kompatibilität des Servers mit dem beitretenden Spieler:inmisst.
Der anschließende Spieler wird mit dem Server mit der höchsten Serpunktzahl abgestimmt.
Attribute
Attribute sind Daten, die Spieler und Server beschreiben.Der Wert eines Attributs kann eine Zahl oder eine Stringsein.Wenn der Wert eines Attributs eine Stringist, wird es als kategorisches 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 sehen Sie Bestehende Attribute.Für weitere Informationen über benutzerdefinierte Attribute siehe Benutzerdefinierte Attribute.
Beispiel: Kategorische und numerische Attribute
Kategorische Attribute |
---|
Hat Freunde ist ein kategorisches Attribut, weil sein Wert der String "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 kategorisches Attribut, weil ihr Wert die Einstellungdes Spieler:inist, wie "Japanisch". |
Zahl属性 |
Alter ist ein numerisches Attribut, weil sein Wert das Alter des Spieler:inist. |
Besetzung ist ein numerisches Attribut, weil sein Wert die Anzahl der Spieler ist, die sich derzeit auf diesem Server befinden. |
Signale
Signale transformieren Attributswerte in Zahlen zwischen 0 und 1, die als Signalpunkte bezeichnet werden.Ein Signalscore von 1 prognostiziert eine hohe Spielerkompatibilität, während ein Signalscore von 0 eine niedrige Spielerkompatibilität prognostiziert.Abhängig vom Attribut können Transformationen verschiedene Aggregationen, Vergleiche und Normalisierungen enthalten.
Für eine vollständige Liste der vorhandenen Roblox-Signale siehe Bestehende Signale. Für weitere Informationen über benutzerdefinierte Signale siehe Benutzerdefinierte Signale.
Beispiel: Zwei Server mit unterschiedlichen Signalpunktezahlen
Die folgende Tabelle berechnet Besetzungssignal-Werte für zwei verschiedene Server mit Kapazität für 8 Spieler:
Spieler auf dem Server | Belegungsscore | |
---|---|---|
Server A | 2 | 2/8 = 0.25 |
Server B | 6 | 6/8 = 0.75 |
Das Besetzungssignal bewertet Server B höher und betrachtet es als besseren Pass für den beitretenden Spieler:in.
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 Server-Bewertung.Der Wert, nachdem ein Signalscore durch sein Gewicht multipliziert wurde, wird als gewichtetes Signal bezeichnet.
Signale können keine negativen Gewichte haben. Wenn das Gewicht eines Signals 0 ist, wird dieses Signal für die Bewertung nicht berücksichtigt.
Beispiel: Gewichtung der Besetzungsscore
Die folgende Tabelle berechnet gewichtete Belegungssignal-Werte für einen Ort mit Kapazität für 8 Spieler und einem Belegungssignalgewicht von 2:
Spieler auf dem Server | Belegungsscore | Gewichteter Belegungsscore | |
---|---|---|---|
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 unterschiedlichem Gewicht
Verschiedene Gewichte können auch dazu führen, dass Matchmaking verschiedene Server wählt.Die folgende Tabelle berechnet die Serverscores von zwei Servern mit unterschiedlichen Matchmaking-Konfigurationen.Konfiguration 2 hat ein höheres Gewicht für ihr Besetzungssignal und Server A hat einen Freund des beitretenden Spielers darin.
Freunde | Besetzung > | |||||
---|---|---|---|---|---|---|
Gewicht | Punktzahl > | Gewicht > | Punktzahl > | Gesamtpunktzahl > | ||
Konfigurieren 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 | |
Konfigurieren 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 |
Server-Punktzahl
Die Server-Bewertung wird durch die folgende gewichtete Summenformel berechnet, die die gewichteten Signalnoten eines Servers addiert:
ServerScore= WeightedSignalScore_1 + WeightedSignalScore_2 + ... + WeightedSignalScore_n= Weight_1 * SignalScore_1 + Weight_2 * SignalScore_2 + ... + Weight_n * SignalScore_n
Matchmaking-Konfigurationen
Eine Matchmaking-Konfiguration ist die Zusammenstellung von Signalen und Gewichten, die verwendet werden, um Server eines Ortes zu bewerten.Standardmäßig werden alle Server aller Orte von der Standardkonfiguration von Roblox bewertet, was bedeutet, dass Sie keine Einstellungen anpassen oder aktivieren müssen, um es zu verwenden.
Die Standardkonfiguration von Robox enthält die folgenden Signale und Gewichte:
Signale | Gewicht |
---|---|
Freunde | 10 |
Latenz | 3 |
Belegung | 2 |
Spielhistorie | 2 |
Alter | 1 |
Sprache | 1 |
Chat | 1 |
Gerätetyp | 0 |
Im Standard-Roblox-Konfiguration ist das Gewicht des Freundessignals größer als die Summe der Gewichte aller anderen Signale.Das bedeutet, dass der anschließende Spieler immer mit Servern mit Freunden (oder Spielern auf derselben IP-Adresse) abgestimmt wird, wenn verfügbar.
Das Gerätetyp-Signal existiert in der Standardkonfiguration, hat aber ein Gewicht von 0, so dass es keine Auswirkung 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 Bestehende Signale.
Erweiterte Konzepte
Die folgenden sind fortgeschrittene Konzepte über den Matchmaking-Prozess.
Normalisierung
Signale normalisieren Attributswerte auf Zahlen zwischen 0 und 1.Zahlensignale können durch eine positive Zahl normalisiert werden, die als Normalisierungsfaktor bezeichnet wird.Wenn der normalisierte Wert größer als 1 ist, wird er auf 1 beschränkt.
Beispiel: Das Design des Alterssignals
Das Altersignal misst den Unterschied zwischen dem Durchschnittsalter der Spieler auf dem Server und dem Alter des beitretenden Spieler:in.
ageDifference = abs(avgServerAge - joiningPlayerAge)
Server mit Altersunterschieden über 25 werden alle als inkompatibel mit dem Spieler:inbetrachtet.Zum Beispiel ist ein Altersunterschied von 25 für einen Spieler nicht schlimmer als ein Altersunterschied von 26, also sollten beide Werte die Signalpunktzahl auf 0 bringen.In diesem Fall wird 25 als Normalisierungsfaktor betrachtet.
normAgeDifference = min(1, abs(avgServerAge - joiningPlayerAge) / 25)
Die Signalpunktzahl ist umgekehrt mit dem Altersunterschied verbunden, was bedeutet, dass die Signalpunktzahl höher ist, wenn der Altersunterschied kleiner ist.
ageDifferenceSignalScore = 1 - normAgeDifference
Die folgende Tabelle zeigt Altersignal-Wertungen mit zwei verschiedenen Normalisierungsfaktoren:
Alter | Normalisierungsgrad: 100 | Normalisierungsgrad: 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 5-Jahres- und 12-Jahres-Altersunterschiede als weiter auseinander.Kleinere Normalisierungsfaktoren haben die Wirkung, marginal erhöhte oder gesunkene Zunahmen oder Abnahmen im Altersunterschied zu verstärken.
Gewichtsgrößen
Ein Gewicht zeigt die Bedeutung eines Signals im Verhältnis zu anderen Signalen in einer Konfiguration an.Die relativen Größen der Gewichte bestimmen die Signalimportanz, nicht ihre absoluten Größen.
Beispiel: Relative vs absolute Größe
Die folgende Tabelle berechnet die Serverscores von zwei Servern mit zwei verschiedenen Matchmaking-Konfigurationen.Konfiguration 5 und Konfiguration 6 haben Gewichte für die Besetzung höher als die Gewichte ihrer jeweiligen Freunde.Server A hat einen Freund des beitretenden Spielers darin.
Freunde | Besetzung > | |||||
---|---|---|---|---|---|---|
Gewicht | Punktzahl > | Gewicht > | Punktzahl > | Gesamtpunktzahl > | ||
Konfigurieren 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 | |
Konfigurieren 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 der Belegungsgewicht von Konfiguration 5 nur 1,5x sein Gewicht von Freunden ist, während der Belegungsgewicht von Konfiguration 6 5x sein Gewicht von Freunden ist.
Trotz unterschiedlicher absoluter Größen priorisiert Konfiguration 6 die Besetzung über Freunde mehr als Konfiguration 5.