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

Infos zur Publikation

title_2016_06

Digitale Ausgabe: Preis € 5,99
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

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

Aktuelle Fragen

Welche Drucker sind Linux-mint kompatibel?
Johannes Nacke, 20.05.2016 07:32, 4 Antworten
Hallo Ihr Lieben, ich bitte um mitteilung welche Drucker Kompatibel sind mit Linux-Mint. LG Joh...
MS LifeCam HD-5000 an Debian
Kay Michael, 13.04.2016 22:55, 0 Antworten
Hallo, ich versuche die oben erwähnte Cam an einem Thin Client mit Debian zu betreiben. Linux...
Import von Evolution nach KMail erzeugt nur leere Ordner
Klaus-Christian Falkner, 06.04.2016 12:57, 3 Antworten
Hallo, da ich vor einiger Zeit von Ubuntu auf Kubuntu umgestiegen bin, würde ich gerne meine E...
Sophos lässt sich nicht unter Lubuntu installieren
Chrstina Turm, 30.03.2016 20:56, 3 Antworten
Hi Leute, habe mir vor paar Tagen auf ein Notebook, das ohne Linux ausgedient hätte, Linux dr...
Novell Client auf Raspbian
Chris Baum, 16.03.2016 15:13, 3 Antworten
Hallo Community, ich hätte eine Frage, und zwar geht es um folgendes: Ich möchte eine Datei...