Jouez aux échecs contre Linux

Pour donner le change avec tous les articles extrémement sérieux qui entourent celui-ci, nous allons ici examiner les diverses possibilités qu'offre Linux & Internet aux joueurs d'échecs, qui sont nombreux dans la communauté Linux.
Bien qu'il existe un grand nombre de programmes d'échecs libres et disponibles sur Internet (plus d'une trentaine dans la liste donnée en référence), nous ne nous intéresserons ici qu'aux trois ayant le meilleur niveau de jeu, à savoir GNU Chess, Crafty et Phalanx.

    XBoard et GNOME-Chess

Dans la plus pure tradition Unix, tous les logiciels d'échecs disponibles sous Linux fonctionnent en mode texte. Cependant même si les interfaces textes demeurent utilisables, il faut bien avouer que non seulement celles-ci ne sont pas très esthétiques, mais qu'elles ne sont pas vraiment ergonomiques non plus. Fort heureusement, il existe une interface graphique adaptable à tous les programmes qui permet de résoudre ce problème (Mais vous n'en doutiez pas; sous Linux, il n'y a pas de problème, mais que des solutions ;-). Développé par Tim Mann, XBoard offre une interface X11 aux programmes d'échecs compatibles avec son protocole. C'est actuellement l'interface graphique standard pour les programmes d'échecs fonctionnant sous Linux.
Parmi les autres fonctionnalités intéressantes, notons que XBoard est également capable de charger et enregistrer des parties au format PGN, d'être utilise pour résoudre des problèmes, analyser des parties déjà jouées, de faire jouer 2 programmes l'un contre l'autre ou encore de jouer sur Internet.

Pour ceux qui sont allergiques au look & feel des anciens programmes utilisant directement la bibliothèque X11, il existe une alternative plus esthétique à XBoard : GNOME-Chess. Celle-ci, comme son nom l'indique, repose sur l'interface et les bibliothèques GNOME et reprend à peu près les fonctionnalités de XBoard. GNOME-Chess est cependant beaucoup plus récent ce qui explique le manque de certaines fonctionnalités. De ce fait, il est recommandé de continuer à utiliser XBoard en attendant que GNOME-Chess se stabilise.
 
Installation de XBoard
Debian : 
    "apt-get install xboard"
(Notez que sur les systèmes Debian, 
les jeux sont installés dans le répertoire 
/usr/games/ qui n'est pas forcement 
listé dans votre variable $PATH par défaut) 
Red Hat et dérivées : 
    "rpm -Uvh ftp://ftp.redhat.com/pub/redhat/redhat-6.2/i386/RedHat/RPMS/xboard-4.0.5-5.i386.rpm"
Installation de GNOME-Chess
Debian : 
    "apt-get install gnome-chess"
Red Hat et dérivées : 
    "rpm -Uvh ftp://ftp.arcavia.com/pub/gnome-chess/RPMS/gnome-chess-0.2.4-1.i386.rpm"

    GNU Chess

GNU Chess est très certainement le plus connu des logiciels d'échecs libres. Le développement de celui-ci est très ancien, mais a été quasiment stoppé il y a de cela quelques années. Les dernières versions de GNU Chess 4.0 datent de 1998, et se limitent à corriger des bugs mineurs sans apporter d'amélioration, ce qui n'empeche pas GNU Chess d'avoir beaucoup évolué depuis sa création, en 1986, et d'avoir un niveau de jeu tout à fait respectable. Cependant, du fait du développement constant de Crafty et Phalanx, GNU Chess 4.0 parait bien faible en comparaison.

GNU Chess est composé de plusieurs exécutables :
- gnuchess : jeu avec une interface en mode texte (curses).
- gnuchessn : jeu avec une interface en mode texte en vidéo inverse (curses).
- gnuchessr : jeu avec une interface texte (ASCII)
- gnuchessc : jeu en ligne de commande destiné a être utilise par chesstool.
- gnuchessx : jeu en ligne de commande destiné a être utilise par XBoard.
- gnuan : programme d'analyse de parties jouées.

GNU Chess est le programme par défaut utilisé par XBoard lorsqu'aucun programme d'échecs n'est spécifié. Au cas ou XBoard donne un message d'erreur expliquant qu'il n'a pas pu trouver l'exécutable gnuchessx, vous devrez donner à XBoard l'emplacement exact du programme a utiliser avec la commande 'xboard -fcp /usr/games/gnuchessx'.

Le développement de GNU Chess a été repris Stuart Cracraft, et celle-ci apporte des nouveautés intéressantes : beaucoup d'idées et de méthodes de Crafty ont été reprises, le code "spaghetti" de la version 4.0 a été éclairci et documenté, le codage interne des échiquiers utilise des bitboards, plus efficaces que l'ancienne méthode, etc. La version 5.0 n'a cependant pas encore ni la stabilité de la version 4.0 ni même toutes les fonctionnalités (par exemple la résolution de problèmes n'est pas supportée), mais elle semble très prometteuse et capable à terme de rivaliser avec Crafty et Phalanx.
 
 
Installation de GNU Chess
Debian : 
    "apt-get install gnuchess"
Red Hat et dérivées : 
    "rpm -Uvh ftp://ftp.redhat.com/pub/redhat/redhat-6.2/i386/RedHat/RPMS/gnuchess-4.0.pl80-3.i386.rpm"

    Crafty

    Ce programme, en dehors d'être le favori de l'auteur de l'article, est celui qui offre non seulement le plus de fonctionnalités, mais aussi le meilleur niveau de jeu (environ 2200-2250 ELO sur un ordinateur récent). Son développeur principal est Robert Hyatt, et il continue a améliorer constamment les performances de son programme. Crafty utilise les techniques les plus avancées en matière d'échecs sur ordinateurs. Quasiment toutes les techniques connues ont été testées sur Crafty, et les meilleures ont été retenues.
Si GNU Chess a été le programme d'échecs le plus connu et le plus utilisé au début des années 90, c'est maintenant Crafty qui tient le haut du pavé.
Crafty est également fourni avec un dictionnaire d'ouvertures extrêmement complet.
Ceux d'entre vous qui jouent aux échecs par Internet rencontrerons souvent un exemplaire de Crafty comme adversaire potentiel sur les serveurs ICS.
Notez également qu'il existe un portage de Crafty pour DOS, Windows et Macintosh.
Utilisez la commande "xboard -fcp crafty" ou "gnome-chess --fcp /usr/games/crafty" pour jouer contre Crafty avec une interface graphique.
 
Installation de Crafty
Debian : 
    "apt-get install crafty
Red Hat et dérivées :
    "rpm -Uvh ftp://rpmfind.net/linux/powertools/6.2/i386/i386/crafty-16.19-2.i386.rpm"

   Phalanx

Ce programme est beaucoup plus récent et moins connu que les deux que nous venons de présenter, mais il n'en offre pas moins un niveau de jeu intéressant. En jeux rapides (Blitz), Phalanx arrive même assez souvent a battre Crafty, ce qui constitue déjà une belle performance en soit.
Tout comme Crafty, Phalanx utilise les algorithmes les plus avancées en matière de programmes d'échecs, cependant il n'a pas encore toutes les fonctionnalités et raffinements de Crafty, comme la possibilité d'exploiter au mieux les machines multi-processeurs. Il reste néanmoins un adversaire redoutable qui risque de vous donner bien du fil à retordre.
 
Installation de Phalanx
Debian : 
    "apt-get install phalanx
Red Hat et dérivées : 
    Pas de binaire disponible, utilisez les sources disponibles à l'adresse suivante :
    http://www.crosswinds.net/~dobes/phalanx/phalanx-22.tar.gz

    Comparatif des programmes testés
 
 
GNU Chess
Crafty
Phalanx
Niveau de jeu * *** **
Licence
GPL
Quasi-Libre(*)
GPL
Auteur Free Software Foundation Robert Hyatt Dusan Dobes
Documentation Sommaire Complète Sommaire
Compatibilité XBoard
Oui
Oui
Oui
Import/Export PGN
Oui
Oui
Oui
Développement Repris après plusieurs années d'abandon relatif Très bien maintenu, mises à jour fréquentes Maintenu
Dictionnaire d'ouvertures Oui Oui Oui
Dictionnaire de fins de parties Non Oui Non
Apprentissage Oui Oui Non
Annotation de parties Oui Oui Oui
Résolution de problèmes Oui Oui Oui
Exploitation du SMP sur les machines multi-processeurs Non Oui Non
(*): Dans le passé, certaines personnes indélicates ont inscrit Crafty dans des tournois d'échecs en le faisant passer pour leur programme, sans mentionner l'auteur de Crafty. Par conséquent la licence originale de Crafty (qui était proche de la licence BSD) a été changée. La nouvelle licence rend obligatoire la divulgation des modifications faites au code source dans le cas où vous en distribuiez une version modifiée ; d'autre part, elle interdit de faire entrer Crafty dans une compétition de programmes d'échecs sans la permission écrite de l'auteur.
 

Soyons honnête, les meilleurs logiciels d'échecs (Genius, Rebel ou Mchess Pro) sont malheureusement non seulement commerciaux, mais également non disponibles sous Linux. Cependant, à moins que vous ne soyez le futur Karpov, les programmes présentés dans cet article devraient vous permettre d'exercer vos talents ou tout simplement de passer un bon moment.

    WebChess

Il existe également un certain nombre de sites Web qui proposent de jouer en ligne. Ceux-ci utilisent généralement de bons programmes (GNU Chess et Crafty dans la plupart des cas) tournant sur des machines suffisamment puissantes pour garantir un bon niveau.
Parmis les sites interessants, on note :

  • http://www.net-chess.com/gnu/
  • http://www.chess.net/play/java/

  • et
  • http://www.webdesign.hu/sakk/sakkf.html

  •  

     

        ICS

    Si vous vous lassez de toujours jouer (et perdre? ;-) contre un ordinateur et que vous disposez d'une connexion Internet, il vous est possible grâce à XBoard de vous connecter à un serveur ICS (International Chess Server) qui vous permettra de jouer contre les autres joueurs connectés. Ce système est d'autant plus intéressant que les serveurs ICS regroupent des joueurs de tous niveaux, des débutants aux grands maîtres de passage. Il est également possible de simplement suivre des parties en tant que simple spectateur, voire de les commenter. Notez cependant que certains des joueurs connectés sur ICS sont en fait des programmes d'échecs (Crafty la plupart du temps). En dehors des traditionnelles parties longues, ICS offre également la possibilité de jouer en Blitz (ou parties rapides). S'il est possible de négocier le temps de jeu avec votre adversaire avant de commencer la partie, les variantes les plus souvent proposées sont '2 12' (c'est à dire : temps de réflexion initial de 2 minutes par joueur, avec 12 secondes de bonus par coup joué) et '3 0' (3 minutes de réflexion par joueur pour la totalité de la partie). Si vous avez pris soin de vous enregistrer auprès du serveur ICS et que vous jouez régulièrement, vous bénéficierez également d'un classement par rapport aux autres joueurs.
    Pour vous connecter, utilisez la commande "xboard -ics".

        Formats de fichiers

    Pendant longtemps, il n'y avait pas de format de fichier standard permettant de stocker une partie d'échecs. Ce manque a été comblé depuis la définition du format PGN (Portable Game Notation). Celui-ci a été formellement défini et est devenu un standard reconnu par tous les logiciels d'échecs courants, y compris ceux décrits dans cet article. En dehors de sa portabilité, ce format offre en outre l'avantage d'être lisible grâce à un simple éditeur de texte.
    La notation utilisée pour chaque coup suit les règles suivantes :
    Les lettres minuscules et les chiffres indiquent la destination de la pièce déplacée. Lorsqu'il y a ambigüité, la destination est préfixée par une lettre majuscule indiquant la pièce déplacée :
        P : Pion (Pawn)
        N : Cavalier (kNight)
        B : Fou (Bishop)
        R : Tour (Rook)
        Q : Dame (Queen)
        K : Roi (King)
    De plus, la case de destination est préfixée par la lettre 'x' si le déplacement se fait avec une prise, et suffixé par un '+' s'il mène a un échec au roi. Les notations 'O-O' et 'O-O-O' correspondent respectivement au petit roque et grand roque.
    Enfin, lorsqu'il y a promotion d'un pion, celle-ci est indiquée avec le signe '=' suivit du code de la pièce choisie.
    Exemple : gxh8=Q : le pion en sur la colonne g prend la pièce en h8, et est promu en Dame.
    D'autre part, des commentaires peuvent être insérés entre accolades, et le score est écrit à la fin du fichier :
    "1-0" (victoire des blancs), "0-1" (victoire des noirs), "1/2-1/2" (PAT) ou "*" (partie interrompue ou en cours).
    A titre d'exemple, une partie entre Crafty et Phalanx au format PGN est donnée dans l'encadré ci-dessous. Les connaisseurs apprécieront ce Mat magnifique de Phalanx alors que Crafty avait l'avantage matériel.
     
    Partie jouée entre Crafty 17.6 et Phalanx XVIII
    [Event "Computer chess game"]
    [Site "vince"]
    [Date "2000.06.18"]
    [Round "-"]
    [White "phalanx"]
    [Black "crafty"]
    [Result "1-0"]
    [TimeControl "40/300"]

    1. e4 c5 2. Nf3 e6 3. c3 d5 4. exd5 Qxd5 5. d4 Nc6 6. Be2 cxd4 7. cxd4 Nf6
    8. O-O Bb4 9. Nc3 Bxc3 10. bxc3 O-O 11. c4 Qh5 12. Rb1 h6 13. Ne5 Qh4 14.
    Nxc6 bxc6 15. Bf3 Bd7 16. Rb7 Rfd8 17. Be3 a5 18. g3 Qh3 19. Bf4 Qf5 20.
    Re1 a4 21. Bg2 a3 22. h3 Re8 23. Qb3 Qa5 24. Re5 Qd8 25. Re2 Bc8 26. Rc7 g5
    27. Be5 Nd7 28. Bd6 Nb8 29. Qf3 Bd7 30. Rb7 Qc8 31. Qf6 Qxb7 32. Be4 e5 33.
    Qxh6 f5 34. Qg6+ Kh8 35. Bxf5 Bxf5 36. Qxe8+ Kg7 37. Bxe5+ Kh6 38. Qf8+ Kh5
    39. g4+ Bxg4 40. hxg4+ Kh4 41. Bg3+ Kxg4 42. f3+ Kh3 43. Qf5+ Kxg3 44. Qg4#
    {White mates} 1-0

    Maintenant, à vous de jouer ! ;-)
     
    References
    - Groupes de discussion : 
            rec.games.chess.misc 
            rec.games.chess.computer
            rec.games.chess.play-by-email
            fr.rec.jeux.echecs
            gnu.chess
    - Palamede :
            http://www.palamede.com/palamede/index.htm
    - Internet Chess Library 
            http://www.freechess.org/ 
    - Site de la revue "Europe Échecs"
            http://www.echecs.com/ 
    - GNU Chess
            ftp://ftp.gnu.org/pub/chess/
    - Crafty 
            ftp://news.cis.uab.edu/pub/hyatt/ 
    - Phalanx
            http://www.crosswinds.net/~dobes/phalanx/
    - XBoard 
            http://www.research.digital.com/SRC/personnal/Tim_Mann/chess.html 
    - GNOME-Chess 
            http://www.arcavia.com/rd/gnome-chess/
    - ICS
            http://www.chessclub.com/
    - Bases de données de parties et d'ouvertures 
            ftp://ftp.onenet.net/ 
    - Définition du format PGN : 
            ftp://ftp.freechess.org/pub/chess/PGN/Standard
    - Liste quasi-exhaustive des programmes d'échecs disponibles
            http://www.research.digital.com/SRC/personal/mann/engines.html
     

     
    Utilisateur de GNU/Linux depuis 1993, Vincent Renardias a commencé a s'impliquer activement dans son développement à partir de 1996 : Développeur pour la distribution Debian, auteur de la traduction Française de l'environnement GNOME, créateur du groupe d'utilisateurs Linux de Marseille (PLUG), ... Actuellement responsable technique de la société Echo, il continue à contribuer activement au système GNU/Linux.
    Vincent Renardias <renardias@echo.fr>


    © Copyright 2000 Diamond Editions/Linux magazine France
    Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; A copy of the license is included in the section entitled "GNU Free Documentation License".