News

Entwicklertagebuch - Matchmaking 2.0

Autor: Javier Olivares, Lead Programmer

Hallo Zusammen,

Ein neues Feature wurde mit Update 0.13 eingeführt - das überarbeitete Matchmaking 2.0. Wir wissen, dass es immer noch Probleme gibt, die behoben werden müssen und möchten in diesem Artikel einige Themen und deren Implementierung ansprechen, um die Funktion der einzelnen Elemente zu erklären.

Teamaufteilung

Die Teamaufteilung beginnt mit einer Auswahl von 30 Spielern, die vom Matchmaker für einen Kampf bestimmt werden. Diese Basisrunde von 30 Spielern wird nach bestimmten Kriterien zusammengestellt, die eine bestmögliche Balance ermöglicht. scr3

Zu Beginn der Teamaufteilung wird die Auswahl nach Tier, Kategorie und Gewinnrate sortiert (zunächst ohne Beachtung von Kampfzügen und Artillerie). Das bedeutet, dass die hochrangigen Tiers in der Liste oben stehen, mit den KPz jeweils oben im Tier und nach Gewinnrate sortiert.

Anschließend werden die Teams nach dem „ABBA“-System geteilt; dabei wird oben in der Liste beginnend jeder Spieler nach folgenden Kriterien einem Team zugeteilt (sobald ein Kriterium greift, werden die darauf folgenden Kriterien ausgelassen):

  1. Wenn ein Team bereits 2 Vertreter der betreffenden Klasse aufweist, wird der aktuelle Spieler dem anderen Team zugewiesen. Bei einem zusätzlichen Klassenvertreter wäre die Tier-Balance gestört.
  2. Sobald ein Team weniger „Tierpunkte“ (Summe der vorhandenen Panzertiers) besitzt, wird ihm der aktuelle Spieler zugeteilt.
  3. Sobald ein Team weniger Spieler hat, wird ihm der aktuelle Spieler zugeteilt.
  4. Bei gleichen Voraussetzungen wird ein Team zufällig zugeteilt.

In seltenen Fällen werden Teams nachjustiert, vor allem bei Überzahl. Dabei werden Spieler niedriger Ränge des dominierenden Teams zum zahlenmäßig unterlegenen Team versetzt, bis die Teams passen.

  1. Errechne die durchschnittliche Gewinnrate der beiden Teams und greife balancemäßig ein, wenn der Unterschied gleich oder mehr als 1 Prozentpunkt beträgt.
  2. Sobald die Spieler nach Gewinnrate sortiert sind, beginne mit dem besten Spieler des dominierenden Teams und dem schlechtesten Spieler des zahlenmäßig unterlegenen Teams.
  3. Tausche die beiden Spieler aus, wenn sie dasselbe Tier und dieselbe Kategorie besitzen und die Balance nicht stören, ansonsten rutsche in der jeweiligen Liste weiter, um ein passendes Paar zu finden.
  4. Nach dem Tausch, wiederhole ab Schritt a) bis kein Wechsel möglich ist.

Artillerie wird nach Schritt 1 und 2 oben in der Liste platziert, sodass sie in Teams oben auftaucht, nach Tier und Gewinnrate balanciert. Die Sache mit Kampfzügen ist etwas komplizierter; sie werden zunächst sortiert und nach Tier und Gewinnrate gegenübergestellt. Mitglieder von Kampfzügen werden den Teams im 2. Schritt zugeteilt und zwar in der vorsortierten Rangordnung, sodass nicht sämtliche Kampfzugmitglieder vorne landen und die Balance gewahrt bleibt. Da die Paarung von Kampfzügen mit passenden Gegenspielern durchaus noch verbessert werden kann, arbeiten weiterhin an einer zufriedenstellenden Lösung.

Glättung der durchschnittlichen Gewinnrate

Wir balancieren die durchschnittliche Gewinnrate aufgrund der statistischen Daten zum Einfluss der Gewinnrate auf den Ausgang von Kämpfen. Bei der Auswertung dieser Daten fanden wir heraus, dass bereits ein kleiner Vorteil von 2 oder 3 Prozentpunkten genügt, um die Gewinnwahrscheinlichkeit bedeutend zu erhöhen. Die nachfolgende Auswertung basiert auf Daten aus über 30.000 Kämpfen vor Einführung des Algorithmus.

scr1

Vor der Einführung der Gewinnratenglättung lagen nur 40% der Kämpfe innerhalb des +/- 1-%-Bereichs, 30% im Bereich von +/- 2 Prozentpunkten und 30% im Bereich +/- 3 oder mehr. Nach der Einführung des glättenden Algorithmus liegen über 99% der Kämpfe im Bereich von +/- 1 Prozent (basierend auf Angaben aus 140.000 Kämpfen).

Erdrutschsiege

Was „Erdrutschsiege“ bei AW betrifft, so neigen wir dazu sie, sie eher als Nebenprodukt der temporeichen Beschaffenheit des Spiels zu betrachten, und weniger als Ergebnis eines schlecht eingestellten Matchmakers. Die folgende Aufstellung zeigt die Anzahl der Überlebenden der Gewinnerteams aufgrund von Daten aus über 28.000 Kämpfen:

scr2

Es ist jedem selbst überlassen, diese Daten zu interpretieren, typischerweise gibt es bei Kämpfen aber 7-9 Überlebende, während mehr als 10 Überlebende (28% der Kämpfe) ebenfalls zu den normalen Kampfausgängen gezählt werden können. Das spricht für die „Schneeballtheorie“, nach der Teams mit relativ geringen Vorteilen (sowohl zahlenmäßig, als auch in Sachen HP) eher eine Chance haben, das gegnerische Team schnell zu besiegen. Auch unsere Beobachtungen kompetitiver Kämpfe mit zwei gleich stark aufgestellten Teams stützen diese Theorie. Erdrutschsiege sind nicht etwas, was wir anstreben und natürlich würden wir knapp ausgehende Gefechte bevorzugen, was angesichts der vielen spielbestimmenden Faktoren allerdings unrealistisch ist.

Was wir weiterhin machen werden, ist die Gameplaymechanik und Kartenbalance zu justieren, um knappere Kampfausgänge zu fördern. Theorien über eine schlecht ausbalancierte Matchmaker-Mechanik würden einen Matchmaker voraussetzen, der ungeachtet der zufälligen Verteilung unzähliger Spieler über einen langen Zeitraum konsequent schlecht ausbalancierte Kämpfe zusammenstellt, was einfach nicht den Tatsachen entspricht.

Wir hoffen, dass dieser Artikel einige Fragen beantwortet und freuen uns, euch auf dem Schlachtfeld zu sehen!

Nach oben

Sei dabei!