Malefiz
Le jeu de plateau Malefiz écrit en C++ avec SDL2 : quatre joueurs, des dés, des barricades à pousser, et une IA qui affiche son raisonnement à côté du plateau.
Malefiz est un jeu de course à quatre joueurs sur un plateau en pyramide de dix-sept colonnes sur dix-neuf rangées. Chaque camp a cinq pions, onze barricades bloquent les passages, et un dé décide de la longueur de chaque déplacement. Poser une barricade au bon endroit compte souvent davantage que d’avancer.
Le programme est écrit en C++17 avec SDL2 pour le rendu. Les règles, l’état de la partie et le rendu sont séparés, ce qui permet de faire tourner des parties sans interface pour mesurer.
La partie intéressante est l’adversaire artificiel, et le dé y change tout : contrairement aux échecs, il n’existe pas de meilleur coup certain, seulement une meilleure espérance. Le programme propose donc trois niveaux. Une heuristique directe, qui choisit le meilleur couple pion-destination sans rien explorer. Une recherche de Monte-Carlo, qui simule des parties jusqu’au bout et retient ce qui gagne le plus souvent. Et une version guidée par un réseau de neurones, qui fournit à la recherche des priorités de coup et une estimation de la position au lieu de simuler jusqu’à la fin. Le réseau lit le plateau sous forme de douze plans : les pions de chacun des quatre joueurs, les barricades, les cases d’arrivée, les bases, le joueur au trait et la valeur du dé. Il s’entraîne en jouant contre lui-même.
L’interface montre ce que la recherche est en train de faire : nombre de simulations, vitesse, profondeur moyenne, chance de gain par couleur, et l’écart entre l’estimation statique et l’estimation simulée. C’est utile pour jouer, mais elle a surtout été écrite pour voir quand l’évaluation se trompe.
Le second jeu de barricades du site est Barricade, qui ne se joue ni avec des dés ni à quatre : les deux dépôts sont indépendants.
Projet privé, pas de lien public
