Posted 14 April 2014 - 08:15 AM
Ok da ich diesen Beitrag auch im Vorschlagsthread gepostet habe und er daher wohl übersetzt und an PGI geschickt wird dachte ich mir wir machen Nägel mit Köpfen und verpassen dem ganzen einen richtigen Schuh.
Rankingssystem auf Elobasis:
Jedes Chassis hat seinen eigenen Elowert (Startwert: 1000). [Bisher erfolgte die Einteilung des Elowertes nach, Kadett und den Gewichtsklassen, Light/Medium/Heavy/Assault - allerdings ist ein guter Ravenpilot nicht zwangsläufig auch ein guter Jennerpilot, viele Spieler haben auch Lieblingsmechs mit denen Sie herausragend sind, leveln aber zwischendurch auch immer wieder mal andere Chassis der selben Gewichtsklasse auf, dies sollte berücksichgt werden - dazu komme ich später.]
Der Matchmaker unterteilt in 3 Tiers (Rookies 0-1500, Veteranen 1501-2500 und Elitepiloten 2501+). [Dies habe ich von dem Entwurf der Private Matches übernommen.]Der Elowert kann niemals unter 0 fallen oder die 3000 übersteigen. Premades werden vom Matchmaker als Durchschnittswerte eingefügt (Eine Ausbildungspremade mit 2 Anfängern Elo je 1000, einem Veteranen mit Elo 1800 und einem Elitepiloten mit einem Elo von 2700, würde als 1625 gewertet werden und damit in die Veteranen-Tier eingeteilt werden). Wie bereits für die Private Matches angekündigt werden nach einer Searching-Zeit von 3 Minuten die Tiers um die nächst höhere und/oder niedrigere Tier erweitert um das Match voll zu kriegen (Bsp. Unsere Ausbildungspremade hat nach 3 Minuten noch nicht genügend Mitspieler für ein Match innerhalb des Veteranentiers gefunden, 3 fehlen noch - diese 3 können jetzt auch aus der Elite und Rookie - Ebene genommen werden, hätte aber der Rookie "Amarock" zuerst den Button gedrückt, sprich er wär zuerst im Matchfinder gelandet, hätte er eine Rookie-Lobby geöffnet - nach drei Minuten und noch 7 fehlenden Spielern, sowie einer fehlenden Premade (max. eine pro Seite), hätte der Matchmaker den Gegnern von "Amarock" 3 Veteranen zugeteilt und "Amarock" hätte unsere Ausbildungspremade bekommen. [Man sieht das das Elo/Rankingssystem umso weniger greift, je mehr Spieler aus anderen Tiers eingefügt werden müssen, was sich aber nur durch mehr Spieler ändern lässt.]
Diese Mechanik wird aber noch um einen Korrekturwert verändert. Dieser ist -20% bis +20% und abhängig von den Skills des Mechs sowie den mitgenommenen Modulen.[Dies ist wichtig, da ein aufgespielter ECM-Raven mit 2 aufgespielten Strikes wesentlich gefährlicher ist als ein Trial-Mech unter der Prämisse das beide Piloten mit ihren Mechs die selbe Elo haben.] Skills des Mechs - Basiswert -10%: (Im Grunde haben wir nur 10 Skills, da der 2 der Eliteskills nicht funktionieren, allerdings werden die Basics mit den Elite verdoppelt, das macht also 18 Skills - der Masterslot wird nicht miteinberechnet, dies kommt erst später bei den Modulen)
- Der Basiswert wird um jeden Basisskill um 1,17 angehoben (alle Basics geben also -0,64%), Quick Ignition und Speed Tweak heben den Basiswert ebenfalls um 1,17 an, sind alle Eliteskills da ergibt sich der maximale Aufschlag von +10%.
- Die maximale Anzahl von Modulen ist 4, das teuerste Modul kostet 6.000.000 Cbills, daher nehmen wir 24.000.000 als Maximum was +10% entspricht und 0 Cbills an verbauten Modulen entspricht -10%. Allerdings haben wir Module in verschiedenen Stufen (Seismic 1 und 2, Waffenupgrade Stufe 1 und 2 später bis 5) und wir haben verbrauchbare Module. Daher wird vom maximalem Level eines Modules +1 das eingebaute Modullevel abgezogen und dieser Wert als Quotient auf die Cbills des Modules angewendet. (Bsp. Seismic Stufe 1 ist eingebaut -> (Maximale Stufe) 2 + 1 - 1 (eingebaute Modulstufe) = 2 -> 6.000.000 (Cbills für das Modul) / 2 = 3.000.000 (an die Stufe angepasster CBill-Wert für das Modul) Verbrauchbare Module werden mit 100 multipliziert. (Bsp. UAV mit einem Mechpilotenskill -> 40.000 (Cbillkosten) * 100 (weil es ein verbrauchbares Modul ist) / 2 (Max. Modulstufe + 1 minus verbauter Modulstufe) = 2.000.000 (Cbills)
Hierzu noch ein Komplexbeispiel: Atlas mit Elo 1380, Basisskills, PinPoint und SpeedTweak, einem Seismic Stufe 2, einem Arti Stufe 1 und einem Target Info Gathering Modul
-10% + 1,17% * 8 (Basisskills) + 1,17% (für SpeedTweak, PinPoint wird nicht aufaddiert da der Skill eh keine Auswirkung auf das Spiel hat) = 0,53 %
6.000.000 (Seismic Stufe 2) + 40.000 * 100 / 2 (für den Arti ohne den zusätzlichen Mechpilotenskill für Artis) + 4.000.000 = 12.000.000 Cbills -> Jetzt kommt bischen Dreisatz 24.000.000 = 20 -> 12.000.000 = 10 sprich 0 % (da wir ja von -10 bis 10 % gehen) [Ich blick hier grad nicht mehr durch, da ich ja bei -10 bis 10 eigentlich 21 Zahlen habe, weil die Null ja auch auf dem Zahlenstrang liegt, oder??]
Ergibt also: 0,53% + 0% = 0,53% -> Elo 1380 + 7 (gerundet) = modifiziertes Elo von 1387 , dagegen hätte dieser Pilot in dem selben Mech als Trial-Variante lediglich einen modifizierten Elo von 1104 [Was jetzt natürlich völlig unsinnige Rechnerei ist weil beide in der Rookie-Tier landen, aber so funktioniert das halt]
So mit diesem modifizierten Elowert kommt man jetzt in den Matchmaker wie oben beschrieben und wird entsprechend der zugeordneten Tier eingeordnet, bzw. nach 3 Minuten auch der nächst höher oder tiefer gelegenen Tier.
Jetzt wird gedaddelt, danach soll der Elowert jedes einzelnen Piloten anhand seiner Leistung beurteilt werden und in Elomanier in Relation zur Elostärker seiner Gegner angepasst werden. Easy Peasy. Hierfür benötigen wir ein Kriterium nach dem wir die Leistung beurteilen und einen Elodifferenzbeiwert um den wir den Eloaufstieg/abstieg modifizieren.
Das Kriterium ist der absolute Knackpunkt. Was nehmen wir hier? Den Damage, die Kills ... Diskutieren wir das mal: Bedenkt man das einem ständig Kills weggeschnappt werden sind diese nur bedingt relevant und können Assists eigentlich gleichgesetzt werden, allerdings mit einem leichten Bonus gegenüber den Assists weil es ja einen Unterschied macht, ob ich nur einmal mit dem Laser drüber schwenke oder den Gegner gezielt ausschalte. Sagen wir 10 Punkte pro Assist und 12 Punkte pro Kill. Damage sagt eigentlich gar nichts aus, ich kann einen Atlas mit einer Doppel-AC/20 Headshotten, ich kann aber auch 400+ Damage an Raketen und Artis in den reinballern. Zerstörte Komponenten beruht auf dem Glücksfaktor und die spielerische Leistung sollte nicht nach dem Würfelglück beim Kritten bewertet werden. Zudem sollte Friendly Fire ebenfalls berücksichtigt werden (und nein - wenn dir einer reinrennt, ist der zwar Schuld aber dir werden trotzdem die Punkte abgezogen - Friendly Fire ist ein NO-GO. Daraus resultiert meine folgende Überlegung: Nur Schaden der kritisch ist wird gezählt, von diesem wird noch der Friendly Fire-Schaden (der zählt aber immer, auch wenn er nicht kritisch ist) abgezogen (um allen "Hornochsen" den Elo nicht völlig zu versauen, kann dieser Wert nicht unter 0 fallen). Zerstörte Komponenten sind irrelevant (weil eh nur Glück). Um Helden zu belohnen gibt es +2 für diesen ganzen Savior Kill Murks. Um das Teamplay zu fördern gibt es +0,5 für jeden Mech im eigenen Team (außer dem eigenen) der am Ende noch ALIVE ist. Um Cap-Warriors zu berücksichtigen, gibt es bis -10 bis +30 fürs cappen (der Atlas der halt gar nicht cappt, muss das durch einen guten Kampf ausgleichen, der Cap-Commando der von den Kämpfen nicht viel mitkriegt kann sich durchaus die vollen 30 Punkte verdienen, dies sollte nach der Zeit die Jemand cappt gerechnet werden nicht nach den Punkten, weil diese durch das Capture Modul wieder verzerrt werden könnten). Hierzu nimmt man die Zeit des Matches, teilt diese durch 2 und setzt sie gleich 41 - darauf wird die eigene Zeit mit eingerechnet die man gecappt hat (sagen wir ein 6 Minuten Match und man hat 2 Minuten in Cap-Punkten gestanden (zählt nur wenn man da auch wirklich was cappt) - wären dann so "Pi mal Daumen" 16 Punkte fürs cappen. Um Supporter mit einzubeziehen sollten Tags, Narcs, ECM - Counter und Spots ebenfalls mit einkalkuliert werden (da fällt mir aber gerade nix zu ein - zudem sind das hier nur spontane Zahlen, die müssen natürlich noch Balanced werden, ich bin zwar gern bereit hier einen Vorschlag auszuarbeiten für einen effizienten Matchmaker aber die "Suppe wird kalt serviert", den Feinschliff sollen die PGI-Designer mal selbst machen oder macht ihr hier halt paar Vorschläge).
Der Elodifferenzbeiwert errechnet sich aus der Differenz zwischen dem Gesamt-Elo beider Teams. Dieser Differenzwert wird durch 100 geteilt und als Prozentzahl angewendet, wobei bei einem Eloanstieg addiert und bei einem Eloabstieg subtrahiert wird.
So jetzt noch ein abschließendes Beispiel: Ein Rookie spielt sein erstes Match ...
Basiswert ist 1000, weil der Rookie in einen unaufgespielten Trial-Jenner steigt wird der Wert um 200 reduziert und der Rookie landet mit seinen modifizierten Elo von 800 im Rookie-Tier. Das Match geht los, erstmal rammt der Rookie einen anderen Mech aus seinem eigenen Team (-2 Teamdamage), er läuft "Todesmutig" allein über die Ridge und kriegt ne volle Packung (+ sagen wir mal 3 Punkte für die 3 Spots, der Rookie ballert zwar seine MLaser macht aber wegen der Entfernung nur wenig Schaden, zudem wird ja eh nur kritischer Schaden gewertet. Da der kleine Jenner jetzt schon mächtig Aua hat, läuft er zurück zum Team und rammt nochmal einen - 3 Teamdamage. Jetzt geht unser Jenner mal cappen, die Zeit auf dem Cap-Punkt wird gezählt, leider kriegt der Jenner besuch und verlässt den Cap-Punkt wieder, er kämpft jetzt gegen eine Spider - bereits ganz gut angeschossen - und unser Jennerpilot macht tatsächlich 32 Schaden auf kritische Zonen, killen tut die Spider zwar ein besserer Schütze aber immerhin (+10 für Assists), der Jenner kann weitercappen, das geht jetzt so weiter zum Ende hat das Team vom Jenner gewonnen (ist bisher nicht berücksichtig aber ok, geben wir für einen Sieg 10 Punkte), für seine Kamikazespottings kriegt der Jenner nochmal 12 Punkte, aus seinem Team haben auch recht viele überlebt was dem Jenner nochmal 6 Punkte bringt, zudem war der Jenner in ein richtig heißes Battle verstrickt wo er einen Savior Kill erzielen konnte + 3 und seine Kills und Assists dazu + 42, dazu noch sein rumgecappe + 12 - jetzt noch der Gesamtschaden auf kritische Zonen minus seinem Friendly Fire geteilt durch ach sagen wir mal 5 -> 64 - 44 = 20 / 5 = 4). So die ganzen Punkte addieren wir jetzt und Vergleichen das mit dem Durchschnittswert aller 24 Piloten, liegt der Jenner drüber steigt sein Elo sonst fällt er und zwar um die Differenz die zuvor noch mit dem Elodifferenzwert bereinigt wird.
Das ist ein System das sich zumindest annähernd der komplexen und dynamischen Abläufe von MWO annähernd und auch einen einigermaßen relevanten Elowert zustande bringt ....