Leistungsstarke und flexibel einsetzbare Schachprogramme waren unter Linux lange Zeit Mangelware. Mit PyChess setzt das freie Betriebssystem jedoch andere Plattformen matt.
Das Schachspiel gilt als eines der ältesten strategischen Brettspiele der Menschheit. Trotz seiner jahrhundertealten Geschichte hat es nichts von seiner Faszination eingebüßt. Der Vormarsch der Computertechnik in den vergangenen Dekaden machte jedoch auch vor dem Spiel der Könige nicht halt. Rechner mit Mehrkernprozessoren und entsprechender Software schlagen die meisten menschlichen Schachspieler mühelos. Dabei tummeln sich im Markt der Schachprogramme unzählige mehr oder weniger ausgereifte Konkurrenten, sodass der Anwender vor der Qual der Wahl steht.
Linux führte als Plattform für Schachprogramme lange Zeit ein Schattendasein. Obwohl bereits seit vielen Jahren alle größeren Desktop-Umgebungen über Schachprogramme mit einer grafischen Oberfläche verfügen, setzten sich diese aufgrund funktioneller Defizite, zu schwacher Leistung der Schach-Engines und mangelnder Kompatibilität zu den kommerziellen Platzhirschen aus der Windows-Welt nicht durch. Erst mit der Veröffentlichung des auf Java basierenden und 2006 erstmals für Linux erhältlichen Schachprogramms Shredder [1] begann sich das Blatt zu wenden. Shredder gilt inzwischen als eines der spielstärksten kommerziellen Schachprogramme überhaupt, aber auch freie Applikationen unter Linux haben mittlerweile signifikante Fortschritte gemacht.
Die meisten aktuellen Schachprogramme unter Linux setzen sich aus zwei Komponenten zusammen: Die grafische Oberfläche bestimmt das Spielerlebnis und ermöglicht vor allem Zusatzfunktionen für ambitionierte Anwender, wie die Spielanalyse oder das Nachspielen von Partien zu Trainingszwecken. Unter der Oberfläche agiert mit dem eigentlichen Schachprogramm das Gehirn. Eine solche sogenannte Engine weist keine grafische Oberfläche auf, sondern berechnet ausschließlich die Züge.
Viele Jahre lang konnten freie Schach-Engines nicht mit der kommerziellen Konkurrenz mithalten. Das hat sich inzwischen gründlich geändert. Mit Stockfish [2] tauchte 2015 auf der schwedischen Rankingliste der spielstärksten Schach-Engines gleich zweimal ein freies Schachprogramm unter den Top Ten auf [3]. Auch die ebenfalls freie Engine Crafty [4] machte bereits mehrfach durch herausragende Leistungen von sich reden.
Die GUI und das Schachprogramm kommunizieren bei diesen Lösungen über standardisierte Protokolle miteinander. Als Quasi-Standards gelten hier CECP, das Chess Engine Communication Protocol, das man aufgrund der gleichnamigen grafischen Oberfläche auch als Xboard-Protokoll bezeichnet, sowie das neuere Universal Chess Interface UCI.
PyChess
PyChess, eine jüngere Entwicklung unter den grafischen Oberflächen für Schachprogramme, unterstützt sowohl das CECP- als auch das UCI-Protokoll. Der ursprünglich für den Gnome-Desktop in Python entwickelte Schachclient basiert auf den GTK-Bibliotheken. Die aktuelle Version 0.12 “Anderssen” läuft jedoch problemlos auch auf Linux-Desktops, die nicht auf GTK-Komponenten aufsetzen. Die Software findet sich inzwischen in den Repositories vieler Distributionen, zusätzlich stellt das Projekt auf seiner Webseite vorkompilierte Pakete und den Quellcode bereit [5].
Nach der Installation finden Sie im Untermenü Spiele Ihrer Distribution den Eintrag PyChess. Bei einem Klick auf den Starter öffnet das Programm ein unscheinbares Fenster, in dem Sie zunächst Ihre Spielfarbe und die zu nutzende Schach-Engine aus zwei Auswahllisten auswählen. Im unteren Bereich des Fensters besteht zudem die Option, sich durch Eingabe eines Benutzernamens und des dazugehörigen Passwortes am FICS-Schachserver im Internet anzumelden und dort Live-Partien zu spielen. Sie aktivieren die gewünschte Funktion, indem Sie für die lokal zu spielende Partie auf die Schaltfläche Spiel starten klicken oder Verbinde mit FICS wählen, um eine Online-Partie zu beginnen (Abbildung 1).
PyChess bringt von Haus aus eine eigene Schach-Engine namens PyChess.py mit, die beim Start der Software voreingestellt ist. Unter dem Auswahlfeld regeln Sie die Spielstärke des Programms. Weitere Engines lassen sich ohne viel Aufwand hinzufügen: In den Paketverwaltungen der meisten Linux-Distributionen finden Sie dazu Pakete wie etwa crafty, fairymax, gnuchess, phalanx oder sjeng und nicht zuletzt stockfish, die Sie über den jeweiligen Paketmanager installieren. Außerdem stellen die Entwickler von PyChess mehrere Schach-Engines zum Herunterladen bereit [6]. PyChess sollte nach einem Neustart die gewünschte Engine automatisch finden und zur Auswahl anbieten.
Einstellungen
Nach einem Klick auf Spiel starten baut sich der eigentliche Programmbildschirm auf. Er gliedert sich unterhalb der oben angeordneten Menüleiste in das zweidimensional visualisierte Schachbrett im linken Bereich und mehreren Anzeigefeldern rechts davon. Im unteren Segment finden Sie zudem einen Anzeigebereich mit den beiden Reitern Tipps und Engines.
Alle Anzeigebereiche enthalten zu Beginn einer neuen Partie noch nichts und füllen sich erst im Verlauf des Spiels mit Daten, sodass Sie jede Partie später problemlos nachvollziehen können. Vor Beginn der ersten Partie empfiehlt es sich, zunächst im Menü Einstellung | Einstellungen die Software grundlegend an die eigenen Wünsche anzupassen.
Der entsprechende Dialog ermöglicht es, über den links angeordneten Reiter Allgemein das Programmfenster um diverse Optionen zu erweitern: Hier lassen sich unter anderem die Anzeige der Koordinaten des Schachbretts und der geschlagenen Figuren aktivieren. Auch die Zugzeiten und Bewertungen blenden Sie hier in das Programmfenster ein. Im zweiten Reiter Hinweise stellen Sie das Eröffnungsbuch ein und wählen eine Engine für die Analysefunktion aus. Die Auswahlfelder führen automatisch sämtliche verfügbaren Engines auf.
Im mittleren Reiter Seitenleisten definieren Sie dann, welche grundlegenden Informationen im Programmfenster erscheinen: Indem Sie nicht benötigte Funktionen abschalten, gestalten Sie die Oberfläche deutlich übersichtlicher (Abbildung 2). Dazu wählen Sie aus einer Liste der bereits aktiven Anzeigebereiche einen oder mehrere aus und deaktivieren diese durch einen Klick auf die Schaltfläche Aktiv unten im Einstellungsfenster.
Die beiden rechts angeordneten Reiter Themen und Klänge dienen der optischen und akustischen Anpassung der Software. So lassen Sie sich etwa über Programmnachrichten auch akustisch informieren oder passen das Schachbrett optisch Ihren Wünschen an, wobei PyChess mit mehr als drei Dutzend Alternativen aufwartet.
Spionage und Tippgeber
Im Menü Ansicht blenden Sie durch Setzen eines Häkchens vor der Option Tipp-Modus während der Partie Tipps für kommende Spielzüge ein. Das kommt insbesondere schwächeren Spielern zugute, die ihre Fähigkeiten im Spiel verbessern möchten. Der im selben Menü aktivierbare Spionage-Modus zeigt zusätzlich die “Überlegungen” der Schach-Engine an, wobei diese direkt auf dem Schachbrett in Gestalt roter Pfeile für die kommenden Züge Ihres Gegners erscheinen.
Sofern Sie jegliche Zusatzanzeigen abschalten und lediglich das Spielbrett mit der Uhr am Bildschirm sehen möchten, entfernen Sie das Häkchen vor der Checkbox Seitenleiste anzeigen im Menü Ansicht. PyChess aktualisiert jedoch alle Listenanzeigen weiterhin im Hintergrund, sodass Sie diese durch ein erneutes Setzen des Häkchens Seitenleiste anzeigen auch während des laufenden Spiels wieder einsehen können (Abbildung 3).
Damit Sie ein laufendes Spiel auch einmal abbrechen oder eine gespielte Partie zu einem späteren Zeitpunkt nachvollziehen können, erlaubt PyChess den Spielstand zu speichern. Die entsprechenden Optionen Partie speichern und Partie speichern unter im Menü Partie legen das aktuelle Spiel im standardisierten PGN-Format auf der Festplatte ab. Die meisten Schachprogramme unterstützten dieses textbasierte Format. Zusätzlich steht einem Datenaustausch über das PGN-Format mit reinen Schach-Datenbanken wie Scidb nichts im Weg. Über die ebenfalls im Menü Partie befindlichen Dialoge Partie laden und Letztes Spiel laden rufen Sie später die gewünschte Partie wieder auf.
Stellungseingabe
Einen besonderen Reiz entwickeln Schachaufgaben, die eine bestimmte Stellung zusammen mit einer Spielaufgabe vorgeben. Dem ambitionierten Spieler obliegt es anschließend, die entsprechende Lösung zu finden. PyChess beherrscht zu diesem Zweck die freie Stellungseingabe, mit der Sie eine solche Aufgabe im Schachprogramm nachstellen. Dazu rufen Sie das Menü Partie | Partie-Notation eingeben auf und geben im neu geöffneten Dialog die Notation rechts im großen Eingabefeld ein. Im linken Bereich dieses Fensters definieren Sie die Spieler und stellen die Zeitkontrolle sowie die Variante ein.
PyChess bietet an, die verschiedenen Schach-Engines gegeneinander spielen zu lassen. Mithilfe eines Schiebereglers passen Sie dabei die Rechentiefe und somit die Spielstärke der jeweils gewählten Engine Ihren Wünschen an. Nach einem Klick auf den Schalter Partie Starten unten rechts im Dialogfenster stellt das Programm die Figuren im Hauptfenster auf dem Spielfeld entsprechend der Notationsangaben auf. Sofern Sie menschliche Spieler definiert haben, sind diese am Zug. Sollen Schach-Engines die Aufgabe lösen, fängt die Partie automatisch an (Abbildung 4).
Online-Partie
PyChess eignet sich nicht nur für den lokalen Einsatz, sondern auch für Online-Partien. Dazu melden Sie sich beim freien Internet-Schach-Server FICS [7] an, indem Sie beim Start von PyChess ein Häkchen vor die Option Als Gast anmelden setzen und anschließend auf Verbinde mit FICS klicken. PyChess verbindet sich daraufhin automatisch mit dem FICS-Server und zeigt in einem übersichtlichen Fenster Anwender, die einen Schachgegner suchen (Abbildung 5). Da sich der FICS-Server generell kostenfrei nutzen lässt, registrierte Anwender ein Rating erhalten und zudem an Online-Turnieren teilnehmen dürfen, empfiehlt sich eine Registrierung über die Webseite.
Gefällt Ihnen ein Eintrag aus der Liste der Suchanfragen als Gegner, dann nehmen Sie die Partie gegen diesen auf, indem Sie zunächst den entsprechenden Eintrag in der Liste durch einen einfachen Linksklick mit der Maus markieren und anschließend auf den Button Annehmen oben rechts im Fenster klicken. PyChess holt nun das Schachbrett in den Vordergrund, auf dem Sie die Partie dann wie im rein lokalen Modus spielen. Das Programm protokolliert die Partie, sodass sich diese wie gewohnt abspeichern und analysieren lässt.
Beachten Sie, dass die Liste der Suchanfragen sowohl menschliche Spieler als auch Bots enthält. Computergegner hebt das Programm mit einem symbolisierten Bildschirm links neben dem Namen hervor. Damit Sie sich mit einem menschlichen Gegner während des Spiels verständigen können, bringt PyChess im Bereich Werkzeuge des FICS-Auswahlfensters mit der Schaltfläche Zeige Gespräch eine einfache Chat-Funktion mit, die jedoch bei einigen Konversationsgruppen nur für registrierte Nutzer zur Verfügung steht (Abbildung 6).
Möchten Sie selbst im Suchfenster als Schachpartner erscheinen, so definieren Sie einfach eine eigene Suchanfrage. Dazu geben Sie im Bereich Suchanfrage erstellen zunächst an, was für eine Art von Schachpartie Sie wünschen. Zur Wahl stehen Partien nach den Standard-, Blitz- oder Bullet-Regeln. Weitere Details zur Partie bestimmen Sie über die kleine Editier-Schaltfläche hinter der gewählten Option. Dort geben Sie beispielsweise die Zeitkontrolle, die Gegnerstärke oder auch die gewünschte Farbe vor. Danach klicken Sie unten rechts im Fenster auf die Schaltfläche OK und stellen mit Suchanfrage senden das Partnersuchangebot in den virtuellen Zettelkasten ein (Abbildung 7).
Fazit
PyChess gehört zu den flexibelsten Schach-Clients unter Linux und steht der kommerziellen Konkurrenz kaum noch nach. Die Software glänzt weniger durch optische Gimmicks als vielmehr durch ein klares Konzept und eine außergewöhnliche Funktionsvielfalt, die unter Linux ihresgleichen sucht. Das Programm lässt sich dank der durchdachten Oberfläche intuitiv und ohne aufwendiges Einarbeiten bedienen und bietet aufgrund ausgezeichneter Kompatibilität zu den gängigen Schach-Engines sehr flexible Einsatzmöglichkeiten.
Dank der Möglichkeit der freien Stellungseingabe und der Unterstützung des weit verbreiteten PGN-Formates lässt sich die Software nicht nur zum Spielen von Schachpartien verwenden, sondern auch zu deren Analyse und für Schachaufgaben. Zu guter Letzt eignet sich der Schach-Client ausgezeichnet für Online-Partien über den FICS-Server und erspart Ihnen somit das Einrichten einer speziellen Online-Software.
Infos
[1] Shredderchess: http://www.shredderchess.de/linux.html
[2] Stockfish: https://stockfishchess.org
[3] Liste der SSDF: http://ssdf.bosjo.net/list.htm
[4] Crafty: http://www.craftychess.com
[5] PyChess: http://www.pychess.org/download
[6] Engines herunterladen: https://github.com/pychess/pychess/wiki/ChessEngines
[7] FICS-Server: http://www.freechess.org













Seit meinem Ubuntu-Update können Partien nicht mehr geladen werden. Kennt jemand eine Lösung ?