Visualisierung von “League of Legends“

Werbung
Visualisierung von “League of Legends“-Heldenstatistiken
Alexander Bach, Martin Lange, Mathias Kahl, Tobias Tenbusch
Freie Universität Berlin
ABSTRACT
Im PC-Spiel „League of Legends“ treten Spieler, die Helden
steuern gegeneinander an. Wir haben in unserer Visualisierung
untersucht, welche dieser Helden eine höhere Siegchance
versprechen, leicht zu spielen sind, besonders häufig gewählt
werden und mit welchem anderen Held sie ein
erfolgversprechendes Team bilden. Für jede dieser Fragen
haben wir eine individuelle Visualisierung umgesetzt. Mit
diesen lassen sich die gestellten Fragen im Ansatz beantworten.
Für eine genaue Analyse haben die Daten jedoch nicht
ausgereicht.
1
5⋅∣H∣
N
Dieser Wert entspricht anders ausgedrückt der
Wahrscheinlichkeit, dass ein bestimmter Held (H) Teil eines
beliebigen Teams war.
Weiterhin kann berechnet werden wie erfolgreich ein Held
ist, indem man einfach die Anzahl seiner Siege durch die
Anzahl all seiner Spiele teilt.
Für die Analyse von Popularität und Erfolg wurden zwei
unterschiedliche Visualisierungen entwickelt.
3.1
Raster-Heatmap
Die erste Visualisierung setzt sich zusammen aus einem
Raster der Avatare aller Helden und einem Heatmap-Overlay,
welche zusammen eine Übersicht über Popularität und den
Erfolg aller Helden bieten sollen.
DATEN
Basis für unsere Visualisierung bilden 1.000.000
Spielerdatensätze. Ein Spielerdatensatz enthält Statistiken eines
einzigen Spielers zu einem bestimmten Spiel. Da an jedem
Spiel 10 Spieler teilnehmen, beschreiben diese 1.000.000
Datensätze somit 100.000 Spiele.
Die Daten wurden uns freundlicherweise von den Betreibern
der Seite www.LOLBase.net in Form einer SQL-Datei zur
Verfügung gestellt. LOLBase bietet Spielern die Möglichkeit
ihre Spiel-Log-Dateien selbst hochzuladen und zeigt anhand
dieser Dateien unterschiedliche Statistiken zu jedem Spieler an.
Jeder Datensatz enthält u.a. folgende für unsere Betrachtungen
relevanten Informationen:
Spiel-ID
Spieler-ID
Sieg oder Niederlage
Team (A oder B)
Anzahl Tötungen
Anzahl Tode
Anzahl Unterstützungen
Datum des Spiels
Die Daten wurden für jede Visualisierung in passender Form
verarbeitet und als CSV-Datei exportiert, sodass sie von der
Processing-Anwendung einfach geladen werden können und
unabhängig von einem SQL Server sind.
3
P  H =
EINFÜHRUNG
League of Legends (kurz LoL) ist ein Computerspiel in dem
zehn Spieler in Teams bestehend aus je 5 Personen
gegeneinander antreten. Jeder dieser Spieler wählt zu Beginn
eines Spiels einen Helden aus. Pro Team dürfen dabei keine
Helden doppelt gewählt werden.
In dem Spiel, das dann folgt, versucht jedes Team ein
bestimmtes Gebäude des anderen Teams zu zerstören. Um das
Ziel zu erreichen, müssen die Spieler vor allem im Team
spielen. Alleingänge sind nur selten dem Sieg zuträglich.
2
allen Teams, d.h. dessen Popularität, kann daher wie folgt
berechnet werden, wobei |H| der Häufigkeit entspricht, also wie
oft ein Held (H) tatsächlich gewählt wurde:
BETRACHTUNG
ERFOLG
VON
POPULARITÄT
UND
Ein interessante Information über einzelne Helden ist deren
Popularität. Die Frage ist also wie oft ein einzelner Held
gewählt wird. Jedes Spiel in League of Legends besteht wie
zuvor erwähnt aus zwei Teams, welche aus jeweils 5
einzigartigen Helden bestehen. Pro Team kann ein einziger
Held nur einmal vorkommen, aber pro Spiel zwei mal (ein mal
pro Team). Da an jedem Spiel 10 Spieler teilnehmen, kann
somit bei einer Anzahl von N Spielen ein Held maximal
(2*N)/10 mal vorkommen, und zwar genau dann, wenn jedes
Team den Helden ein mal enthielt. Der Anteil eines Helden an
Abbildung 1 – Raster mit Heatmap-Overlay
3.1.1
Avatar-Raster
Als Grundlage für diese Visualisierung wurden zunächst
einfach die Bilder aller Helden in einem Raster angeordnet.
Die Darstellung der Helden in Form eines Bildrasters bietet
einerseits einen Gesamtüberblick über alle Helden in einer
einzigen Grafik und macht sich andererseits die Fähigkeit des
Menschen zu nutze, Gesichter schnell zu erkennen. Diese
Darstellung ist somit für den Betrachter leichter zu erfassen als
eine bloße Aufreihung der Namen der Helden.
Das Raster wird nachfolgend erweitert, indem die einzelnen
Zellen des Rasters durch heldenspezifische Informationen
ergänzt werden. Dabei gäbe es potentiell mehrere
Möglichkeiten. Beispielsweise könnten die Bilder zu Balken
eines 3D-Balkendiagramms werden. Dies hätte jedoch den
Nachteil, dass je nach Verteilung der darzustellenden Werte
Balken sich gegenseitig verdecken.
Die naheliegendste Art Informationen zum Raster
hinzuzufügen ist Werte einfach in die entsprechenden Zellen zu
schreiben. Daher wurden im nächsten Schritt die Popularitätsbzw. Erfolgswerte (interaktiv auswählbar) als Prozentwerte in
die Zellen eingetragen. Durch die Verwendung der AvatarBilder können die Einzelwerte für sich vom Betrachter schnell
und einfach den unterschiedlichen Helden zugeordnet werden.
Zwar ergibt sich somit eine Übersicht aller Helden und den
dazugehörigen darzustellenden Informationen, jedoch sind
Zahlenwerte in dieser Anzahl nicht auf ein Mal zu erfassen und
somit schwer für den Benutzer zu vergleichen.
Um die Vergleichbarkeit und das leichtere Erfassen der
Informationen zu ermöglichen, wurde im nächsten Schritt das
Raster um ein Overlay erweitert.
3.1.2
Heatmap-Overlay
Mit einer Art Heatmap können sowohl Popularität als auch
Erfolg intuitiv visualisiert werden. Jedes Bild wird dabei in
Abhängigkeit des Zahlenwertes eingefärbt.
Dazu wurden Minimum, Durchschnitt und Maximum des
Wertebereiches berechnet und auf eine nicht-stetige Farbskala
abgebildet. Werte, die sich mit einer Abweichung von max.
10% um den Mittelwert bewegen werden grau dargestellt, was
verdeutlichen soll, dass der Wert „normal“, d.h.
durchschnittlich ist.
Abbildung 2 – Beispiel der Farbskala
Größere positive Abweichungen werden durch grüne, und
größere negative Abweichungen durch blaue Einfärbungen
betont. Dabei wird die Intensität der Farbe linear mit der Höhe
der Abweichung skaliert.
Somit werden besonders populäre bzw. erfolgreiche Helden
mit einem sehr intensiven Grün hervorgehoben und besonders
unbeliebte bzw. unerfolgreiche Helden mit intensivem Blau.
Die Farbwahl wurde hauptsächlich darauf ausgerichtet, dass
die beiden Farben in allen Intensitätsstufen sowohl von
einander als auch von der Mittelwertfarbe Grau leicht
unterschieden werden können. Für diesen Zweck werden die
ursprünglich farbigen Avatare auch nur in Graustufen
angezeigt, da jene Farben sonst mit der Einfärbung in Konflikt
stehen würden.
Diese farbliche Markierung erlaubt es ohne die diskreten
Zahlenwerte direkt in ihrer Gesamtheit erfassen zu müssen, die
Unterschiede zwischen Popularität bzw. Erfolg der einzelnen
Helden leicht zu verstehen und vor allem zu überblicken.
3.1.3
Anordnung des Rasters
Zusätzlich zu den Zahlenwerten und den Einfärbungen,
welche die Popularität bzw. den Erfolg darstellen, wurde über
die Anordnung der Bilder im Raster versucht weitere
Informationen einzubetten.
Für diesen Zweck wurden die Helden im Raster nach einem
bestimmten Schema eingeteilt. Die Helden im Spiel haben alle
unterschiedliche Eigenschaften und können grob in 4 Klassen
eingeteilt werden:
•
•
•
•
Tank – Viele Lebenspunkte, weniger Schaden
Mage – Wenig Lebenspunkte, viel magischer
Schaden
Carry – wenig Lebenspunkte, viel normaler Schaden
Support – wenig Leben und Schaden, dafür Heil- und
Schutzfertigkeiten
Um etwaige Korrelationen zwischen den Eigenschaften von
Helden und deren Popularität und Erfolg erkennbar zu machen,
wurden die Helden daher entsprechend ihrer Klassen grob im
Raster angeordnet, sodass die Positionen ungefähr mit den
Klassen korrellieren. D.h. je weiter oben links ein Held ist,
desto eher gehört dieser der Klasse „Tank“ an; je weiter unten
rechts, desto eher der Klasse „Support“, und so weiter. Die
Einteilung ist dabei lediglich eine Approximation, da die
Grenzen zwischen den Klassen nicht exakt definiert sind.
3.1.4
Auswertung
Im Zusammenspiel von Raster, dessen Anordnung und
Heatmap ergibt sich eine Visualisierung welche mehrschichtig
Informationen über die Popularität und den Erfolg der
unterschiedlichen Helden bietet. Einerseits werden die Werte
für jeden Helden einzeln angezeigt und durch die farbliche
Markierung untereinander vergleichbar gemacht. Andererseits
werden gleichzeitig Informationen auf einer höheren Ebene
über die Klassen der Helden visualisiert.
In der finalen Visualisierung lässt sich beispielsweise (für
den gesamten betrachteten Zeitraum) erkennen, dass „Tanks“
und „Supports“ eher unbeliebt, und „Carries“ beliebter sind.
Weiterhin ist zu erkennen, dass gerade die eher unbeliebten
„Support“-Helden die erfolgreichsten sind.
Die Visualisierung erfüllt unserer Meinung nach ihren
Zweck gut. Die Einfärbungen erlauben keine exakte
Unterscheidung der Werte, aber ermöglichen es dem Betrachter
schnell grobe Trends zu erkennen.
3.2
Linechart
Die zweite Visualisierung stellt auch die Popularität eines
Helden dar, aber in diesem Fall in Abhängigkeit von seinen
Veränderungen.
In Abständen von zwei bis vier Wochen verändern die
Entwickler die Stärke eine Helden durch Anpassungen der
verschiedensten Aspekte, wie Schaden einer Fähigkeit oder
Leben des Helden. Dadurch soll die Stärke der Helden
möglichst angeglichen werden. Dieser Prozess dauert noch an
und wird, solange neue Helden und andere Spielelemente dem
Spiel hinzugefügt werden, nicht aufhören.
3.2.1
Zugrundeliegende Fragestellung
Aus diesem Grund soll untersucht werden, inwiefern eine
Änderung an einem Held seine Popularität erhöht oder
abschwächt. Dies soll als zeitlicher Ablauf dargestellt werden.
3.2.2
Ansichtsentwicklung
Um die Frage zu beantworten wurde ein Linechart gewählt,
da sich dieses gut zum Darstellen eines zeitlichen Verlaufes
eignet. Die Achsen des Charts ergeben sich aus der
Fragestellung, Y – Popularität eines Heldens und X –
Änderungen an einem Held. Es sollten mehrere Helden
auswählbar sein. Alle Änderungen darzustellen würde
unübersichtlich werden, daher wurden an der X – Achse nur
die Änderungsnummer abgetragen. Die Änderungen werden
dann auf dem Chart des jeweiligen Helden mit einem PopUp
bei Mausover angezeigt.
zusätzliche Information in diesem Fall birgt wurde er
ausgelassen. Der maximale Ausschlag auf dem Graph gibt
Auskunft darüber wie viel Potential in einem Helden
möglicherweise steckt. Die Länge der Box, welche durch die
Standardabweichung und den Mittelwert definiert wird, gibt
Auskunft darüber wie schwer es für einen durchschnittlichen
Spieler ist mit diesem spezifischen Helden umzugehen. Ist die
Box besonders lang bzw. breit, so ist davon auszugehen, das
der Held nur mit viel Übung gut zu beherrschen ist. Außerdem
ist es wahrscheinlich relativ leicht, Fehler zu machen. Ist die
Box dagegen eher klein, so kann geschlossen werden, dass es
relativ wenig Spielraum gibt und der Held viele Arten besitzt,
auf die er gespielt werden kann. Der Mittelwert, welcher auch
die Mitte der Box kennzeichnet, gibt Auskunft über den Erfolg
eines durchschnittlichen Spielers mit diesem Helden.
Abbildung 3 – PopUp mit Änderungen
3.2.3
Einschätzung
Die Popularität eines Helden ändert sich deutlich über die
Zeit. Oft ist aber keine direkte Ahängigkeit zu einer Änderung
zu erkennen.
4
BETRACHTUNG DER SCHWIERIGKEIT
4.1
Zugrunde liegende Fragestellung
Bei der großen Auswahl an Helden die das Spiel bietet stellte
sich die Frage, welche der Helden einfacher und welche
schwerer zu spielen sind. Es gibt zwar bereits eine solche
Einschätzung auf i allerdings ist diese zum einen
erfahrungsgemäß inakkurat und zum anderen bietet sie keine
Möglichkeit den Schwierigkeitsgrad eines einzelnen Helden zu
quantifizieren. Um dieses Problem anzugehen wurde diese
Ansicht Teil des Projektes. Es gilt dabei zu beachten, das der
hier genutzte Ansatz bei weitem nicht alle möglichen Daten
berücksichtigt.
4.2
Ansichtsentwicklung
Ursprünglich sollte diese Visualisierung eine andere
Fragestellung beantworten, nämlich die häufigsten und
erfolgreichsten Teamkombinationen. Dieser Ansatz musste
jedoch aufgrund mangelnder Daten verworfen werden. Was
blieb war die Art der Visualisierung. Zunächst sollte die
Schwierigkeit bzw. der Erfolg eines Helden mit folgender
Formel berechnet werden:
KillsAssists
Deaths
Da diese Formel es jedoch alle schlechten Ergebnisse auf 0
zusammenfasst und es nicht ermöglicht besonders gute
Ergebnisse (Deaths = 0) mit einzubeziehen wurde auch sie
angepasst. Die Formel welche im Programm verwendet wird
ist die folgende:
Kills Assists−Deaths
Damit werden besonders gute Ergebnisse weit oben bzw.
vorne eingeordnet und alle schlechten Ergebnisse werden nun
ebenfalls auf der Skala sichtbar und sind nicht mehr auf 0
gruppiert. Initial sollte zudem ein Box-Chart zur Visualisierung
genutzt werden, da jedoch der Median keine (wertvolle)
Abbildung 4 – Diffcultometer
4.3
Einschätzung
Die ursprüngliche Anforderung eine quantifizierbare Art und
Weise für eine Aussage über den Schwierigkeitsgrad eines
einzelnen Helden konnte zwar gefunden werden, jedoch ist die
Aussagekraft nur begrenzt. Da es sich um ein Teamspiel
handelt, ist zudem die Menge der Kills/Assists/Deaths zunächst
unerheblich, da diese nur sehr indirekt (wenn überhaupt) eine
Aussage über die Kooperation innerhalb des Teams ermöglicht.
Es ist durchaus möglich ein Spiel zu gewinnen, ohne das einer
der Werte jemals größer als 0 wird. Das wäre ein sehr
interessanter Fall, welcher aber keinerlei verwertbare Daten für
diese Art der Datenaufbereitung bieten würde. Außerdem
wurde bei dieser Visualisierung komplett ignoriert, ob der
Spieler letzten Endes siegreich war. Ein Einbezug dieser
einfachen Variable wäre eine Voraussetzung um herausfinden
zu können, ob eine gute Zusammenarbeit vorliegt oder nicht.
Des Weiteren besteht die Möglichkeit die Daten mit dem
entsprechenden Elo-Rating ii der Spieler eines Matches zu
gewichten. Da wir jedoch nur über Daten von ungewerteten
Spielen verfügen, und das Rating der Spieler dabei geheim
bleibt, konnten wir diese Gewichtung leider nicht vornehmen.
5
BETRACHTUNG DER KORRELATIONEN
5.1
Zugrundeliegende Fragestellung
Bei der Entwicklung der Atomansicht haben zwei
interessante Fragen den Ursprung gebildet.
1. Ich spiele gerne Champion A, welche Champions könnten
mir auch gefallen?
In League of Legends gibt es Einflusspunkte, welche eine
Währung im Spiel darstellen. Anfangs kann man noch nicht
jeden Champion spielen, sondern muss ihn sich erst mit
Einflusspunkten kaufen. Da man diese sich durch regelmäßiges
Spielen hart erarbeitet, möchte man es dann natürlich nicht in
einen Helden investieren, welcher einem keinen Spaß macht.
Daher wäre eine Übersicht interessant, welche Champions so
in Verbindung setzt, dass ich Eingebungen gewinnen kann,
welchen Helden ich mir genauer anschauen sollte.
2. Mein Mitspieler hat Champion A gewählt, welcher
Champion ergänzt sich gut mit ihm?
Bei dem Spiel gibt es zusätzlich zu dem 5er Team noch
kleinere Unterteams. Dadurch das drei Wege die Kontrahenten
verbinden, teilt sich das Team meist in zwei Zweierteams und
ein Einerteam auf. Um nun eine besonders Schlagkräftige
Kombination auf einem der Wege zu haben, wäre eine
unterstützende Visualisierung praktisch. So könnte man mit
seinem Partner ein besonders starkes Duo suchen, oder wenn
der andere schon einen Helden gewählt hat, einen Champion
nehmen, welcher sich gut mit ihm ergänzt.
5.2
Ansichtsentwicklung
Bei beiden Fragestellungen ist die Beziehung von jedem
Champion zu jedem anderen Champion interessant. Bei 1. ist
es ein Ähnlichkeitsmaß (bzgl. des Spielstils) und bei 2. ein
Synergiemaß, also wie gut die beiden Champions als Subteam
bestehen können. Daher ist eine Ansicht vonnöten gewesen,
welche eine komplette Vernetzung aller Helden erzeugt. Des
Weiteren steht bei beiden Ansichten ein Champion im
Mittelpunkt, welchen man in diesem Moment mit den Anderen
vergleicht. Diese Bedingungen konnten wir in der Atomansicht
umsetzen. Dort steht ein Held fest im Mittelpunkt und
zwischen den einzelnen Atomen wirken Kräfte, welche sich
aus dem verwendeten Maß ergeben. Der Abstand der anderen
Helden zum Mittelpunkt gibt deren Anziehungskraft gegenüber
dem Mittelpunkt wieder. Da dies in diesem Moment als
zentrales Augenmerk gilt, kann der Abstand durch andere
Kräfte nicht beeinflusst werden. Die Kräfte der anderen Atome
verteilen die Helden kreisförmig um die Mitte herum, wobei
Champions mit hoher Anziehungskraft näher aneinander
liegen, als die Anderen. Durch diese Art der Darstellung kann
sowohl das gesamte Netz dargestellt werden, wobei das
zentrale Augenmerk auf dem gewählten Champion liegt und
diesbezüglichen Informationen detaillierter abgelesen werden
können.
5.3
Algorithmus
Wir haben uns gegen eine zweidimensionale Kraftstrukur
entschieden, da die Atome sich meist nur gleichmäßig geordnet
haben und keine Clusterbildung erzeugt wurde. Dadurch
konnten die Informationen nicht ordentlich transportiert
werden. Um einen gesicherten Informationsgehalt zu
gewährleisten, haben wir Polarkoordinaten genutzt, wobei wir
den Abstand mit Hilfe von den exakten Werten berechnet
haben. Damit kann durch Kräftegleichgewichte kein Zustand
enstehen in dem inkorrekte Daten ablesbar wären. Im
Gegensatz dazu wird die Kräftesimulation aller Atome nur über
den Winkel berechnet. Dabei kann es auch passieren, dass ein
Atom zwische zwei anderen Atomen die sich anziehen
eingekeilt wird, wodurch die dort abgelesenen Informationen
nicht immer vollständig korrekt sind. Direkt eine optimale
Verteilung zu berechnen wäre allerdings zu aufwendig bzw.
nicht möglich gewesen. Die Simulation approximiert die
Kräfteverteilung allerdings gut. Damit die Atome nicht
dauerhaft schwingen und ihre Position verändern, haben wir
noch eine Abkühlung des Systems eingebaut, welche die
wirkenden
Kräfte
langsam
abschwächt
und
Kernabstoßungskräfte
induziert,
welche
die Atome
auseinanderschiebt damit es zu keinen Überlappungen kommt.
5.4
Einschätzung
Insgesamt finden wir die Ansicht hilfreich und nützlich.
Allerdings sind die zugrundeliegenden Daten nicht
hundertprozentig für die Fragestellungen geeignet, wodurch es
zu unerwarteten Ergebnissen kommt. So verfälschen zum
Beispiel die Spieler die gerne sehr unterschiedliche Helden
spielen die Ergebnisse für die erste Fragestellung enorm. Ein
schwerwiegender negativer Punkt ist, dass durch die
Kräftesimulation, vor allem bei vielen Atomen, eine
Information dargeboten wird, welche nicht korrekt ist. Es
kommt dort sehr häufig dazu, dass die Atome sich zwar in
einem lokalen Energieminimum befinden, aber das globale
Minimum nicht erreicht wird.
6
SCHLUSS
Alle Fragen konnten durch die Visualisierungen im Ansatz
beantwortet werden. Für eine genauere Analyse fehlt es jedoch
an Daten was die Anzahl und den Zeitraum betrifft. Sollte das
Programm weiter entwickelt werden, so wäre es sinnvoll die
Datenverarbeitung zurück auf SQL umzustellen. Das würde
natürlich einen öffentlich verfügbaren SQL-Server erfordern,
böte dafür aber auch die Möglichkeit auf Live-Daten bzw.
automatisiert mit aktuellen Daten zu Arbeiten.
REFERENZEN
i
ii
http://euw.leagueoflegends.com/champions
The Rating of Chessplayers, Past and Present (1978),
Arco. ISBN 0-668-04721-6
Herunterladen