Backend & temps réel
Ludosaic
Une plateforme de mini-jeux en développement avec des règles rejouables, des résultats vérifiés côté serveur et une reprise après interruption.
Choix technique
Comment ça fonctionne
Règles séparées du rendu ; le serveur rejoue les parties pour vérifier les résultats connectés.
- Actions du joueur
- Règles de jeu rejouables
- Reconstitution côté serveur
- Résultat connecté vérifié
Dans cette étude
Ma contribution
Je développe seul Ludosaic, de l’application web aux règles des mini-jeux. Mon travail comprend notamment :
- la séparation des jeux, de leurs interfaces et du serveur dans un monorepo ;
- des règles rejouables à partir d’une graine et d’une suite d’actions pour vérifier les résultats côté serveur ;
- la conservation locale des résultats en attente et leur renvoi après reconnexion, avec prévention des doublons ;
- une fondation de salons privés avec Colyseus, testée localement avec deux navigateurs pour Grid Duel.
Les choix techniques et les limites présentés ci-dessous décrivent le travail en cours.
L’application en images
Ces captures montrent le catalogue et une partie de démonstration exécutés localement. La partie illustrée se joue à deux sur le même appareil.
Voir un détail de l’interface
Jouer rapidement, sans créer de compte
J’ai commencé Ludosaic parce que j’aime les jeux rapides, accessibles sans installation. Développer moi-même la plateforme et ses jeux me permet de travailler aussi bien les règles que les interfaces et le serveur.
Ludosaic rassemble plusieurs mini-jeux dans une même expérience web, pensée pour être accessible, installable et utilisable d’abord sur mobile. Le parcours recherché reste direct : choisir un jeu, sélectionner un mode et commencer une partie, sans imposer la création d’un compte.
Un profil invité est généré localement pour conserver le nom d’affichage, les préférences, la progression et les succès. Lorsque les services connectés sont disponibles, une session anonyme permet aussi de synchroniser certains réglages et résultats vérifiés, tout en gardant les modes compatibles utilisables hors ligne.
Trois jeux pour construire la plateforme
Reflex Rush propose des parties de réflexes en solo et des défis quotidiens déterministes. Merge Forge est un puzzle de fusion dont la partie peut être sauvegardée et reprise, avec un défi commun fondé sur la date. Grid Duel explore le jeu de stratégie à deux sur le même appareil, les bots et les salons privés en ligne.
Ces trois jeux ne servent pas seulement à remplir un catalogue. Chacun éprouve une contrainte différente : le cycle de vie d’un moteur Phaser, une logique de puzzle rejouable, puis une autorité multijoueur capable de contrôler les tours et de conserver les résultats.
Des choix qui structurent la plateforme
Séparer les jeux de leurs interfaces
Le monorepo sépare l’application Next.js, le serveur de jeu, chaque jeu et leurs contrats communs. React et Phaser portent les interfaces, PostgreSQL et Drizzle les données durables, Redis la coordination temporaire, et Colyseus l’autorité des salons privés.
Vérifier les résultats à partir des règles
Les règles restent indépendantes du rendu et peuvent être rejouées à partir d’une graine et d’une suite d’actions. Pour un résultat connecté, le serveur reconstitue la partie au lieu d’accepter directement le score annoncé par le navigateur. Les jeux sont chargés uniquement lorsqu’ils sont ouverts, et le service worker permet de relancer certains modes déjà chargés sans connexion.
Reprendre après une interruption
Par exemple, une connexion interrompue après une partie ne doit pas faire perdre son résultat, ni le compter deux fois lorsque l’envoi est retenté. La file locale et la prévention des doublons répondent à cette contrainte.
Les résultats en attente sont conservés localement puis renvoyés après reconnexion. Leur vérification côté serveur et la prévention des doublons permettent de traiter les nouvelles tentatives d’envoi sans compter plusieurs fois la même partie.
Les salons privés de Grid Duel comprennent également un mécanisme de reprise. Ces fonctionnalités font partie du travail sur la continuité des parties, dont la validation en environnement cible reste à compléter.
Validation et limites actuelles
Ludosaic est toujours en cours de développement. Le dépôt contient une fondation validée localement et des parcours jouables en bêta locale ou connectée, mais le MVP complet n’est pas encore livré. Les salons privés de Grid Duel disposent par exemple d’une fondation testée avec deux navigateurs, sans constituer encore une expérience multijoueur finalisée pour la production.
Aucun déploiement externe n’a été réalisé. Je prévois l’hébergement sur mon futur homelab, une fois le matériel et l’environnement cible prêts. Avant une ouverture publique, il reste notamment à terminer les critères du MVP, durcir l’exploitation du multijoueur, faire relire les textes juridiques et valider sur l’environnement cible les sauvegardes, la restauration, TLS/WSS, la supervision et les parcours essentiels. Les tests de règles, PostgreSQL et navigateur décrivent donc l’avancement technique du projet, pas les résultats d’un service en production.