AA-123RF-15237370-Dima_Sobko-123RF.jpg

© Dima Sobko, 123RF

Schachprogramm PyChess

Matt

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).

Abbildung 1: Online oder lokal – das ist hier die Frage.

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.

Abbildung 2: Das Programmfenster von PyChess lässt sich sehr detailliert konfigurieren.

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.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

Kommentare
Partien werden nicht geladen
Tom (unangemeldet), Mittwoch, 10. August 2016 19:22:45
Ein/Ausklappen

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



Bewertung: 92 Punkte bei 3 Stimmen.
Den Beitrag bewerten: Gut / Schlecht

Infos zur Publikation

LU 10/2016: Kryptographie

Digitale Ausgabe: Preis € 0,00
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Aktuelle Fragen

Soundkarte wird erkannt, aber kein Ton
H A, 25.09.2016 01:37, 6 Antworten
Hallo, Ich weiß, dass es zu diesem Thema sehr oft Fragen gestellt wurden. Aber da ich ein Linu...
Scannen nur schwarz-weiß möglich
Werner Hahn, 20.09.2016 13:21, 2 Antworten
Canon Pixma MG5450S, Dell Latitude E6510, Betriebssyteme Ubuntu 16.04 und Windows 7. Der Canon-D...
Meteorit NB-7 startet nicht
Thomas Helbig, 13.09.2016 02:03, 3 Antworten
Verehrte Community Ich habe vor Kurzem einen Netbook-Oldie geschenkt bekommen. Beim Start ersch...
windows bootloader bei instalation gelöscht
markus Schneider, 12.09.2016 23:03, 1 Antworten
Hallo alle zusammen, ich habe neben meinem Windows 10 ein SL 7.2 Linux installiert und musste...
Ubuntu 16 LTE installiert, neustart friert ein
Matthias Nagel, 10.09.2016 01:16, 3 Antworten
hallo und guten Abend, hab mich heute mal darangewagt, Ubuntu 16 LTE parallel zu installieren....