Aller au contenu
Martin Poiroux
Langue : English
Projets · CodeCode · Jeux · 2026

Barricade

Le jeu de barricades tel qu’il se joue sur barricade.gg : deux joueurs, une grille de neuf sur neuf, aucun hasard. Un moteur de recherche en Python, puis le même compilé.

Le Barricade joué sur barricade.gg est un jeu de course sans hasard, proche de Quoridor. Deux joueurs, une grille de neuf sur neuf, dix barricades chacun, le droit de sauter par-dessus l’adversaire, et il faut atteindre le côté opposé du plateau. Aucun dé, donc une position a une valeur exacte et un programme peut la chercher.

Le plus court chemin de chaque pion, recalculé à chaque mur. Survolez la grille pour voir où tomberait un mur, cliquez pour le poser ; un mur qui enfermerait un pion est refusé.

Les règles vivent dans un module Python sans dépendance : déplacements, pose de barricades, saut, condition de victoire, horloge. Le reste du dépôt se branche dessus derrière une seule interface, une position entre, un coup sort. Autour, un petit serveur local sert une interface HTML et Canvas, avec les modes deux joueurs, joueur contre programme et programme contre programme.

Une partie IA contre IA : chaque pion cherche le plus court chemin, chaque barrière l’allonge pour l’adversaire. La barre du bas donne les chances de chacun.

La première version de la recherche est un negamax alpha-bêta classique : approfondissement itératif, table de transposition, ordre des coups, et une idée propre au jeu, ne considérer sérieusement que les barricades posées sur le chemin de l’adversaire. L’évaluation compare les deux distances à l’arrivée et tient compte des barricades restantes, en réduisant la confiance quand l’adversaire garde du stock.

Le panneau de débogage : profondeur de recherche, nœuds explorés et score du dernier coup.

Puis la même recherche est descendue d’un étage : plateau en masques de bits, noyau compilé avec numba, coups tueurs, réduction des coups tardifs, fenêtre d’aspiration. Elle passe d’environ soixante mille nœuds par seconde à deux millions et demi, ce qui vaut quatre ou cinq niveaux de profondeur supplémentaires dans le même temps de réflexion. Une recherche de Monte-Carlo existe à côté, correcte mais plus faible à temps égal, ce qui est la limite connue des simulations légères sur un jeu de course où la distance renseigne déjà beaucoup.

Reste une question non tranchée : contre quoi mesurer. Barricade n’a pas de moteur de référence comme les échecs ont Stockfish, donc le seul étalon disponible est le programme lui-même, version contre version. Cela suffit à établir un gain, pas à annoncer un niveau.

Fin de partie : le pion bleu a atteint l’autre rive.

L’autre jeu de barricades du site est Malefiz, à quatre joueurs et avec des dés. Les deux dépôts ne partagent aucun code.

Projet privé, pas de lien public