
Jeu de dessin multijoueur
pikto, c'est un peu mon jeu de référence. Chaque fois que je voulais tester un langage ou le temps réel, je le recodais : en PHP, en Java, en Flash. Cette fois, il m'a servi de terrain de jeu pour apprendre à travailler avec l'IA.
Le résultat est un jeu de dessin jouable au doigt sur mobile, sans créer de compte. Il est aujourd'hui sur CrazyGames, où plus de 1 000 personnes y jouent chaque jour. La version 2 est partie de plus de 4 000 retours de joueurs.
- joueurs chaque jour
- 1 000+
- langues
- 9
- retours de joueurs à l'origine de la v2
- 4 000
En ligne depuis avril 2026, version 2 en septembre
, ouvrir en grand
Mot trouvé : le dessin, le mot et les points de chacun.
, ouvrir en grand
Après avoir deviné mon dessin, PiktoBot dessine à son tour.
, ouvrir en grand
Le dessinateur choisit son mot parmi trois.
, ouvrir en grand
Le salon d'attente, avec PiktoBot et son niveau.
, ouvrir en grand
La galerie publique des dessins, avec votes.
Fonctionnalités
Le principe est connu de tous : un joueur dessine, les autres devinent.
- Partie rapide, parties publiques classées par langue, ou salon privé rejoint avec un code ou un lien : aucun compte à créer.
- Des parties sur mesure : de 1 à 10 manches, des tours de 30 secondes à 3 minutes, jusqu'à 30 joueurs en salon privé, quatre niveaux de mots dont un pour les enfants, et 23 catégories.
- Quatre modes de jeu (classique, thème imposé, absurde, sprint) et des options à combiner, comme la couleur imposée ou le mode aveugle.
- Des outils de dessin pensés pour la souris comme pour le doigt sur mobile : crayon, gomme, seau, pipette, formes et palette de couleurs.
- Des indices qui se dévoilent au fil du tour, et des fautes de frappe tolérées dans les réponses.
- PiktoBot, un joueur robot à ajouter dans son salon, avec trois niveaux : il devine les dessins, dessine à son tour et participe au chat avec PiktoModo.
- La partie internationale, où chaque message du chat est traduit en temps réel dans la langue des autres joueurs.
- Une galerie publique où l'on vote pour les dessins (joli, drôle, incompréhensible…), et l'export d'un dessin en GIF animé.
- Des avatars personnalisables, un podium en fin de partie, et neuf langues : français, anglais, espagnol, italien, allemand, portugais, indonésien, turc et vietnamien.
- Jouable sur pikto.fun, mais aussi sur CrazyGames, itch.io et GameDistribution.
Côté technique
- Le temps réel. Chaque trait est envoyé aux autres joueurs au moment où il est tracé, par une connexion WebSocket ouverte en permanence. Le serveur Node utilise Fastify, choisi pour ses performances, et Socket.io pour gérer les salons.Node.js, Fastify, Socket.io
- L'interface. Une application React construite avec Vite et stylée avec Tailwind, qui s'adapte du téléphone à l'ordinateur. Chaque langue a ses propres adresses (/en, /it…), pour être bien référencée dans chaque pays.React, Tailwind CSS, Vite, TypeScript, i18next
- Les données. Les parties en cours vivent dans Redis, une base en mémoire très rapide, adaptée à des données qui changent sans arrêt et ne durent que le temps d'une partie. Ce qui doit rester (dessins de la galerie, votes, statistiques, modération) est stocké dans MongoDB.Redis, MongoDB
- L'équité. Le mot à deviner n'est envoyé qu'au dessinateur, jamais aux autres navigateurs, et c'est le serveur qui valide chaque réponse. Chaque joueur reçoit une identité protégée par un jeton secret, et le débit des messages est limité.
- L'IA. Toutes les fonctions d'IA passent par Gemini Flash : PiktoBot devine à partir d'une capture du dessin et de l'indice, ses propres dessins sont générés à l'avance pour ne jamais faire attendre, et la traduction du chat a un budget quotidien. Le coût de chaque fonction est suivi dans l'administration.Gemini Flash
- La modération. Les signalements sont jugés par l'IA à partir du dessin, des derniers messages et du pseudo, en complément d'un filtre d'insultes, d'un système de réputation et de sanctions progressives.
- Les plateformes. Le même jeu est empaqueté pour CrazyGames, où le compte du joueur est vérifié, ainsi que pour itch.io et GameDistribution.
- La qualité et la mise en ligne. Avant chaque déploiement, GitHub Actions vérifie le code, lance plus de 400 tests et rejoue des scénarios de parties sur un vrai serveur. Le jeu est ensuite mis à jour sur le serveur dans des conteneurs Docker, après une annonce de maintenance aux joueurs.GitHub Actions, Vitest, Docker
Fabriqué avec React, Tailwind, Fastify, Socket.io, Redis, MongoDB, Docker, Gemini Flash, Claude Code



















