Einblicke der Entwickler: Der intelligente Deckhelfer

Einblicke der Entwickler: Der intelligente Deckhelfer

Hallo miteinander! Ich bin Tian, ein Senior Data Scientist im Hearthstone-Team. Heute möchte ich euch mehr über den intelligenten Deckhelferen erzählen und hoffentlich einige der Fragen beantworten, die seit der Einführung dieses Features in der Community aufgetaucht sind.

Fangen wir mit einem kurzen Überblick über die Funktionen des Features an, bevor wir uns mit dem beschäftigen, weswegen ihr alle hier seid – der Wissenschaft!

HS_Blog_Divider_Filigree_Bar.png

Was ist der intelligente Deckhelfer?

Wir wissen, dass viele erfahrene Hearthstone-Spieler die Deckerstellung lieben – aber vielleicht habt ihr schon länger nicht mehr Hearthstone gespielt, gerade erst mit dem Spiel angefangen oder momentan nicht viel Zeit zur Verfügung. Oder vielleicht braucht ihr einfach nur etwas Hilfe, um aus eurer Kartensammlung ein Deck zu zaubern, das euch im gewerteten Modus stolz macht. Genau da kommt der Deckhelfer ins Spiel. Mit diesem neuen Feature nehmen wir euch einen Großteil der Arbeit ab und geben euch mit nur wenigen Klicks ein beliebtes und effektives Deck an die Hand, mit dem ihr euch ins Spiel stürzen könnt.

Um das Feature zu benutzen, müsst ihr zunächst mit der Erstellung eines Standarddecks für eine beliebige Klasse beginnen. Dann fügt ihr eurem neuen Deck so viele Karten hinzu, wie ihr wollt. Wenn ihr auf „Deck vervollständigen“ oder „Fertig“ klickt, füllt das Spiel das restliche Deck basierend auf euren bisher ausgewählten Karten mit Karten aus eurer Sammlung auf. Hier ein Beispiel: Wenn ihr eurem Deck Oondasta und Tot spielen hinzufügt und dann Hearthstone freien Lauf lasst, baut der Deckhelfer damit anhand verschiedener Faktoren das (seiner Meinung nach) bestmögliche Deck, wie zum Beispiel das beliebte Todesröcheln-Jägerdeck mit Kathrena Winterleuchten.

03_27_HS_DeveloperInsights_SmartDeck_BlogDecklist_800x1000_JY_v01_enUS.png

Mehr müsst ihr wirklich nicht tun. Ihr könnt mit einem komplett leeren Deck beginnen oder ein paar Karten auswählen, die ihr auf jeden Fall verwenden wollt. Wir übernehmen dann den Rest und bauen euch ein fantastisches Deck.

HS_Blog_Divider_Filigree_Bar.png

So funktioniert’s

Kommen wir direkt zur technischen Seite des Ganzen: Der Deckhelfer verfügt über zwei Ebenen, die jeweils über mehrere Unterebenen verfügen, womit eure Decks zusammengestellt werden. Schauen wir uns mal an, wie euch die einzelnen Ebenen dabei helfen, euer Wunschdeck zu erstellen.

Die erste Ebene der Deckerstellung: Meta-Magie

03_27_HS_DeveloperInsights_SmartDeck_BlogAssets_300x400_JY_v01_H.jpgBevor wir näher ins Detail gehen, erklären wir kurz, was wir meinen, wenn wir von der „Meta“ sprechen. Der Begriff „Meta“ bezeichnet aktuelle Trends bei den Decks, die derzeit vor allem im gewerteten Modus besonders beliebt sind. Beim Erstellen erfolgversprechender Decks versuchen viele Spieler, ihre Decks an die derzeitige Meta anzupassen und Karten auszuwählen, die ihnen gegenüber den Decks einen Vorteil verschaffen, gegen die sie mit hoher Wahrscheinlichkeit antreten werden. In einer waffenlastigen Meta (in der viele beliebte Decks Waffenkarten verwenden) enthalten die meisten Decks vermutlich Karten wie Säurehaltiger Schlamm oder Gefräßiger Schlamm, die Waffen zerstören und so die Meta „kontern“ können.

Auf der ersten Ebene der Deckerstellung (der Metaebene) versuchen wir, anhand der aktuellen Meta, mit den bisher von euch ausgewählten Karten und den verfügbaren Karten in eurer Sammlung das bestmögliche Deck zusammenzustellen. Um herauszufinden, was die aktuelle Meta beinhaltet, nutzen wir einen Algorithmus, der beliebte Decks eines Typs in Untergruppen zusammenfasst. Jede Untergruppe repräsentiert einen Decktyp, der in der aktuellen Meta gespielt wird, wie zum Beispiel „Geheimnis-Jäger“, „Drachen-Priester“, „Ungerader Paladin“ usw. Der Inhalt der einzelnen Decks dieser Untergruppen kann leicht abweichen, aber insgesamt gehören alle enthaltenen Decks zum gleichen Decktyp. Dieser Prozess wird im Zusammenhang mit maschinellem Lernen „Clustering“ genannt. Unser Clustering-Algorithmus analysiert die Daten von Millionen verschiedener Deckvariationen. Jedes Deck zählt als ein Datenpunkt und jeder Datenpunkt repräsentiert einen Vektor in Hunderten von Dimensionen. Mithilfe dieser Clustering-Informationen und anderen mathematischen Berechnungen füllt der Algorithmus euer Deck dynamisch auf, bis das Deck komplett ist oder die Auffüllebene in Kraft tritt.

Da Spieler auf verschiedenen Spielniveaus immer auch über verschiedene Decks, Spielmuster und Herausforderungen verfügen, ändert sich die Meta vermutlich auch je nachdem, auf welchem Rang ihr euch befindet. Aus diesem Grund verfügt der metabasierte Prozess der Deckzusammenstellung über verschiedene Unterebenen. Spieler auf Rang 20 erhalten wahrscheinlich andere Meta-Decks als Spieler auf dem Rang Legende. Außerdem werden unsere Meta-Daten ständig aktualisiert, sodass eure Meta-Decks immer auf dem neuesten Stand bleiben.

Nachdem wir versucht haben, basierend auf den bereits vorhandenen Karten und eurer Sammlung ein effektives Meta-Deck zu erstellen, gehen wir zur nächsten Ebene der Deckerstellung über.

Die zweite Ebene der Deckerstellung: Auffüllen

03_27_HS_DeveloperInsights_SmartDeck_BlogAssets_300x400_JY_v01_G.jpgWenn die Metaebene aus eurer Sammlung keine 30 Karten zusammenstellen konnte, kommt die zweite Ebene ins Spiel: die „Auffüllebene“. Diese Ebene stellt sicher, dass euer Deck vollständig ist und die besten verfügbaren Karten verwendet. Wenn das Spiel zu dem Schluss kommt, dass es aus eurer Sammlung kein effektives Meta-Deck erstellen kann, versucht es stattdessen, mit den verfügbaren Karten das bestmögliche Deck zusammenzustellen. Der Grundgedanke hinter dem Auffüllalgorithmus ist es, ein ausbalanciertes Deck mit guten Karten und einer akzeptablen Manakurve zu erstellen. Reden wir darüber, wie das System feststellt, ob eine Karte gut in euer Deck passt.

Abgesehen von einzigartigen Synergien und potenziellen Kombinationsmöglichkeiten verfügt jede Karte über eine „Kartenstärke“, wenn sie in einem Deck jeder Klasse eingesetzt wird. Diese Zahl ist nicht fix und ändert sich dynamisch basierend auf dem momentanen Zustand des Decks. Die Kartenstärke wird generell anhand von drei Faktoren bestimmt:

  • Auswirkung auf das Spiel: Wie sehr eine Karte zur Siegesrate eines Decks beiträgt.
    • Der Wasserelementar zum Beispiel trägt mehr zur Siegeswahrscheinlichkeit von Magierdecks bei als der Schreckenskorsar.
  • Manakostengruppe: Eine Sammlung von Karten mit gleichen Manakosten.
    • Wenn das Ziel ist, eine Karte zu finden, die ein oder zwei Mana kostet, wäre die Argentumknappin eine gute Wahl. Wird allerdings eine Karte gesucht, die fünf Mana kostet, sieht das schon anders aus.
  • Nicht zu viele Karten pro Managruppe:
    • Wenn sich bereits zehn Karten in einer bestimmten Manakostengruppe befinden, versuchen wir, keine Karten mehr mit ähnlichen Manakosten hinzuzufügen, es sei denn, sie sind deutlich besser als die Alternativen.

Während des Auffüllprozesses wählen wir dynamisch Karten mit der besten Kartenstärke für euer Deck aus. Mathematisch gesprochen ist die Kartenstärke eine Funktion aus Termen, die anhand des Beitrags zur Siegesrate und verschiedener Einschränkungen aufgestellt werden. Das Ziel jeder Suche ist es, unter allen möglichen Karten diejenige zu finden, die unsere Zielfunktion maximiert.

HS_Blog_Divider_Filigree_Bar.png

Verschiedenes: Regeln, Abklingzeit und Einschränkungen

03_27_HS_DeveloperInsights_SmartDeck_BlogAssets_3Steps_600x260_JY_v01.png

Neben der fortgeschrittenen Mathematik und den Methoden für maschinelles Lernen haben wir auf diesen beiden Ebenen der Deckerstellung außerdem mehrere Regeln zur Qualitätssicherung implementiert, um sicherzustellen, dass die Kartenzusammenstellung auch Sinn ergibt. Wenn ihr zum Beispiel bereits Prinz Keleseth in eurem unfertigen Deck habt, versuchen wir nach Möglichkeit, Karten zu vermeiden, die zwei Mana kosten.

Der Deckhelfer verfügt außerdem über eine „Abklingzeit“ für alle Spieler, die gerne verschiedene Decks ausprobieren möchten. Wenn ihr keine Karten für euer Deck auswählt und eure Decks innerhalb kurzer Zeit mehrfach automatisch zusammenstellen lasst, versuchen wir, euch jedes Mal ein anderes Deck zu erstellen. Dieses Feature wird nur genutzt, wenn euer Deck am Anfang keine Karten enthält.

Was die Einschränkungen betrifft, so ist der intelligente Deckhelfer momentan nur beim Erstellen von Standarddecks aktiv, aber wir arbeiten bereits an einer Unterstützung für wilde Decks. Außerdem wird der Deckhelfer zurzeit nicht verwendet, wenn Spielern einzelne Karten vorgeschlagen werden, um Karten zu ersetzen, die sich nicht in ihrer Sammlung befinden.

HS_Blog_Divider_Gems.png

Erzählt uns in den Kommentaren von den coolen Decks, die ihr mit dem Deckhelfer erstellt habt, und lasst uns wissen, wenn ihr irgendwelche Fragen habt. Wir sehen uns im Gasthaus!