YAMS · Architecture
Parti d'un jeu de dés classique. Arrivé à un moteur multijoueur temps réel, auth sans mot de passe et 7 langues. En vanilla.
Comment est construit YAMS/Yahtzee — choix techniques, points originaux, ce que ça démontre.
Voir le jeu →Le jeu
Multijoueur en temps réel, sans framework, sans bundler.
Deux modes de jeu
YAMS 5 dés (règles classiques, bonus à 63 pts) et YAHTZEE 6 dés avec combinaisons étendues : 3 paires, suite complète, bonus à 84 pts → +100. Même moteur de règles, deux jeux distincts.
Intelligence artificielle — Bot "Dédé"
Algo suggestKeep() + suggestScore() à plusieurs niveaux de priorité. Le même fichier strategy.js est partagé entre le bot serveur, les hints en ligne et le mode Solo — isomorphisme client/serveur sans duplication de logique.
Mode Solo / Conseiller
Jouable hors-ligne, aucun socket requis. L'utilisateur saisit manuellement ses dés et obtient des suggestions de stratégie. Utile pour apprendre ou tester des coups spécifiques.
Auth moderne sans mot de passe
Google OAuth + Passkeys via WebAuthn (SimpleWebAuthn) — connexion par empreinte digitale ou Face ID. Les invités jouent sans compte ; seuls les utilisateurs authentifiés apparaissent au Palmarès.
Internationalisation — 7 langues
FR, EN, DE, ES, IT, PT, KO. Détection automatique du navigateur, switcher manuel. Les clés d'erreur serveur sont traduites côté client — aucune string hardcodée côté serveur.
UX multijoueur soignée
Minuteur de tour configurable (15 s → 3 min) avec auto-score à l'expiration. Indicateurs de connexion par joueur en temps réel. Wake lock (écran allumé pendant la partie). Partage par lien (?join=CODE). Dissolution automatique si le créateur quitte la salle d'attente.
Filtre de pseudos
944 mots interdits en 7 langues. Normalisation phonétique (ph→f, doubles lettres, accents). Détection par ratio de couverture pour éviter les faux positifs sur les noms communs.
Ce que ça démontre
strategy.js partagé client / serveur / botgame/db.js — léger, sans serveur DB séparéYAMS / Yahtzee · Assistant IA · Multijoueur en ligne