Winboard - Echecs et informatique sur PC-Windows

Rechercher
Aller au contenu

Menu principal :

Variantes


Winboard


Vieux mais utile pour les variantes



Winboard fonctionne avec Windows et avec Linux sous le nom de Xboard.


Xboard - devenu Winboard pour Windows - est une interface historiquement importante car elle a été la toute première - et durant longtemps l'unique - interface d'échecs libre et gratuite permettant d'accepter des moteurs d'échecs eux-aussi libres et gratuits. Elle a été créée par Chris et Dan Sears au début des années 1990 pour accueillir le moteur libre GNU Chess sur machines Linux, mais le protocole de communication qu'elle utilisait est devenu pour quelques années un quasi-standard. Cette origine dans le début des années 90, il y a plus de 30 ans, explique pourquoi xboard est aujourd'hui un logiciel obsolète - qui d'ailleurs a cessé d'évoluer depuis une dizaine d'années.
Selon les standards d'aujourd'hui, elle a de nombreux défauts : elle est compliquée à utiliser; son apparence est vieillotte: elle n'est pas aussi stable qu'Arena ou Lucas Chess et surtout le protocole de communication Xboard a été totalement détrôné par le protocole UCI, plus moderne. Aujourd'hui, aucun moteur récent ne fonctionne directement avec xboard/Winboard. L'interface peut accepter des moteurs UCI mais à condition qu'ils aient été modifiés par un adaptateur tel Polyglot ou UCI2WB. Ça marche, mais c'est plus complexe à mettre en œuvre et la fiabilité est moins bonne qu'avec une interface "parlant" l'UCI.
Par contre, Winboard possède un avantage que n'ont pas Arena ou d'autres interfaces UCI modernes : elle est capable d'accepter un nombre incroyable de variantes du jeu d'échecs !

Je ne compte pas proposer ici un mode d'emploi complet. Pour une utilisation courante, Winboard  est assez facile d'emploi. Je n'insisterai que sur quelques points nécessitant des précisions.


Téléchargement et Installation

La version la plus récente de xboard est la 2.49, diffusée en 2016, mais le portage Windows n'ayant jamais été effectué, nous devrons nous contenter de la version 2.48. On trouve l'interface à cette adresse :
http://www.npackd.org/p/winboard/4.8

Mais je vous invite plutôt à télécharger une version portable dans laquelle j'ai installé et préconfiguré les principaux moteurs de variantes acceptés par Winboard.

Télécharger Winboard spécial variantes ?

Ouvrez l'archive et collez le dossier où vous voulez sur votre ordinateur ; puis créez un raccourci vers le fichier "Winbord.exe". Notez que cet exécutable ne se trouve pas dans le répertoire racine, où il n'y a que les moteurs, mais dans le répertoire "WinBoard".



Lancement et paramétrage

Lancement

Au lancement apparaît la boîte de dialogue "Winboard startup" où vous allez sélectionner les moteurs à employer. Ouvrez les popups pour choisir un moteur principal et un moteur secondaire (ils peuvent être identiques).



Si vous choisissez deux moteurs dont les domaines ne se recouvrent pas ou pas exactement, vous pourriez avoir un message d'erreur, ce qui ne les empêchera pas de jouer l'un contre l'autre une variante en commun.
Par défaut, les moteurs sont toujours lancés avec une variante. Si ce n'est pas celle qui vous convient, vous pouvez la changer pour une autre : "File" > "New variant" (ou Alt + Shift + V). Les variantes gérées à la fois par l'interface et le moteur s'affichent ici (les variantes non prises en charge sont en grisé).



L'interface peut parfois gérer des sous-variantes avec des tailles différentes du plateau standard. Et aussi éventuellement une sous-variante avec parachutage des pièces.  Lorsque les champs "Board size", "rank" et "files", "Holdings with room for : " et "pieces" du menu ci-dessus sont à moins "-1", cela signifie que vous ne souhaitez pas de changement. Par contre, si le moteur choisi est capable de jouer une variante dans une taille différente, il faut indiquer le nombre rangée ("rank") et de colonnes ("files") de cette sous-variante. Si vous mettez par exemple "2" dans le champ "pieces" cela signifira que l'interface devra réserver de la place pour deux pièces à parachuter pour chaque camp.
C'est un système assez peu pratique, d'abord parce qu'on ne sait pas toujours quelles sous-variantes un moteur est capable de gérer dans une variante ; ensuite parce qu'on ne sait pas toujours non-plus ce que Winboard est capable de faire. Mais il a le mérite de permettre parfois de jouer avec une variante très particulière, inacessible autrement. J'y reviendrai.

Paramétrage général

Un minimum de paramétrage général des moteurs est indispensable : menu "Options" > "Common engine".
"Hash size" est par défaut à 64 Mo, portez-le au moins à 128 Mo.
"Max nr of CPUs" est sur 1. Le nombre de cœurs activés est un élément important de performance des moteurs. Si vous avez besoin d'un niveau de jeu élevé - par exemple pour utiliser Fairy Stockfish en mode d'analyse, indiquez ici le nombre de cœurs mobilisables de votre ordinateur.
"Ponder next move" : la pondération est activée par défaut. Dans une partie contre un moteur, votre adversaire continuera à réfléchir pendant que vous êtes au trait, ce qui augmente sensiblement son niveau de force. Réfléchissez donc à l'opportunité de décocher "Ponder".
Paramètres "EGBT" et "Book" : les tables de fin de parties et bibliothèques d'ouvertures ne concernent en général que les échecs orthodoxes. Il faudrait disposer de tables et de bibliothèques spécifiques à chaque variante : mais elles n'existent généralement pas. Laissez-donc les champs correspondant tels qu'ils sont.

Le menu "Options" > "General" rassemble un grand nombre de réglages que vous n'aurez pas besoin de modifier pour la plupart. Juste deux points :
"Test legality" : ce paramètre est coché par défaut. Pour le Shatranj, par exemple, il fera que si vous tentez de faire avancer un pion de deux cases comme aux échecs, le mouvement sera interdit. Toutefois il peut arriver qu'il empêche un mouvement légal pour certaines variantes. Dans ce cas, rare, il peut être judicieux de décocher "Test legality".
"Show coordinates" est décoché par défaut. Si vous appréciez de voir les coordonnées, cochez ce choix.

Paramétrage spécifique aux moteurs

Les menus "Engine" > "Engine #1 settings" et "Engine #2 settings" permettent d'accéder aux réglages spécifiques des moteurs sélectionnés, s'ils existent - ce qui n'est pas toujours le cas. Fairy Stockfish propose par exemple de nombreux réglages et Pulsar2009 aucun.




Jouer une partie

Contrôle de temps et commodités

Avant de jouer une partie, vous devez fixer le contrôle de temps (menu "Options" > "Time control" ou Ctrl + Shift + V) et indiquer si l'ordinateur jouera avec les blancs ou avec les noirs (menu "Mode" > "Machine white" ou "Machine black". Puis menu "File" > "New game" (ou Ctrl + N).
Notez que vous pouvez depuis le menu "Action" proposer ou accepter une offre de nullité ("Draw" ou F6), mettre fin de manière anticipée à une partie en cours ("Abort" ou F8) ou abandonner la partie à l'adversaire ("Resign" ou F9).
Depuis le menu "Engine" on peut obtenir un conseil "Hint", revenir d'un coup en arrière ("Retract Move" ou Ctrl + X) ou forcer l'ordinateur à jouer immédiatement s'il est au trait ("Move now" ou Ctrl + M).
Bien entendu, vous pouvez à tout moment choisir une autre variante : menu "File" > "New variant" (ou Alt + Shift + V).

Limiter la force du moteur

Rien n'est spécifiquement prévu pour favoriser le joueur humain, qui se retrouve toujours dans les mêmes conditions que l'ordinateur. Si vous essayez de brider le moteur en lui fixant un temps de réflexion limité par mouvement, vous aurez la surprise de constater que cette limite vous est également imposée. D'où l'intérêt de disposer aussi de moteurs pas trop forts.
Si abaisser la force du moteur reste nécessaire, il reste quelques pis-aller:
1/ Limiter le moteur à un seul coeur
2/ Désactiver la pondération
3/ Forcer le moteur à écourter sa réflexion par un "Move now" (Ctrl + M)
4/ Appuyer sur le bouton "P" (pause) du navigateur de parties, qui devient le bouton "C", lorsque c'est à votre tour de jouer. La pendule s'arrêtera pour vous tant que vous n'aurez pas appuyé sur "C".
Certains moteurs peuvent cependant, dans leur paramétrage spécifique, accepter une réduction de force. C'est le cas de Fairy Stockfish, dont le paramètre "Skill" peut être fixé entre "0" (le moteur joue quasiment au hasard) et "20" (son niveau de force le plus élevé).


Tournoi de moteurs

Nous sommes loin de la souplesse d'utilisation d'Arena, mais il est quand même possible d'organiser des tournois de moteurs avec Winboard. Le principe est de charger un moteur gérant la variante que vous souhaitez utiliser, d'éventuellement lui imposer cette variante par "File" > "New variant" (ou Alt + Shift + V) puis de choisir le contrôle de temps approprié (menu "Options" > "Time control" ou Ctrl + Shift + V). Une fois ces opérations terminées on ouvre le menu Tournoi ("Options" > "Tournament") pour régler les détails du tournoi :
➤Choisir les moteurs qui vont participer (assurez-vous qu'ils sont tous capables de jouer à la variante que vous avez choisie sans quoi le tournoi s'arrêtera).
➤Choisir le type de tournoi. Par défaut, c'est un "round robin", "Tourney type" étant à "0" ("RR"). Si vous mettez "1" dans le champ "Tourney type" vous aurez un tournoi de type "gauntlet" (le premier moteur sélectionné affronte tous les autres moteurs les uns à la suite des autres). Dernière possibilité : si vous cochez "Use swiss pairing engine", ce sera un tournoi au système suisse.
➤Déterminer le nombre de confrontations par rencontre ("Number of tourney cycles") et le nombre de rondes ("Game per match /  pairing").




Analyse de positions, analyse de parties

L'un des principaux intérêts de Winboard est qu'il permet d'effectuer une analyse sérieuse d'une position de beaucoup de variantes. Il lui faut un moteur qui gère cette fonction et qui soit assez fort pour que cela ait un véritable intérêt. Ce n'est pas le cas de FairyMax, qui ne remplit aucune de ces deux conditions. Fairy Stockfish étant, est de loin, le moteur le plus puissant tout en gérant un très grand nombre de variantes, il sera naturellement notre outil d'analyse favori. Voici comment procéder :
➤Lancer Winboard et sélectionnez Fairy Stockfish comme moteur principal
➤Menu "Mode" > "Analyse mode" (ou Ctrl + A).
Dans ce mode, vous faites les mouvements pour les blancs et pour les noirs. Fairy Stockfish va commencer à réfléchir et à afficher le résultat de ses cogitations dans une fenêtre séparée.
Vous pouvez aussi bien sûr partir aussi du dernier mouvement d'une partie en cours, d'une partie PGN préalablement chargée ou d'une position FEN.


Ici, une partie Capablanca. Après avoir exploré plus de 10 millions de nœuds, le moteur propose comme meilleur coup de pousser le pion, e3 en e4.

Utilisez les touches du navigateur de partie (en haut à droite du plateau) pour vous déplacer dans la  partie et choisir la position à analyser. Laisser ensuite le moteur d'analyse faire son travail un temps suffisant (plus vous lui laisserez de temps, plus son analyse sera fine).

Important : Si vous avez installé la version "généraliste" de Fairy Stockfish, vous ne devez pas oublier qu'elle ne propose pour la plupart des variantes qu'une évaluation artisanale et un réseau NNUE standard, bricolé pour fournir des résultats dans la variante. Pour bénéficier de la force maximale de Fairy SF dans la variante, il faudra vous rendre sur le site des auteurs et télécharger sur cette page le réseau NNUE spécifique de cette variante. Ensuite ouvrez le menu de configuration du moteur ("Engin" > "Engine #1 settings") et indiquez l'adresse du réseau NNUE sur votre ordinateur dans le champ "Eval File".



Analyser une partie ( Menu "Mode" > "Analyse game" ou Ctrl + G) revient à peu près au même. Vous devez d'abord charger une partie au format PGN (et de la bonne variante), puis lancer l'analyse. Winboard va commencer par examiner brièvement tous les mouvements de la partie avant de vous rendre la main. Utilisez ensuite les boutons de navigation dans la partie pour revenir au premier coup du PGN (indispensable) et avancer ensuite vers les positions pour lesquelles vous auriez besoin d'une réflexion plus approfondie. Laissez au moteur le temps nécessaire à une bonne analyse...  
Essayez par exemple sur ce PGN d'une partie Capablanca.
Notez que vous pouvez obtenir un graphe de l'équilibre des forces durant la partie : menu "View" > "Evaluation graph" ou Alt + Shift = E.


Sous l'échiquier, la fenêtre "Evaluation graph" récapitule son évaluation des positions successives.


Franciser l'interface

Dans la version portable que je propose, j'ai inclu un fichier de françisation. Si l'anglais vous pose le moindre problème, ouvrez le menu "Help" et sélectionnez le français. Il faut savoir toutefois que la traduction est assez nulle. Par exemple, au lieu de "moteur" on a "engin". mais qui s'est occuppé de ça ? Dès que j'aurai un peu de temps, je l'améliorerais...



Les moteurs de ma version portable

A l'exception de Fruit j'ai supprimé tous les moteurs d'échecs standards et tout ce que je n'ai pas réussi à faire fonctionner. Voici les moteurs disponibles et les variantes que Winboard prend en charge :

FairyMax
ASEAN, Ai-Wok, Berolina, Bifurcator, Cambodian, Capablanca chess, Courier, Cylinder, Echecs classiques, Fairy, Falcon, Gothic, Great Chesss, Knightmate, King of the hill, Light Brigade, Makruk, Nocastle, Seirawan, Shatranj, Spartan, Super chess et Team mate.

Pulsar
Atomic, CrazyHouse, Echecs classiques, Fischer radom, Giveaway, Loser's chess, Nocastle, Suicide, Three check, Two kings et Wildcastle.

Shamax
ASEAN, Berolina, Capablanca chess, Courier, Cylinder, Echecs classiques, Fairy, Falcon, Gothic, Great chess, Knightmate, Makruk, Nocastle, Seirawan, Shatranj, Spartan et Super chess (Les variantes Ai-Wok, Cambodian, Bifurcator, Light Brigade, Team mate et King of the hill apparaissent dans la liste des variantes disponibles mais ne fonctionnent pas correctement)

MaxQi ne joue qu'au Xiangqi.

HaChu joue au Makruk, au Shatranj et aux échecs standards.

HaQiKi D ne joue qu'au
Xiangqi.

ElephantEye ne joue qu'au
Xiangqi.

SjaakII
Ai-Wok,
ASEAN, Berolina, Capablanca chess, Capablanca random chess, Courier, CrazyHouse, Echecs classiques, Embassy, Fischer random chess, Gothic, Grand chess, Great chess, King of the hill, Knightmate, Los Alamos, Makruk, Micro (échecs 5x5), Nocastle, Pocketknight, Seirawan, Shatar, Shatranj, Shogi, Sittuyin, Spartan, Super chess et Xiangqi.

Shokidoki Tori 3

Joue au Shogi et à trois variantes sur plateau plus petit : mini-Shogi (5x5), Judkin's Shogi (6x6) et Tori Shogi (7x7).

Fairy Stockfish
Ai-Wok, Almost, Amazon, Antichess, Armageddon, ASEAN, Atomic, Attax, Breakthrough, Bughouse, Capablanca chess, Capablanca random chess, CrazyHouse, Echecs classiques, Fairy, Fischer random chess, Five-Check, Giveway, Gothic, Grand chess, Janus,  Hoppel-Poppel, Knightmate, Loser's chess, Makruk, Nocastle, Seirawan, Shatranj, Shogi, Suicide, Three-Check et Xiangqi (ne fonctionne pas : Courier)

Joker 80
Capablanca chess et Gothic

Joker KM joue uniquement à
Knightmate

Leonidas joue à Spartan et à Seirawan

Nebiyu
Advancer, Atomic, Berolina, Capablanca chess, Coordinator, Courier, CrazyHouse, Echecs classiques, Gorogoro (variante de Shogi 5x5), Gothic, Grand chess, Immobilizer, Knightmate, Long Leaper, Makruk, Pushme-Pullyu, Shatranj, Shogi, Spartan, Withdrawing et Ultima (Omega dysfonctionne).

Smirf engine
Capablanca chess, Capablanca random chess, Fischer random chess, Echecs classiques et
Gothic

PostDuif ne joue qu'au Grand Acedrex (mais deux des pièces féériques ne s'affichent pas dans Winboard)


Conclusion


Le paramétrage des variantes dans Winboard est assez complexe. Je n'en ai saisi que la surface et cela m'a pris déjà beaucoup de temps ! Il faudrait que j'en passe beaucoup plus pour rédiger un chapitre supplémentaire : comment contraindre Winboard à prendre en charge les variantes que nativement les moteurs savent jouer - car c'est loin d'être le cas actuellement. Mais ce ne sera pas de sitôt, à moins qu'une bonne âme ne veuille se charger de ce travail. J'accueille avec sympathie toutes les bonnes volontés.

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); })();