Hearthstone

Dagli sviluppatori: autocompletamento dei mazzi

Dagli sviluppatori: autocompletamento dei mazzi

Ciao! Mi chiamo Tian e sono uno scienziato dei dati senior del team di Hearthstone. Oggi sono qui per parlare della nuova funzione di completamento dei mazzi e rispondere ad alcune domande della community fatte in seguito all'uscita di questa funzione.

Iniziamo con una semplice introduzione alla funzione prima di tuffarci in ciò che tutti stanno aspettando: la scienza!

HS_Blog_Divider_Filigree_Bar.png

Che cos'è la funzione di completamento dei mazzi?

Sappiamo che creare un nuovo mazzo di Hearthstone può rappresentare un'esperienza divertente e gratificante per molti giocatori esperti, ma può non essere la stessa cosa per chi si è preso una pausa da Hearthstone, ha appena iniziato a giocare, ha poco tempo libero o ha semplicemente bisogno di un piccolo aiuto per trasformare la sua collezione di carte in qualcosa che sia degno di competere in ladder. Ed è qui che entra in gioco la funzione di completamento dei mazzi. Con essa, saremo noi a farci carico di tutto il lavoro, dando ai giocatori un mazzo composto da carte popolari ed efficaci con un paio di semplici clic!

Per utilizzare la funzione di completamento dei mazzi, comincia a comporre un mazzo Standard con una classe qualunque, scegliendo un qualunque numero di carte. Dopo aver cliccato su "Completa il mio mazzo" o "Fine", completeremo in modo intelligente il resto del mazzo per te in base alle carte che hai già scelto, utilizzando solamente carte che possiedi. Per fare un esempio di come un mazzo viene completato, se hai scelto Undasta e Morte Fasulla e hai chiesto a Hearthstone di prendere le redini del mazzo, la funzione di completamento prenderà in considerazione diversi fattori, quindi comporrà quello che considera il miglior mazzo possibile, come per esempio il famoso Cacciatore Rantolo di Morte con Kathrena Brinafatua.

È davvero semplice. Puoi cominciare con un mazzo nuovo o scegliere qualche carta che sai di voler giocare e noi penseremo a tutto il resto e comporremo un fantastico mazzo per te.

HS_Blog_Divider_Filigree_Bar.png

Come funziona:

Passiamo al lato ingegneristico delle cose: la funzione di completamento dei mazzi agisce su due livelli, ciascuno dei quali è diviso in diversi sottolivelli. Vediamo ora come agiscono questi livelli per comporre un mazzo:

Primo livello del completamento dei mazzi: creazione del meta

03_27_HS_DeveloperInsights_SmartDeck_BlogAssets_300x400_JY_v01_H.jpgPer evitare ogni sorta di confusione, vediamo rapidamente cosa significa il termine "meta." Meta è un'abbreviazione che sta per "meta-gioco" e comprende tutti i mazzi più giocati in un dato periodo in ladder, in particolare nella modalità Classificata. Quando si vuole comporre un mazzo vincente, molti giocatori cercano di tenere a mente qual è il meta attuale e usano quindi delle carte che li aiutino a vincere contro i mazzi più diffusi del momento. Per fare un esempio, in un meta dove vengono giocate molte Armi, è probabile che i giocatori inseriscano nei propri mazzi la Melma delle Paludi o la Melma Ingorda per distruggerle, "contrastando" così in modo efficace il meta.

Nel primo livello della creazione di un mazzo, ovvero il livello meta, cerchiamo di comporre il miglior mazzo possibile in base a ciò che è più diffuso nel meta, ciò che il giocatore ha già inserito nel mazzo e ciò che è disponibile nella sua collezione. Per determinare cosa può essere considerato parte del meta, usiamo un algoritmo computazionale per raggruppare i mazzi più utilizzati dello stesso tipo in sottocategorie. Ogni sottocategoria rappresenta un tipo di mazzo giocato nel meta attuale, come il "Cacciatore Segreti", il "Sacerdote Draghi" o il "Paladino Dispari". Il contenuto di ogni mazzo all'interno di queste sottocategorie può essere leggermente diverso, ma si tratta sostanzialmente dello stesso tipo di mazzo. In termini di apprendimento automatizzato, questo processo viene chiamato "raggruppamento". Il nostro algoritmo di raggruppamento analizza i dati provenienti da milioni variazioni sui mazzi e ogni mazzo costituisce un punto dati, ognuno dei quali rappresenta un vettore in centinaia di dimensioni. Sfruttando le informazioni di raggruppamento, combinate con altre soluzioni matematiche, l'algoritmo termina in modo dinamico il completamento del mazzo, a meno che non venga attivato il secondo livello, ovvero quello del "riempimento".

Dal momento che i giocatori con diverso livello di abilità giocheranno inevitabilmente mazzi diversi con strategie differenti, il meta varierà in base al grado in ladder. Proprio per gestire questo aspetto, abbiamo diversi sottolivelli che entrano in gioco per portare a termine il processo di completamento del mazzo. Se sei un giocatore che gioca a un grado attorno al 20, probabilmente il meta sarà diverso da quello di un giocatore giunto al grado Leggenda. Inoltre, il nostro sistema di dati garantisce aggiornamenti continui all'analisi del meta.

Dopo aver provato a comporre un mazzo efficace sfruttando i dati del meta, ciò che avevi già inserito nel mazzo e le carte nella tua collezione, entra in gioco il secondo livello per la composizione del mazzo:

Secondo livello del completamento dei mazzi: riempimento

03_27_HS_DeveloperInsights_SmartDeck_BlogAssets_300x400_JY_v01_G.jpgSe il livello del meta non è stato in grado di trovare 30 carte per il tuo mazzo usando quelle a disposizione nella tua collezione, entra in gioco il secondo livello, anche chiamato livello di "riempimento". Questo livello fornisce la sicurezza che il mazzo sia completo e stia sfruttando le migliori carte possibili. Per prima cosa, se il gioco decide che non è possibile comporre un mazzo competitivo per il meta corrente usando la tua collezione, passerà a comporre il miglior mazzo possibile con le carte a disposizione. L'idea principale dell'algoritmo di riempimento è quella di creare un mazzo bilanciato con una buona curva di Mana e delle buone carte. Ora parliamo di come una carta viene considerata buona per un mazzo.

Senza considerare le possibili sinergie e le potenziali combo, ogni carta ha un suo "livello di potenza" quando viene utilizzata in un mazzo di una certa classe. Il numero non è costante e cambia in base alle condizioni attuali del mazzo. In ogni caso, la potenza di una carta dipende generalmente da tre fattori:

  • Impatto di gioco: il modo in cui una carta contribuisce alla probabilità di vittoria di un mazzo.
    • Per esempio, un Elementale dell'Acqua contribuisce maggiormente alla probabilità di vittoria di un mazzo del Mago rispetto a un Corsaro del Terrore.
  • Scelta di carte con lo stesso costo in Mana: una selezione di carte con lo stesso costo in Mana.
    • Se l'obiettivo è quello di trovare una buona carta che costi 1 o 2 Mana, allora la Guardiana d'Argento potrebbe essere una buona scelta, ma sicuramente quest'ultima non sarebbe una buona scelta nel caso il nostro obiettivo fosse quello di trovare una carta da 5 Mana.
  • Limitazione di troppe carte con lo stesso costo in Mana:
    • Se ci sono già 10 carte con lo stesso costo in Mana, saremo riluttanti ad aggiungerne altre con costo in Mana simile, a meno che queste non siano drasticamente meglio delle alternative.

Durante il processo di riempimento, verranno dinamicamente inserite nel mazzo le carte con la potenza maggiore. In termini matematici, la potenza di una carta è una funzione costituita da variabili come il contributo alla probabilità di vittoria sommato a diverse caratteristiche penalizzanti. L'obiettivo di ogni nostra ricerca è quello di trovare la carta migliore tra tutte le soluzioni possibili per massimizzare questa funzione.

HS_Blog_Divider_Filigree_Bar.png

Altri aspetti: regole, diversificazione e restrizioni

03_27_HS_DeveloperInsights_SmartDeck_BlogAssets_3Steps_600x260_JY_v01.png

Al di là della matematica avanzata e dei metodi di apprendimento automatizzato, abbiamo implementato alcuni meccanismi di controllo qualità che agiscono tra questi due livelli di completamento del mazzo per assicurarci che questo sia sostanzialmente sensato. Per esempio, se hai già inserito il Principe Keleseth nel mazzo, faremo del nostro meglio per evitare di inserire delle carte con costo pari a 2 Mana.

Se non hai inserito alcuna carta nel mazzo e ci chiedi più volte in un breve periodo di tempo di consigliarti un mazzo, cercheremo di fornirti opzioni diverse ogni volta che cliccherai sul pulsante. Questa funzione si attiverà soltanto nel caso in cui il mazzo sia inizialmente vuoto.

Per quanto riguarda le restrizioni, al momento la funzione di completamento dei mazzi è abilitata solo per la composizione di mazzi Standard, ma stiamo valutando l'ipotesi di estenderla al formato Selvaggio. Inoltre, i consigli che compaiono quando si cerca di comporre un mazzo contenente carte che non sono presenti nella collezione non si basa sul sistema di completamento dei mazzi di cui abbiamo parlato.

HS_Blog_Divider_Gems.png

Sentiti libero di condividere con noi i mazzi creati con la funzione di completamento dei mazzi e facci sapere se hai delle domande in merito nei commenti qui sotto. Ci vediamo nella Locanda!

Articolo successivo

Notizie in evidenza