Les données NBA, transformées en jeu de cartes à collectionner.
Le basket, c’est des stats. Les jeux de cartes, également — sauf qu’on les lit autrement. Depuis longtemps, j’avais envie de créer un jeu qui mélange ces deux mondes.
HOOPCARDS, c’est cette idée enfin concrétisée : un jeu où mes compétences de data scientist servent une idée que j’avais depuis ... trop longtemps.
HOOPCARDS est un jeu de cartes à collectionner en 1v1.
Chaque carte représente un joueur NBA. Ses statistiques — attaque, défense, tir, rebonds, etc. — ne sont pas factices : pour le premier set, elles viennent directement de la saison régulière qui vient de se terminer en 2026.
Tu affrontes un adversaire en jouant tes cartes les unes contre les autres. Une stat d'attaque s'oppose à une stat de défense, le plus haut score l'emporte. Simple à comprendre, rapide à jouer, conçu pour etre rejoué encore et encore ...
Pour que le jeu soit réaliste et équilibré, j'ai construit une vraie logique data science — pas juste des chiffres copiés-collés depuis Basketball Reference.
Voici l'essentiel :
-
Un ensemble de joueurs de référence — Seuls les joueurs avec un minimum de minutes et de matchs entrent dans le calcul (~460 joueurs). Ça évite qu'un échantillon trop petit fausse les notes.
-
8 stats par carte — ATK, DEF, REB, SHOOT, 3PT, AST, INT, BLK. Chacune est un composite : un mélange intelligent de stats normalisées (points par 36 minutes, pourcentages, volume de tirs, etc.), pondéré selon une logique basket.
-
Une note /100 calibrée — Le score brut de chaque joueur est converti en percentile, puis mappé sur une échelle gaussienne (moyenne à 50). Résultat : une distribution lisible, où un 70 signifie vraiment « au-dessus de la moyenne ».
-
Des garde-fous — Malus si le joueur n'a pas assez joué, pénalité si le volume de tirs est trop faible, plafond entre deux joueurs consécutifs pour éviter les écarts absurdes.
-
Un équilibrage pensé pour le jeu — Les stats secondaires (tir, 3 points, passes…) sont rééquilibrées pour que les duels ATK + sub vs DEF + sub tournent autour de 50/50 en moyenne. J'ai simulé des milliers de matchs pour valider ça.
-
Une rareté cohérente — N, R, SR, SSR : elle découle de la performance globale du joueur sur la saison, pas de la popularité ou d'autres facteurs non mesurables.
En bref : des données NBA brutes → des notes de jeu justes, comparables et rejouables. C'est la partie dont je suis le plus fier.
En clair : à tout le monde.
Fan de basket ? Tu retrouveras les joueurs qui ont marqué la saison.
Fan de cartes ? Tu auras le plaisir de collectionner, comparer et construire ton deck.
Ni l'un ni l'autre ? Pas de souci — le jeu est volontairement simple à apprendre.
J'ai conçu HOOPCARDS pour des parties rapides : quelques minutes suffisent pour enchaîner un duel. Et comme les cartes changent à chaque partie, le jeu reste rejouable quasi à l'infini — sans qu'il faille maîtriser des règles complexes.
En tant que jeune data scientist, HOOPCARDS m'a poussé bien au-delà d'un notebook d'exploration :
- Feature engineering métier — Traduire des stats NBA brutes en 8 attributs de jeu, avec une logique basketball derrière chaque formule.
- Normalisation & modélisation — Percentiles, mapping gaussien, simulations de distributions : choisir des méthodes et les justifier.
- Pipeline de bout en bout — De l'ingestion des données au CSV final consommé par le générateur de cartes, en passant par la documentation auto-générée des formules.
- Validation par simulation — Tester l'équilibre du jeu avec des milliers de matchs simulés, pas seulement « à l'œil ».
- Aller plus loin que la data — Computer vision pour le détourage des joueurs, rendu HTML/CSS des cartes, automatisation complète du pipeline.
C'est un side-project, oui. Mais c'est aussi mon laboratoire : l'endroit où j'apprends en fabriquant quelque chose de concret, pas juste en analysant des tableaux.
J'espère que ce jeu vous plaira — que vous ayez envie d'enchaîner les duels, de comparer vos cartes, ou simplement de voir si votre joueur préféré mérite bien son ATK.
Je suis ouvert à vos retours : idées de règles, retours d'expérience après une partie, suggestions d'équilibrage. N'hésitez pas à partager.
Bon jeu. 🏀
| Domaine | Outils |
|---|---|
| Langage | Python 3.11 |
| Données & stats | pandas, NumPy, SciPy |
| Sources NBA | Basketball Reference, nba_api |
| Computer vision | OpenCV, Pillow, BiRefNet (PyTorch) |
| Rendu visuel | HTML/CSS/JS, Playwright |