Un Million d'Échiquiers : Un serveur mono-processus gérant des millions de parties d'échecs simultanées

2025-07-16
Un Million d'Échiquiers : Un serveur mono-processus gérant des millions de parties d'échecs simultanées

L'auteur a créé "Un Million d'Échiquiers", un jeu d'échecs multijoueur en ligne où une grille de 1000x1000 échiquiers forme un seul jeu global. Chaque mouvement affecte instantanément tout le plateau, sans tour et avec la possibilité de déplacer les pièces entre les échiquiers. Fonctionnant sur un seul processus Go, le jeu a attiré plus de 150 000 joueurs en 10 jours, traitant plus de 15 000 000 mouvements et des centaines de millions de requêtes. L'article détaille la conception du système du jeu, la distribution des données, les optimisations du protocole, le verrouillage optimiste et les mécanismes de restauration. L'auteur partage les leçons apprises, notamment l'optimisation des performances, les choix architecturaux et l'équilibre entre l'échelle du jeu et l'expérience du joueur. Le billet se conclut par des réflexions sur les défauts de conception, tels que le manque d'une échelle impressionnante, et les plans de développement futurs du jeu.

Lire plus

Un Million d'Échiquiers : Le Jeu d'Échecs Multijoueur Massif le Plus Fou

2025-04-28
Un Million d'Échiquiers : Le Jeu d'Échecs Multijoueur Massif le Plus Fou

Un développeur a créé un site web appelé 'Un Million d'Échiquiers' avec, vous l'aurez deviné, un million d'échiquiers ! Tous les joueurs partagent les mêmes échiquiers, déplaçant les pièces instantanément sans tours. Le développeur a surmonté d'énormes défis techniques, en construisant le backend en Go (son premier projet en Go !), en utilisant un seul thread d'écriture et de nombreux threads de lecture, et en implémentant un verrouillage optimiste pour la concurrence. Ce projet est un exploit technique ; jouez-y et découvrez le jeu d'échecs multijoueur massif comme jamais auparavant !

Lire plus

Exécuter Pong dans les onglets du navigateur

2025-02-20
Exécuter Pong dans les onglets du navigateur

Un développeur a exécuté Pong avec ingéniosité sur 240 onglets de navigateur ! En utilisant AppleScript pour créer une grille d’onglets, des Web Workers pour des mises à jour d’arrière-plan efficaces et Broadcast Channel pour la communication entre les onglets, il a rendu le jeu sur les favicons des onglets. Ce projet montre la puissance des API du navigateur et la résolution créative de problèmes.

Lire plus
Développement codage créatif

Bad Apple dans Vim : 6500 expressions régulières et beaucoup de magie

2025-01-12
Bad Apple dans Vim : 6500 expressions régulières et beaucoup de magie

Cet article explique comment l’auteur a rendu la vidéo musicale Bad Apple dans Vim en utilisant uniquement des requêtes de recherche. Chaque image a été convertie en un tableau binaire de pixels, décomposé en rectangles et représenté par une expression régulière Vim. Le résultat ? Un fichier contenant plus de 6500 expressions régulières, lues séquentiellement via une macro Vim pour créer l’animation. Cet exploit impressionnant met en évidence les capacités surprenantes de Vim et les compétences considérables en programmation de l’auteur.

Lire plus
Développement Expression régulière