Un jeu de cartes et de gestion d’équipe pour le football amateur, du District au National 1, avec les occasions décisives jouées au doigt en 3D.

Pl. 01 / 16Étude de cas

Légendes du Dimanche

Un jeu de cartes et de gestion d’équipe pour le football amateur, du District au National 1, avec les occasions décisives jouées au doigt en 3D.

Bon de commandeN° Pl. 01 · 2026
Client
Projet personnelJeu web installable, mobile d’abord · pilote : 205 clubs des Hauts-de-France
Année
2026Du 27 septembre au 3 novembre 2026 : cinq phases, de l’idée à la mise en ligne de la première tranche
Rôle
Game design : boucle de jeu, cartes, collectifs, match, économie, document de game designDirection artistique : nom, identité, gabarits de cartes, blasons, maillots et sponsors générésProduct design et UI/UX, mobile d’abordFootballeur 3D et animations de sortie, construits par script dans BlenderDirection du développement avec Claude Code : découpage en phases, plans validés, 44 décisions consignées, essais sur téléphone
Nature du travail
  • Web & App ✓
  • Branding ✓
  • Print
  • Motion ✓
  • Social media
  • Illustration
Livrables
  • Tranche jouable : accueil invité, choix du club, pack de départ, coque à 7 onglets, match, boutique
  • Moteur de match déterministe en 2D et actions clés jouables en 3D (5 situations)
  • Univers du pilote : 205 clubs, 4 839 joueurs fictifs, 9 749 cartes, blasons et maillots générés
  • 8 gabarits de cartes et ouverture de pack en 3D où le joueur sort avant sa carte
  • Footballeur 3D original (4 606 triangles) et trois fins de sortie animées
  • Pages publiques des clubs et des cartes, images de partage et story
  • Documentation : game design, architecture, feuille de route, données et légal, journal des décisions
Outils
  • Next.js 16
  • React 19
  • TypeScript
  • Three.js
  • PixiJS 8
  • Supabase
  • Vercel
  • Blender
  • Tailwind CSS 4
  • Zod
  • Vitest
  • Playwright
  • Claude Code

Le film

Film de présentation réalisé pour ce portfolio à partir de captures du jeu (compte de démonstration).

Pl. 01 · Le film0:00 / 0:00

Le brief

Les jeux de foot à cartes parlent des stars. Le dimanche, 2,3 millions de licenciés jouent dans environ 12 000 clubs amateurs (chiffres FFF, saison 2023-24), et aucun jeu ne parle d’eux. J’ai voulu un jeu de collection et de gestion d’équipe où l’on soutient le club de son village, du District au National 1 : on ouvre des packs, on compose son onze, on regarde le match en 2D et on joue soi-même les occasions décisives en 3D.

L'enjeu

Trois règles dès le premier jour. Rien de réel sur les personnes : joueurs fictifs, aucun mineur, aucun logo ni photo trouvés en ligne. Aucune marque de jeu existante et aucun argent réel. Et un serveur qui ne fait confiance à personne pour ce qui a de la valeur : packs, crédits, récompenses. Le tout devait tourner en 3D sur un téléphone de milieu de gamme.

Au programme

  • Choisir son club parmi 205, du District 5 au National 1
  • Pack de départ de 18 cartes, dont 8 de son club
  • Onze composé automatiquement, collectifs de club et de district
  • Match simulé en 2D, commenté par le speaker du club
  • 3 à 6 actions clés par match, jouées au doigt en 3D
  • Boutique avec probabilités affichées, crédits gagnés en jouant
  • Pages publiques et images de partage

La démarche

  1. 0127 septembre · Fondations

    Le nom, le document de game design, le monorepo et le moteur. Le moteur est déterministe dès le départ : même graine, même match, vérifié sous Node, Deno et trois navigateurs.

  2. 0228 septembre · Le geste

    Le risque n° 1 d’abord : l’action clé en 3D. On trace la frappe au doigt, la physique fait le reste (effet, rebonds, poteaux, filets), puis la caméra repasse l’action au ralenti. 60 images par seconde sur iPhone 13.

  3. 0329 septembre · Le match

    Une simulation par phases et par duels, une chorégraphie 2D lisible et 159 phrases de speaker. 10 000 matchs simulés pour caler les statistiques, puis la bascule en 3D sur les occasions.

  4. 043 octobre · L’univers

    205 clubs et leurs effectifs tirés d’une graine, des blasons, maillots et sponsors générés, huit gabarits de cartes, l’ouverture de pack en 3D et notre propre footballeur.

  5. 056 octobre → 3 novembre · La boucle

    Le socle serveur (profils, grand livre des crédits, packs et cartes en base), le parcours invité, la coque à sept onglets, le match rejoué et payé par le serveur, la boutique, puis la mise en ligne avec captcha et limites anti-triche.

Planches

Le projet en un coup d’œil : un jeu de cartes et de gestion pour le football amateur, du District au National 1
Pl. 01.1Le foot du dimanche mérite ses légendes
Blasons et maillots générés pour les clubs du pilote
Pl. 01.2205 clubs, zéro logo réel
Huit gabarits de cartes, du bronze à l’ancien pro, et l’anatomie d’une carte
Pl. 01.3Une vignette des années 90, traitée comme une carte de pro
Ouverture de pack en 3D : projecteurs, blason du club, sortie du joueur, carte
Pl. 01.4L’ouverture de pack
Action clé 3D : tracé de la frappe, trajectoire, mur, ralenti, page de réglage
Pl. 01.5Le geste, risque n° 1 du projet
Match simulé en 2D vu du dessus, puis bascule en 3D sur une action « passe puis frappe »
Pl. 01.6Vu d’en haut, joué au sol
Le footballeur 3D en pose en T (maillage et tenue), trois tenues d’un club, sortie du joueur
Pl. 01.7Un footballeur du dimanche
Cinq écrans de téléphone, de l’accueil à la boutique
Pl. 01.8Le premier dimanche : de zéro au premier match
La coque du jeu sur ordinateur : La Une, collection, boutique et onze
Pl. 01.9Sept onglets, un seul club
La Une du jeu sur ordinateur
Pl. 01.10Ordinateur
Le onze et les collectifs sur tablette
Pl. 01.11Tablette
La Une sur téléphone
Pl. 01.12Mobile
Page publique d’un club, images de partage et story
Pl. 01.13Partager son club
Architecture : moteur déterministe, rendus 2D et 3D, serveur autoritaire
Pl. 01.14Un seul moteur, joué deux fois
Cinq phases du 27 septembre au 3 novembre 2026, décisions et chiffres du dépôt
Pl. 01.15Le risque d’abord, la finition ensuite
Palette pelouse, craie, projecteur, bronze, argent, or ; typographies Big Shoulders et Manrope
Pl. 01.16Le prestige d’une finale sur un terrain de district

Décisions

01

Le serveur rejoue tout

Un match, c’est une graine, deux équipes figées et les gestes du joueur. Le serveur le rejoue au bit près avant de verser les crédits. Pour que ce soit possible, le moteur n’utilise ni hasard libre ni fonctions mathématiques du navigateur : il a les siennes.

02

Des clubs à soi, des joueurs fictifs

Les joueurs sont générés, majeurs, et changent tous si on change le générateur : c’est une décision, comme l’empreinte du moteur. Les blasons et les sponsors sont inventés (« Bar-Tabac du Stade ») et chaque image de partage le rappelle.

03

Pas d’argent réel, des probabilités affichées

Les crédits se gagnent en jouant : 300, 600 ou 900 par victoire selon le niveau, 25 par action clé réussie. Chaque pack affiche la chance par carte et la chance d’en avoir au moins une.

04

Notre propre footballeur

Le mannequin de Mixamo ne portait qu’une peinture de maillot. Je l’ai remplacé par un footballeur original, construit par un script Blender : 4 606 triangles, un appel de dessin par joueur, et un coup franc qui passe de 93 à 62 appels de dessin.

05

Le ressenti se règle à la main

Caméra, geste, physique, sortie du joueur : tout ce qui touche au ressenti a sa page de réglage dans le labo du jeu, plutôt que des valeurs codées en dur.

06

Claude Code pour aller plus loin

Claude Code a écrit l’essentiel du code sous ma direction. Je découpe chaque phase, je valide le plan avant qu’il commence, j’essaie chaque version et je consigne les décisions. C’est ce qui m’a permis de mener un projet de cette taille en cinq semaines.

Résultats

  • 205Clubs du pilote, du District 5 au National 1
  • 9 749Cartes générées, pour 4 839 joueurs fictifs
  • 60 i/sPour l’action clé 3D sur iPhone 13
  • 166Commits en cinq semaines, 47 pull requests

Ce que j'en retiens

Le plus dur n’a pas été la 3D mais la confiance : dès qu’un crédit a de la valeur, le navigateur ne peut plus rien écrire. Avoir rendu le moteur déterministe dès le premier jour a tout simplifié ensuite : le serveur rejoue, les ralentis ne coûtent rien et les tests comparent une empreinte. Prochaine étape : ouvrir la tranche au public et la faire essayer à des joueurs de club.

Palette

Couleurs relevées sur les visuels du projet.

  • Pelouse de nuit#06140FC70 M0 J25 N92
  • Pelouse#1D5A41C68 M0 J28 N65
  • Craie#F4F1E8C0 M1 J5 N4
  • Projecteur#FFD166C0 M18 J60 N0
  • Bronze#B87333C0 M38 J72 N28
  • Argent#C0C7CFC7 M4 J0 N19
  • Or#D4AF37C0 M17 J74 N17