Fairy Stockfish - Echecs et informatique sur PC-Windows

Rechercher
Aller au contenu

Menu principal :

Variantes

Fairy Stockfish
Le Stockfish des variantes



Fairy Stockfish est une déclinaison de Stockfish développée par Fabien Fichter pour  prendre en charge les variantes du jeu d'échecs. C'est un véritable vent frais qui souffle sur un domaine qui était jusqu'à son apparition la chasse gardée de quelques rares petits moteurs de conception simple et ancienne. Ceux-ci constituaient d'agréables adversaires pour jouer mais leur niveau de jeu trop faible ne permettait pas d'effectuer, par exemple, un travail d'analyse sérieux. Ils avaient bien souvent un autre défaut : les plus forts (entre 2300 et 2400 Elo au maximum) n'étaient capables de gérer qu'un nombre limité de variantes, voire une seule ; plus le moteur gérait de variantes, plus il était "universel", moins il était fort. Rien de tel avec Fairy SF dont l'énorme puissance apportée par son architecture moderne et son évaluation à réseau NNUE lui garantit un niveau de force très élevé même avec les variantes les plus baroques. Le roi des variantes, c'est lui désormais.


Fairy Stockfish fontionne sur les systèmes Windows et Linux.


Plan de la page


Téléchargement et usage
Quelles interfaces locales pour Fairy Stockfish ?
    LiGround
    CuteChess
    Winboard
    Pychess
Fairy-Stockfish playground - Fairyground
Quels services online ?
    Lichess.org
    Pychess.org
    Lishogi.org
    Playstrategy.org
    Xiangqi.com
Bibliothèque d'ouvertures : le trou noir des variantes



Téléchargement et usage

Fairy Stockfish est disponible pour Windows et Linux en trois versions différentes, en fonction de votre matériel : BMI2 (pour ordinateurs récents), "Modern" (pour ordinateurs pas trop vieux) et enfin "64-bit", version la moins puissante mais qui aura l'avantage de tourner sur n'importe quelle machine, même très vieillotte. Si vous ne savez pas laquelle choisir, je vous conseille comme toujours d'installer la version la plus performante, puis la suivante si ça ne fonctionne pas. Il n'y a aucun risque de dommage à craindre.  
Chacune de ces déclinaisons est par ailleurs proposée en cinq versions :

➤Une généraliste prenant en charge toutes les variantes
➤Une généraliste mais ne gérant que les variantes 8x8.
➤Une version spécialisée dans le xiangqi et ses variantes, avec le réseau NNUE le plus performant
➤Une version spécialisée dans le janggi et ses variantes, avec le réseau NNUE le plus performant
➤Une version spécialisée dans le makruk et ses variantes, avec le réseau NNUE le plus performant

Les deux versions
"généralistes" du moteur utilisent une  évaluation "artisanale" et une architecture NNUE sur laquelle a été "appliquée plusieurs généralisations (...) afin qu'elle puisse être utilisée pour différentes tailles de plateau, types de pièces arbitraires, variantes sans rois, ainsi que variantes avec drop de pièces...". En clair, elles joueront aux différentes variantes avec un bon niveau de force mais pas avec le niveau de force le plus élevé possible, loin de là. Pour obtenir ce niveau maximal, vous devrez soit utiliser l'une des versions spécialisées du moteur (xiangqi, janggi, makruk), soit télécharger et guider vers le moteur le plus généraliste l'un des réseaux NNUE spécifiques à une variante.
Les auteurs offrent sur cette page 110 réseaux NNUE spécialisés. Vous noterez que les auteurs indiquent le gain de force par rapport à la version standard. Si par exemple, il est de +80 Elo pour la variante Antichess, il est de +354 Elo pour la variante Capablanca, + 490 pour la Horde, +756 Elo pour la variante Courier, +1136 Elo pour CrazyHouse...
La différence peut donc être considérable. Si vous comptez utiliser Fairy Stockfish pour un travail d'analyse sur une variante spécifique, vous devrez impérativement utiliser son réseau NNUE spécifique
(voir plus bas).


Page de téléchargement de Fairy Stockfish


La première question qui se pose ensuite est de savoir quelle interface nous allons utiliser. En effet, Les interfaces classiques telles qu'Arena ou Lucas Chess ne sont pas conçues pour gérer des variantes - à quelques rares exceptions près. Si vous installez Fairy Stockfish dans Arena, il semblera fonctionner de prime abord mais en fait, quelle que soit la variante choisie, il jouera aux échecs standards.



Quelles interfaces pour Fairy Stockfish ?

Il nous faudrait des interfaces capables de prendre en charge des variantes, telles ChessV. Malheureusement, Fairy Stockfish n'est pas utilisable avec ChessV. Ou plus exactement, il n'y a pas de solution d'installation simple du moteur dans l'interface accessible aux utilisateurs lambda que nous sommes pour la plupart. Les développeurs de l'application pourraient certainement le faire mais ChessV n'a plus évolué du tout depuis 4 ans.
Il y a néanmoins quelques interfaces capables de prendre en compte, sur votre ordinateur, au moins certaines des versions gérées par Fairy Stockfish. Parmi toutes les possibilités, j'ai retenu les plus accessibles, soit :
➤LiGround
➤CuteChess
➤PyChess
➤Winboard


LiGround

LiGround est une interface qui présente surtout l'intérêt d'intégrer nativement Stockfish standard, Stockfish Multivariantes et Fairy Stockfish. Ces trois moteurs de réflexion permettent à l'interface de jouer à toutes les variantes de Lichess  (Antichess, Atomic, Chess 960 de Fischer, CrazyHouse, La Horde, King of the Hill, Racing Kings et 3-Check) mais aussi à des jeux totalement différents, mais apparentés aux échecs : les échecs thaïlandais (le Makruk), les échecs chinois (le  Xiangqi), les échecs coréens (le Jangki) et les échecs japonais (le Shogi).  LiGround joue bien entendu aussi aux échecs standard.


Liground débute une partie de Shogi...

Comme interface pour jouer, LiGround n'est pas fabuleuse. Son véritable intérêt réside dans ses capacités d'analyse. Elles vous permettront d'explorer une position d'une partie en cours avec une excellente précision.  



Ci-dessus, LigGround explore une position d'une partie de Horde

Pour en savoir plus sur LiGround, lisez cette page du site...


CuteChess

Interface de "bricoleurs" habitués à lancer des commandes absconses ou passer des paramètres pour gérer les fonctions les plus complexes, basique et assez laide, CuteChess n'avait pas retenu mon attention. Je n'avais pas perçu son principal atout : elle est capable d'exploiter sans soucis un grand nombre de variantes d'échecs -  notamment celles dont la taille de plateau diffère du classique 8x8 -  ou même de jeux présentant seulement un lien de parenté avec les échecs.


Fairy Stockfish joue à la variante Horde dans CuteChess


J'ai compté 51 variantes de Fairy SF tolérées par CuteChess :


Ai-Wok, Almost, Amazon, Antichess, ASEAN, Atomic, Cambodian, Capablanca et Capablanca random, Chancellor, Chessgi, Codrus, Coregal, Courier, Crazyhouse, Dobutsu, Embassy, EuroShogi, Extinction, Fischer random, FiveCheck,   Giveway, Gothic, Grand, Hoppel-Poppel, Horde, Janus, Jeson Mor, Judkin, Kar Ouk, Kinglet, King of the hill, Knightmate, Loop, Los Alamos, Losers, Makruk, MiniShogi, Modern, New Zealand, Placement, Pocket Knight, Racing kings, Seirawan, Shatranj, Shogi, Sittuyin, Suicide, ThreeCheck, Three kings, Two Kings.


En savoir plus sur CuteChess ? Lisez la page que je lui consacre...



Winboard

Winboard est une très vieille interface, obsolète à bien des égards mais elle a sur la plupart des interfaces plus modernes un avantage essentiel : sa capacité exceptionnelle à exploiter les moteurs gérant des variantes. Par exemple,  elle est capable d'afficher 32 des variantes de Fairy Stockfish :

Ai-Wok, Almost, Amazon, Antichess, Armageddon, ASEAN, Ataxx, Atomic, Breakthrough, Bughouse, Capablanca chess et Capablanca random chess, Courier, Crazyhouse, Fairy, Fischer random chess, FiveCheck, Giveway, Gothic, Grand chess,  Hoppel-Poppel, Janus, Knightmate, Loser's chess, Makruk, Nocastle,  Seirawan, Shatranj, Suicide, Shogi, ThreeChecks et Xiangqi.

<- Ici Fairy SF joue au Shatranj avec Winboard.

C'est moins que CuteChess, mais Winboard permet beaucoup plus de possibilités. C'est intéressant aussi dans la mesure où nous avons sept variantes de Fairy SF gérées par Winboard que CuteChess ignore : Nocastle,  Armageddon, Breakthrough, Bughouse, Ataxx,  Shatranj  et Xiangqi. Etant donné que Fairy SF est de loin le plus puissant moteur de variantes disponibles aujourd'hui, l'intérêt n'est pas mineur.


En savoir plus sur Winboard ? Voir la page que je lui consacre.


Pychess

Pychess est une belle interface venant du monde Linux et qui a déjà une page spécifique sur ce site. Mais Fabien Sauser, qui l'aime bien et a rédigé cette page, n'a que peu insisté sur sa capacité à gérer des variantes. Il va de soi qu'elle sera actualisée dans la foulée. Pour l'instant, retenons le principal : Pychess est une interface moderne et puissante, qui contient déjà Fairy Stockfish et Sjaak II et gère en standard pas mal de variantes.


Fairy Stockfish et Pychess engine s'affrontent dans une partie Horde avec l'interface Pychess

Voici les catégories et variantes proposées :

Diverses configurations de départ aléatoire

➤Coin : variante Corner aléatoire avec les rois dans les coins et tirage aléatoire des pièces du premier rang)
➤Aléatoire 1 : c'est une variante Shuffle pure. Les pièces du premier rang sont positionnées n'importe où sans restriction (par exemple il peut y avoir deux fous de case blanche) et il n'y a pas de roque.
➤Fischer aléatoire : les échecs 960 de Bobby Fischer.
➤Aléatoire 2 : le tirage au sort s'étend aussi au type de pièce. Il peut par exemple y avoir trois dames et aucun cavalier.
➤Echecs aléatoires asymétriques : comme pour aléatoire 2 il y a tirage au sort de la position et du type de pièce mais il y a un second tirage au sort pour choisir la position des mêmes pièces pour les noirs.

Autre (règles standards)

Diverses variantes avec des positions de départ inhabituelles.
➤Camp inversés : les noirs ont envahi le camp des blancs et inversement. Dès qu'une place au premier ou au dernier rang se libère, le pion au dessus ou au dessous devient une dame. Rapidement, les pions promus envahissent l'échiquier. Une variante loufoque.
➤Pions poussés : les pions blancs et noirs se font face sur les rangées 4 et 5
➤Pions libres : les pions blancs et noirs se font face sur les rangées 4 et 5 mais avec les camps inversés (les blancs sont sur le rang 5 et les noirs sur le 4)
➤Donjon : les joueurs n'ont que les pions, un cavalier et leur roi.  Les noirs occupent une position particulière dans la partie droite de l'échiquier.

Autre (règles non-standards)

Atomique (Atomic), Course des rois  (Racing kings),  Giveway, Horde, Maison de fou (Crazy House), Placement, Roi de la colline (King of the hill), Qui perd gagne (Antichess), Suicide, Trois échecs (Three-Check), Wild castle et Wild castel mélangé.

Un autre intérêt de Pychess est que l'interface permet de construire des bibliothèques d'ouvertures au format polyglot de n'importe quelle variante, en exploitant une collection de parties au format PGN de cette variante.


En savoir plus sur Pychess ?



Fairyground

Une autre possibilité pour faire jouer des variantes à Fairy Stockfish consiste à utiliser les services de Fairy-Stockfish playground - Fairyground, en abrégé. Cette interface accessible en ligne est en fait l'un des outils de développement des auteurs de Fairy Stockfish. Elle est d'apparence sommaire mais elle est assez puissante et présente l'intérêt majeur de pouvoir exploiter toutes les variantes déjà intégrées au moteur. Il est même possible de développer soi-même des variantes nouvelles et de télécharger ici le fichier d'initialisation adéquat, afin de tester nos créations.  Je n'insisterais pas sur cette dernière possibilité, la création de variantes étant hors du champ de ce dossier. Voyons plutôt comment fonctionne Fairyground pour une utilisation courante...

Mode d'emploi succinct

L'interface est proposé en deux versions :
Standard et Advanced.
La version standard est surtout utile pour tester rapidement une variante. Je vous conseille de choisir plutôt la version advanced, qui offre toutes les commodités d'utilisation sans rendre l'interface beaucoup plus compliquée à utiliser. Voici comment elle se présente en mode advanced :



Ici, nous avons la position de départ d'une partie Capablanca. J'ai téléchargé un réseau NNUE spécifique à cette variante (champ "NNUE file") afin d'avoir un jeu moteur très performant et j'ai choisi la variante Capablanca (champ "Variant").
Une partie du processus de réflexion du moteur semble avoir lieu en local, si j'en crois la présence des champs "Threads" et "Hash" à compléter. Si vous utilisez un ordinateur, renseignez le nombre de threads qu'il est capable de gérer et choisissez une valeur confortable pour hash (par exemple 256 Mo).
Pour le reste, les choix à faire ici sont assez standards. J'insisterai juste sur le réglage de temps, qui aurait pu être plus clair. Une possibilité simple consiste à mettre une valeur de temps par coup en millisecondes dans le champ "movetime". Par exemple "20000" pour 20 secondes par coup, comme ci-dessus. Si vous avez besoin d'un time control plus complet, cochez "Advanced time control" et renseignez les champs adéquats :
"White time settings" et "Black time settings". Ici nous avons le choix entre "Infinite" (temps de réflexion infini), "Tournament" (mode tournoi), "Time per move" (temps par coup) et "Hourglass" (sablier : le temps utilisé sera ajouté au temps de l'adversaire).

"Start time" : c'est le temps total pour toute la partie pour le camp considéré, en millisecondes, ce qui n'est pas très pratique. Pour savoir quelle valeur mettre ici, faites un calcul de ce type : temps en minutes x 60 x 1000. Par exemple, pour 15 minutes cela donne: 15 x 60 x 1000 = 900000 ms. Lorsque la partie débutera l'interface commencera à décompter le temps depuis 9000 (cette fois c'est en secondes !)
"Time gain" : temps additionnel éventuel, ici aussi en millisecondes. Multipliez par mille votre valeur en seconde puis inscrivez le chiffre obtenu dans le champ. Ex : 10000 pour 10 secondes de temps additionnel.
"Timeout margin" : utilisable uniquement en mode analyse avancée, donne une marge avant la perte au temps après épuisement du temps disponible. Toujours en ms.  


Ci-dessus, Fairy Stockfish réfléchit à une partie de la variante Horde.

Notez que vous pouvez charger une position (dans divers formats) ou coller une position FEN, dans le champ "Position". Fairyground se prêtera bien à l'analyse d'une position.

Fairyground peut aussi être utilisé pour développer et éditer de nouvelles variantes mais ce sujet est pour l'instant hors de mon champ de recherche. Mais j'y reviendrai sans doute dans quelques temps...

Les variantes de Fairyground

Actuellement (février 2023), Fairyground propose plus de 110 variantes. En voici la liste. Beaucoup sont, il faut le dire, assez anecdotiques et certaines (comme Ataxx) n'ont pas grand chose à voir avec les échecs ; mais toutes les variantes importantes ou presque sont présentes. A noter aussi les nombreuses variantes de Makruk, Shogi et Xiangqi.

3 check, 5 check, Ai-Wok, Almost, Amazon, Amazones 10x10, Antichess, Armageddon, ASEAN, Ataxx, Atomic, Berolina, Breakthrough, Bughouse, Cambodian, Capablanca house, Capablanca random, Centaur, Chancellor, Chaturanga, Chess (standards), Chessgi, Chigorin, Clobber, Clobber 10, Codrus, Coregal, Courier, Crazyhouse, Dobutsu, Dragon, Duck, Embassy, Euro-Shogi, Extinction, Fischer random, Flipello, Flipello  10, Flipersi, Gardner, Giveway, Gorogoro, Gothic, Grand, Grasshoper, Gustav 3, Hoppel-Poppel, Horde, Isolation, Isolation 7x7, Jangqi, Janggi casual, Janggi traditionnal, Janggi modern, Janus, Jesonmer, Joust, Judkin Shogi, Karouk, Kinglet, King of the hill, Knightmate, Koedem, Kyoto Shogi, Legan, Loop, Los Alamos, Losers, Makpong, Makruk, Manchu, Mini chess 5x5, Mini Shogi, Mini Xiangqi, Modern, New Zeland, Nightrider, No castle, Nocheckatomic, Okisaki Shogi, Omicron, Opulent, Paradigm, Pawn Back, Pawn side away, Perfect, Placement, Pocket Night, Raazuvaa, Racing kings, Seirawan House, Shako, Shatar, Shatranj, Shogi, Sho Shogi, Seirawan, Sittuyin, Snail, Trail, Spartan, Suicide, Supply, Tencubed, Three kings, Tori Shogi, Torpedo, Troitzky, Wolf, Xiangqi, Yari Shogi.


En conclusion, malgré son manque de fun, Fairyground sera pour ceux qui s'intéressent aux variantes - ou seulement à une ou plusieurs variantes qu'ils apprécient - un outil de travail très utile, capable de jouer très fort, d'analyser une position, de prendre en charge le plus grand nombre de variantes et depuis n'importe quelle plateforme. Je regrette juste que l'on n'ait pas pensé à afficher sur l'interface le réglage de force dont Fairy Stockfish dispose.



Quels services online ?

Les serveurs de parties en ligne ont essentiellement pour but de faire se rencontrer des joueurs humains. Mais ils proposent généralement un ou plusieurs moteurs pouvant servir d'adversaire. Il se trouve que Fairy Stockfish est utilisé par un grand nombre d'entre eux. En voici la liste - probablement exhaustive :



Lichess.org

Ce serveur de parties, l'un des principaux sites d'échecs dans le monde, est plutôt un généraliste du jeu d'échecs mais propose néanmoins huit variantes - qui rencontrent d'ailleurs un bon succès : Antichess, Atomic, Chess 960, CrazyHouse, Horde, King of the hill, Racing kings et Three-check. Ce sont, à peu de chose près, celles qui étaient pratiquées sur le vieux serveur FICS, qui avait ouvert la voie aussi dans ce domaine des variantes.  

Aller sur Lichess.org ?



Pychess.org

Le serveur Pychess ressemble beaucoup à Lychess, avec un contenu beaucoup plus léger mais une spécificité qui nous intéresse : il est bien davantage axé sur les variantes. Il en propose une petite cinquantaine, soit plus que n'importe quel autre serveur. Le choix se fait dans sept catégories :

Echecs et variantes des échecs 8x8

Atomic, CrazyHouse, Duck, Echecs standards, King of the hill, Placement et Three-check.

Variantes aux pièces féeriques

Capablanca et ses sous-variantes Bird, Carrera, Conservative, Gothic et Schoolbook.
CapaHouse (une combinaison de Capablanca et de CrazyHouse)
S-Chess (Seirawan Chess) et S-House (une combinaison de Seirawan Chess et de CrazyHouse, avec la possibilité de droper les pièces féeriques sur le plateau).
Grand Chess et Grand Chess House (combinaison avec Crazy House)
Shako (deux pièces du Xiangqi, le canon et l'éléphant, sont ajoutées sur un plateau 10x10)
Shogun (les pièces se promeuvent et peuvent être parachutés comme au Shogi)
Hoppel-Poppel (les cavaliers capturent comme des fous et les fous comme des cavaliers).
Masindam ou Conte du Panthéon, variante mi-Echecs mi-Shogi

Variantes aux nouvelles armées

Il s'agit d'une série de variantes asymétriques - c'est-à-dire pour lesquelles les noirs et les blancs n'ont pas les mêmes armées, toutes inventées par Couch Tomato, sauf la dernière, Spartan (échecs spartiates), la plus connue.   

Orda (https://www.pychess.org/variants/orda)
SynoChess (https://www.pychess.org/variants/synochess)
Shinobi+ (https://www.pychess.org/variants/shinobiplus)
Empire (https://www.pychess.org/variants/empire)
Orda miroir (https://www.pychess.org/variants/ordamirror)
Chak (https://www.pychess.org/variants/chak)
Chennis (https://www.pychess.org/variants/chennis)
Spartan (https://www.pychess.org/variants/spartan)

Variantes du Makruk

Makruk standard, Makpong, Ouk Chktrang (Cambodian), Sittuyin et ASEAN

Variantes du Shogi

Shogi standard, Mini-Shogi, Kyoto Shogi, Dobutsu et Gorogoro

Aller sur Pychess.org ?



Lishogi.org

Lishogi est une déclinaison de Lichess rassemblant une communauté de joueurs de Shogi. Il permet outre le Shogi standard, de jouer aussi à deux variante 5x5 : le mini-Shogi et le Kyoto-Shogi. Lishogi offre beaucoup des commodités de Lichess : une pléthore d'exercices, une section "Apprendre" bien fournie, des outils puissants (éditeur de position, module d'analyse) et le même éditeur de "studies" que Lichess. Il permet d'affronter des joueurs humains, Fairy Stockfish en configuration Shogi et variantes du Shogi ainsi que divers bot. 27 jeux de pièces différents, traditionnels, occidentalisés ou inspiré du Dobutsu, répondront à tous les besoins.  Pour les amateur de Shogi, c'est ce qu'il y a de mieux.

Aller sur Lishogi ?



Playstrategy.org

Playstratgy est de création récente. Il a vu le jour en 2021 durant l'épidémie de Covid et s'inspire ouvertement de Lichess, auquel il ressemble beaucoup, mais avec un objet plus large : proposer une plateforme de jeu en ligne pour les jeux de plateau à deux joueurs. Plus d'une trentaine de jeux sont pris en charge, parmis lesquels bien sûr les échecs et onze de ses variantes, diverses variantes de dames, du Shogi, du Xiangqi,  du Go, d'Othello et de quelques autres jeux.
Pour le Shogi, le Xiangqi et les variantes d'échecs c'est bien Fairy Stcokfish qui sert de moteur de réflexion.

Variantes d'échecs prises en charge : Antichess, Atomic, Chess 960, Crazyhouse, Echecs standards, Five-check, Horde, King of the hill, Monster, No castling, Racing kings et Three-check.
Variantes de Shogi : Shogi standard et mini-Shogi (5x5)
Variantes de Xiangqi : Xiangqi standard et mini-Xiangqi (6x6)

Aller sur Playstrategy ?


    
Xiangqi.com

Ce serveur chinois d'implantation très récente joue uniquement au Xiangqi, les "échecs chinois", mais toujours avec le secours de Fairy Stockfish. Le contenu, assez standard, est en anglais et en chinois simplifié ; des articles à vocation pédagogiques, des puzzles, un module d'analyse...


Aller sur Xiangqi.com ?


Bibliothèques d'ouverture : le trou noir des variantes

Le plus gros point noir aujourd'hui concernant les variantes et la quasi-absence de bibliothèques d'ouvertures. Sans doute parce que les variantes sont pratiquées bien davantage comme casual game que dans une logique de compétition. Car les outils ne devraient pas être difficiles à adapter. J'ai d'ailleurs déjà créé quelques bibliothèques avec Pychess - inutilisables pour l'instant car ce n'était que des tests réalisés à partir de quelques parties sans valeur. Mais c'est un point sur lequel je reviendrai bientôt...

Rob Rob, février 2024

 
 
 
Retourner au contenu | Retourner au menu _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })();