Réalisations
Jeux en ligne
La machine applique les règles : au serveur pour les parties qui durent plus longtemps qu'une session, dans le navigateur pour celles qui tiennent en une. Les quatre qui ont un serveur partagent la même exigence, le jeu ne croit jamais le client sur parole ; le cinquième n'en a pas du tout et attend son adresse.
-
Le plus gros de tous, et de loin. Chaque joueur dirige un club (composition, recrutement, centre de formation, finances, billetterie) et le serveur fait vivre le championnat en continu : les matchs se jouent en direct, les saisons basculent, le marché tourne.
- On entre sans connaître personne : deux ligues publiques, sans code d'invitation. La rapide part dès que six managers humains ont pris un club, et au plus tard trois jours après le premier inscrit ; celle à date part au rendez-vous du lundi soir, quel que soit le nombre. Chacune se dédouble quand ses dix-huit clubs sont pris.
- Simulation continue côté serveur, les matchs sont sauvegardés action par action : un redémarrage ne perd rien.
- Le jeu s'installe sur un téléphone : manifeste complet, service worker et écran hors-ligne plutôt que la page d'erreur du navigateur. Sur iPhone, c'est même la seule façon de recevoir un rappel de match.
- Une application Android, qui est le site lui-même : le jeu est empaqueté en TWA, une coquille d'une centaine de lignes, si bien que rien n'est écrit deux fois et qu'un correctif déployé sur le serveur y est à la seconde suivante, sans passer par une revue. Le paquet est fabriqué et signé, et la poignée de main entre le domaine et l'application est posée en production ; la fiche publique, elle, vient après la piste fermée. La facturation de Google est dans le paquet dès le premier envoi, parce que c'est ce qui ne se rattrape pas ; en attendant qu'elle soit branchée, le client annonce sa plateforme au serveur et la boutique s'éteint d'elle-même dans l'application.
- Le compteur d'audience sait d'où l'on vient : une visite depuis l'application du Play Store, un site épinglé sur l'écran d'accueil et un navigateur ordinaire ne se rangent pas dans la même provenance. C'est le premier chiffre à regarder une fois la fiche ouverte.
- Neuf langues d'interface, deux marques : surlebanc.fr et benchside.football, catalogues chargés à la demande, avec un contrôle automatique des clefs manquantes.
- Notifications multicanal : e-mail, push navigateur et Telegram, par type d'événement.
- Livraison à deux étages : préproduction puis production, retour arrière en une commande.
-
On collecte des ressources, on revendique des corridors de transport entre stations, on remplit des contrats de liaison. Les parties sont asynchrones : chacun joue quand il veut, et reçoit un rappel quand c'est son tour, une fois, et jamais s'il vient de consulter la partie.
- Un moteur de règles pur, ni réseau, ni base, ni horloge : une partie se rejoue entièrement depuis une graine et la liste des coups, ce qui rend un bogue reproductible à partir de deux nombres.
- Des cartes engendrées, pas dessinées : 49 plateaux dans quatre mondes (Mars, la Terre, le ciel étoilé et la fiction), tous bâtis par le même générateur à partir de données réelles, et reliés par triangulation de Delaunay : aucun corridor n'en croise un autre.
- Une carte de chez soi, à la commande : on donne un lieu et une échelle, de la ville de trois kilomètres au quart de continent, et le serveur fabrique le plateau. Les stations sont alors des communes, des bourgs ou, à l'échelle d'une ville, des édifices relevés dans OpenStreetMap.
- Chacun ne voit que sa main : la projection de l'état se fait au serveur ; le siège vient de la session et ne s'annonce jamais.
- Un bot reprend le siège d'un joueur qui ne revient pas, pour qu'une partie asynchrone ne s'enlise pas.
-
03chess.aikadamai.com
Pion de vue
Jouer, analyser et progresser aux échecs, moteur compris, sans qu'une position sorte du navigateur
Jeu
Une partie contre le moteur, l'analyse de ses propres parties, des ouvertures commentées et des exercices de tactique. Tout s'exécute sur la machine du visiteur : il n'y a pas de serveur de jeu, et il n'y en a pas besoin.
- Stockfish 18 compilé en WebAssembly : le moteur tourne dans l'onglet, aucune position n'est envoyée nulle part, et une fois les fichiers en cache l'application joue et analyse hors connexion.
- Aucun appel à un modèle de langage : les commentaires du coach sont des règles écrites à la main, déclenchées par ce que le moteur mesure. Un site dont l'analyse coûterait un jeton par coup se dégraderait à mesure qu'il marche.
- On colle un PGN, on ressort avec des exercices : la partie importée de Chess.com ou de Lichess est analysée en local, profondeur 16 par défaut, et rend une courbe d'évaluation, les coups annotés et, pour chaque erreur, le coup qu'il fallait jouer et pourquoi. Les erreurs relevées deviennent ensuite la file de révision.
- 7 547 exercices tirés de vraies parties, de 400 à 2 800 Elo sur 23 thèmes, servis autour du niveau du joueur : le classement monte quand il trouve et descend sinon.
- Un adversaire réglable au pas de 50 Elo, de 400 à 2 600, qui retient la main avant une bourde plutôt que de la punir en silence, et commente pendant la partie.
- Neuf finales à savoir conclure : mater avec la tour, pousser un pion, tenir une nulle. Le moteur y défend au mieux, parce qu'une finale gagnée contre un adversaire complaisant n'apprend rien.
- 41 ouvertures commentées coup par coup, avec leurs pièges et une révision espacée, adossées aux 3 810 positions du répertoire ECO pour l'exploration libre.
-
04bridge.aikadamai.com
Mes donnes de bridge
Enchérir, jouer la carte, puis savoir à quelle carte exactement la levée est partie
Jeu
La donne du jour, ou l'entraînement libre sans classement. On tient Sud, on enchérit sa main comme à la table, puis on joue, déclarant ou en défense. Réussir son contrat et bien jouer sont deux choses différentes : un joueur qui offre une levée dans un contrat confortable le réussit quand même, et le féliciter là lui apprend le contraire de ce qu'il faut.
- La faute est nommée à la carte près : la donne finie, le solveur la rejoue et dit, après chaque carte, combien de levées le déclarant peut encore faire en jeu parfait. Cette suite est plate quand personne ne se trompe ; chaque décrochage désigne la carte fautive et ce qu'elle a coûté. Et le sens du décrochage dit de quel côté est la faute, par construction : la défense ne peut pas faire baisser ce total, le déclarant ne peut pas le faire monter.
- L'erreur d'enchères se mesure à part, à jeu parfait des deux côtés, pour ne pas imputer aux annonces ce qui s'est perdu à la carte. Et un bouton redistribue la même donne à l'identique : savoir où l'on s'est trompé ne sert qu'à condition de pouvoir recommencer.
- Les enchères se disent en français : SEF majeure cinquième, ouvertures, réponses, redemandes, Stayman, transferts, barrages et interventions. Chaque annonce des robots est expliquée sous la feuille, et les vôtres sont confrontées à ce que le système annonçait.
- Le robot ne triche pas : il ne voit que sa main, le mort une fois découvert et les cartes tombées. Il tire quinze répartitions plausibles de ce qu'il ignore et joue ce qui rapporte le plus en moyenne, si bien qu'il se trompe là où un humain se tromperait, faute d'information, et non par faiblesse de calcul.
- Les mains cachées ne descendent jamais dans le navigateur avant la fin de la donne : le client propose une enchère ou une carte, le serveur juge, le serveur fait parler et jouer les robots. C'est ce qui rend le classement défendable.
- Aucun jeton dans la boucle : ni pour fabriquer les donnes, ni pour les analyser. Une analyse rédigée par un modèle pour chaque joueur et chaque donne coûterait proportionnellement à l'audience, c'est-à-dire un modèle économique qui se dégrade quand le site marche. Et rien à installer : sans inscription, sans cookie, sans publicité.
-
05Adresse à venir
Potager Panique
Un jeu d'arcade de galeries, creusé dans un potager
Jeu
Creuser ses galeries, ramasser la récolte, faire basculer une citrouille sur ce qui remonte des nids. Une parcelle est faite quand tout est ramassé, ou quand tous les occupants sont au tapis, et il y en a trois cents, réparties en six saisons. Le geste est celui des salles de 1984, le décor est un almanach potager.
- Un seul fichier, et rien d'autre : le balisage, le style et le jeu tiennent dans un document unique, sans dépendance ni étape de construction. Il se pose sur n'importe quel hébergement, et s'ouvre depuis un disque aussi bien que depuis une adresse.
- On choisit son allure et sa saison avant de commencer : quatre vitesses de monstres, et l'entrée dans l'une des six saisons déjà ouvertes. Reprendre trois cents parcelles depuis la première pour retrouver celle où l'on butait n'est pas de la difficulté, c'est de l'attente.
- Le tableau d'honneur ne quitte pas l'appareil : les huit meilleures récoltes sont gardées par le navigateur du joueur. Pas de compte, pas de serveur, rien qui parte ailleurs, donc rien à déclarer ni à protéger.
- Un bestiaire plutôt qu'une surprise : cinq occupants de la couche arable et les deux outils qui permettent de s'en défaire sont décrits avant la partie. Découvrir une règle en mourant est une punition, pas un apprentissage.
- Tout est dessiné, rien n'est chargé : le potager, les galeries et les bestioles sont peints à la main dans une palette d'almanach, et le son est fabriqué par le navigateur plutôt que téléchargé.
Démarrer
Parlons de votre projet
Un besoin à chiffrer ou une consultation en cours : dans les deux cas, la réponse est écrite, datée, et sans relance commerciale.
Deux façons de démarrer
-
Demande de devis
Un besoin, même flou, et l'envie de savoir ce qu'il coûte. Décrivez-le en quelques phrases : vous recevez un cadrage écrit et un chiffrage par lots, avec ce qui est inclus et ce qui ne l'est pas.
Réponse sous 48 h ouvrées
Demander un devis -
Appel à projet
Vous avez un cahier des charges, une consultation en cours ou un appel d'offres à instruire. Déposez-le avec sa date de remise : vous saurez sous 24 h si je réponds, et sur quel périmètre.
Réponse de principe sous 24 h
Déposer un appel à projet