🔍
Plongée dans HearthStone d'un point de vue data

Plongée dans HearthStone d'un point de vue data

Note: Cet article a été traduit avec Claude Code le 31 janvier 2026. La version originale est disponible ici.

Bonjour, dans cet article, je vais détailler un jeu de données que j’ai construit il y a quelques semaines sur le jeu Hearthstone.

Hearthstone, qu’est-ce que c’est ?

Hearthstone est un jeu de cartes en ligne créé par Blizzard en 2013, qui utilise l’univers de la franchise Warcraft lancée par Blizzard en 1994. Je ne vais pas entrer dans les détails sur la genèse de ce jeu, mais je vous invite à regarder cette vidéo de esport is a nutshell.

Le principe de ce jeu est assez simple ; vous commencez par choisir un Héros parmi 9 disponibles ; chacun de ces héros possède une capacité spécifique et a accès à certaines cartes particulières.

Heroes illustration

Vous pouvez trouver plus de détails sur les héros ici si vous voulez en savoir plus.

Après la sélection du héros, le joueur doit construire son deck en respectant certaines règles :

  • Sélectionner 30 cartes entre les trois catégories (serviteur, sort et arme)
  • Il ne peut pas contenir plus de deux fois la même carte
  • Il ne peut pas inclure de cartes spécifiques à un autre héros

Après cela, quand une partie de Hearthstone commence, chaque adversaire a un compteur de vie de 30. Pour jouer les cartes, vous devez utiliser du mana que vous gagnez à la fin de chaque tour ou lorsque vous jouez certaines cartes spécifiques.

Je ne veux pas entrer trop dans les détails de la progression d’une partie, mais je vous invite à regarder cette vidéo qui explique le principe de Hearthstone.

J’aime ce jeu, et j’ai commencé à y jouer en 2013 lors de sa sortie, et je le trouve amusant. Je pense que je suis plus un joueur occasionnel à Hearthstone car je relance le jeu très périodiquement, principalement après la Blizzcon pendant quelques semaines, et c’est toujours pénible de recommencer car le méta du jeu a changé, etc.

Il y a quelques années, j’ai trouvé ce jeu de données Kaggle sur Hearthstone, et quelques decks scrapés sur un site appelé HearthPwn.

Hearthpwn illustration

C’est une communauté de personnes qui partagent autour du jeu (decks, cartes, compétitions). Je vous recommande vivement d’y jeter un œil.

Donc en termes de données, le jeu de données sur Kaggle que je mentionnais contient environ 360 000 decks, et il était agréable de commencer à travailler avec, mais le jeu de données était ancien, donc j’ai décidé de construire un système pour collecter les données de Hearthpwn (même processus que dans mon article CrossFit, rappel : quand vous scrapez, ne soyez pas idiot et ne surchargez pas le serveur, etc.).

J’ai collecté environ 800 000 decks et toutes les informations sur les cartes (je ne partage pas le jeu de données car je n’en suis pas le propriétaire).

Aperçu des cartes et des decks

Une des choses intéressantes dans ce jeu de données est le nombre d’utilisateurs (contributeurs) qui ont produit des decks sur le site web et combien de decks ils produisent. Dans ce boxplot, il y a les quartiles du nombre de decks construits par contributeur (sans les valeurs aberrantes).

Distribution deck illustration

La plupart des utilisateurs produisent un seul deck (0-50%), 25% d’entre eux ont produit entre 1-3 decks, et dans le dernier quartile, ils créent entre 3 et 6 decks. J’ai fait des clusters autour du nombre de decks construits par joueur.

Distribution deck user illustration

Regardons maintenant la sortie des decks par semaine.

Timeseries illustration

La plupart des grandes sorties de contenu sont suivies par un lot de nouveaux decks sur Hearthpwn (merci capitaine évidence).

Du point de vue des héros, certaines préférences émergent. Dans la figure suivante, il y a le nombre de decks construits en fonction du héros.

Distribution hero illustration

Les 3 meilleurs héros semblent être le prêtre, le mage et le paladin, et il n’y a pas de dominance très marquée.

Du point de vue des cartes dans les decks, j’ai construit une évaluation simple du type de cartes à l’intérieur des decks.

Cumpercentage illustration

Le graphique n’est peut-être pas clair, mais l’idée est d’illustrer la répartition des cartes dans un deck, et ce graphique montre que par exemple 50% des decks ont :

  • 0 arme
  • entre 0 et 10 sorts
  • entre 0 et 17 serviteurs

Comme nous pouvons le voir, la plupart des decks n’utilisent pas d’armes, et il semble qu’il soit préférable d’avoir plus de serviteurs que de sorts.

Regardons maintenant une analyse plus avancée des données.

Héros VS decks VS cartes

Du point de vue des cartes, les héros sont un peu différents en termes de répartition sur leurs cartes associées.

Distribution hero deck illustration

La plupart des armes sont associées au guerrier, au voleur, au chasseur, au chaman et au paladin, et chaque héros a environ 150 cartes associées. Regardons maintenant l’évaluation du contenu du deck du point de vue des serviteurs.

Cumpercentage hero illustration

Le démoniste semble être le type de héros qui a besoin d’avoir plus de serviteurs à l’intérieur que la moyenne des decks. Voyons maintenant du point de vue des sorts.

Cumpercentage hero 2 illustration

Le démoniste se démarque des masses (ce n’est pas la tendance avec les serviteurs). Et pour finir, voyons du côté des armes.

Cumpercentage hero 3 illustration

Avec les deux derniers graphiques, nous illustrons l’utilisation des armes sur les archétypes spécifiques qui possèdent des armes dans leurs cartes.

Je vais prendre un peu de temps pour analyser un peu plus en détail les informations sur les cartes associées à un héros spécifique. Commençons par l’analyse du coût des cartes.

Boxplot price illustration

Comme nous pouvons le voir, le premier quartile sur le coût est identique pour tous les héros, et la valeur du coût est 2 (rapide à jouer). Pour le deuxième quartile, sauf pour le druide, le coût des cartes est entre 2 et 3. Dans le troisième quartile, il y a une division qui se produit dans les héros :

  • coût 5 (démoniste/prêtre/guerrier/chasseur/paladin/mage)
  • coût 4 (voleur/chaman)
  • coût 6 (druide)

D’un point de vue général, cette analyse illustre la différence de gameplay avec le héros basé sur sa capacité. Regardons maintenant le côté serviteur des cartes sur leurs points d’attaque/santé.

Boxplot attack illustration Boxplot health illustration

En termes de serviteurs (santé/attaque), il n’y a pas de grande différence dans le boxplot entre les héros.

C’est une analyse très légère des cartes car il y a un élément fondamental sur les cartes que j’ai évité. Certaines ont des propriétés qui pourraient être plus alignées avec le héros (le champ de texte sous le nom de la carte ; dans ce cas, lorsque le serviteur meurt, il substitue votre héros par Lord Jaraxxus).

Card illustration

Regardons maintenant le coût/attaque/santé total des decks en fonction du héros.

Boxplot cost illustration

Comme nous pouvons le voir d’un point de vue du coût, le démoniste a une large gamme de valeurs de 20 à 220 environ. Pour le troisième quartile, tous les héros ont une valeur médiane proche de 100 mana (peut-être un bon enseignement pour la construction d’un deck). Voyons maintenant les points d’attaque des decks.

Boxplot attack 2 illustration

Du point de vue des points d’attaque, le druide a la plus large gamme de valeurs possibles (0-122 environ), mais l’attaque totale médiane d’un deck semble être autour de 50 points. Voyons la santé des decks.

Boxplot health 2 illustration

Dans ce cas, la gamme de valeurs pour la santé est assez large pour tous les héros, mais je dirais que le coût médian est autour de 70 points.

Cette analyse est de très haut niveau du jeu de données, et il semble qu’en général, les decks Hearthpwn sont construits avec :

  • la plupart contiennent moins de 17 serviteurs / 10 sorts / 0 arme
  • le coût médian du deck est autour de 100 mana
  • l’attaque médiane des decks est autour de 50 points
  • la santé médiane des decks est autour de 70 points.

En plus de ces découvertes, toutes ces données m’ont donné des idées.

Giphy GIF

Pourquoi ne pas construire un système de recommandation pour les cartes ?

Comment construire un recommandeur (simple !) de cartes pour Hearthstone

Soyons honnêtes, ce ne sera pas le système de recommandation le plus fou que je vais faire, mais commençons petit. Pour moi, le système de recommandation le plus simple est le recommandeur “articles les plus populaires”.

L’utilisation des cartes pour chaque héros (et dans tous les decks) est le cœur de ce recommandeur. Dans le tableau suivant, j’ai construit le top 25 des cartes pour chaque héros (mais vous pouvez trouver sur cette feuille Google, le classement de toutes les cartes).

Recommendation illustration

Je prévois d’utiliser ce jeu de données comme source d’articles autour des systèmes de recommandation. Ce domaine du machine learning est passionnant en termes de processus et d’algorithmes. Une bonne lecture sur ce sujet est Practical recommender systems de Kim Falk.

Book illustration

Et honnêtement, c’est un excellent livre sur ce sujet, et je pense que je vais l’utiliser comme squelette pour mes futurs articles.

Restez à l’écoute, et n’hésitez pas à donner des commentaires.