ubuntuusers.de

Schach

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

./springer.png Schach ist eines der ältesten Spiele der Menschheit. Das heißt aber nicht, dass es veraltet ist – ganz im Gegenteil. Unzählige Schachprogramme tummeln sich auf dem Markt. Sie werden ständig weiterentwickelt, und gegen die besten Computer ist mittlerweile jeder menschliche Gegner chancenlos 🇩🇪 . Wer seinen Ubuntu-PC zur Schachmaschine machen will, findet hier die Möglichkeiten: ob gegen den Computer oder via Internet gegen menschliche Gegner, ob Anfänger oder "Profi" – bei Ubuntu ist für jeden was dabei.

Einleitung

Man unterscheidet zwei Bestandteile von Schachsoftware: Schach-Engines und grafische Oberflächen ("Schachbrett-Programme"). Die Engines sind sozusagen die "Gehirne", sie sind also primär für das Berechnen der Züge und damit für das eigentliche Schachspielen zuständig. Viele heutige Engines können aber durchaus noch mehr, etwa Stellungsbewertung und Abfragen aus Datenbanken (z. B. Eröffnungsbibliotheken). Eine grafische Benutzeroberfläche besitzt eine Engine nativ jedoch nicht. Heute spielt man Schach am Computer natürlich nahezu immer mit bzw. unter einer grafischen Benutzeroberfläche. Es ist aber auch unter Ubuntu möglich gegen gewisse Engines (es funktioniert nicht bei allen) im Terminal zu spielen. Manche bieten dafür Sondereffekte, etwa stilisierte Darstellungen der Stellung.

Da diese Methode höchst unkomfortabel und heute im Grunde nur noch von nostalgischem Interesse ist, gibt es eine Vielzahl an grafischen Oberflächen, die die Kommunikation zwischen Engine und Benutzer mittels auf dem Bildschirm dargestellter Schachbretter ermöglichen. Dabei bieten manche Oberflächen z. T. äußerst umfassende Zusatzfunktionen, die unter Umständen sogar im Vordergrund stehen können. Manche Oberflächen können auch mit mehreren verschiedenen Engines konfiguriert werden, was weitere spannende Möglichkeiten eröffnet, etwa das "Ausspielen" einer Stellung mit verschiedenen Engines und anderes mehr. Auch wenn dieser Gebrauch meist nicht im Zentrum steht: Für das Spiel Mensch gegen Mensch genügt es übrigens natürlich ein Schachbrett-Programm ohne Engine zu installieren.

Kommerzielle Schachsoftware besteht oft aus einer Engine mit speziell dafür konzipierter Oberfläche, die untrennbar mit der Engine verbunden wird. Der Benutzer merkt also nichts von den zwei Komponenten des Programms. Auch für Linux gibt es vereinzelt solche Software, doch ist das die Ausnahme. Im Allgemeinen hat man die Freiheit (und natürlich auch die Herausforderung), verschiedene Engines mit der gewünschten Oberfläche zu kombinieren. Man installiert hierfür zunächst eine oder mehrere Engines, danach eine Oberfläche. Diese bietet dann in der Regel die Möglichkeit, die Engine in einem Menü auszuwählen; allerdings können ggf. zusätzliche Konfigurationsschritte erforderlich sein.

Engines

Der Artikel über die Schach-Engines beschreibt kurz alle neun sich in den Paketquellen von Ubuntu befindlichen Engines. Es wird insbesondere auf den Betrieb im Terminal eingegangen, sofern der möglich ist. Zu zwei dieser Engines hat es in den Paketquellen Eröffnungsbibliotheken, die zusätzlich installiert werden können. Der weitere Artikel hier beschäftigt sich nur noch mit grafischen Oberflächen, vollständigen Programmen mit grafischer Oberfläche und natürlich mit der Einbindung der Engines in grafische Oberflächen.

Grafische Oberflächen und grafische Schachprogramme

Tabellarische Übersicht über die Funktionalität

Funktionsübersicht Schachspiele
Funktion eboard Xboard Knights PyChess GNOME Chess Brutalchess jChessBoard José Dreamchess
Spiel mit Zeitbeschränkung Ja Ja Ja Ja Nein Nein Ja Ja Ja
Engine wählbar Ja Ja Ja Ja Ja Nein Nein Ja Ja
Spiel zweier Engines gegeneinander Nein Ja Ja Ja Ja Nein Ja Ja Nein
Spiel gegen menschlichen Gegner Ja Ja Ja Ja Ja Nein * Ja Ja Ja
Online-Spiel (FICS-Protokoll) Ja Ja Ja Ja Nein Nein Nein Nein Nein
Online-Spiel (Direktverbindung) Ja Nein Nein Nein Nein Nein Ja Nein Nein
Partieverlaufspeichern/laden Ja Ja Ja Ja Ja Nein Ja Ja Ja
Stellung speichern/laden Nein Ja Nein Ja Nein Nein Nein Ja Nein
freie Stellungseingabe Ja Ja Nein Ja Nein Nein Ja Ja Nein
Brettgröße veränderbar Ja *** Ja Ja Ja ** Nein Ja Ja
Anzeige der Koordinaten am Brett möglich Ja Ja Ja Ja Nein Nein immer an Ja Ja
Aussehen veränderbar (Themes) Ja Ja Ja Ja 2D/3D Nein **** Nein Ja Ja
Töne veränderbar (Audio-Themes) Ja Ja Ja Ja Nein Nein Nein Ja Nein

* Laut Dokumentation möglich, funktioniert aber nicht
** nur vor Partiebeginn
*** nur beim Programmstart, 18 mögliche Größenstufen
**** Laut Dokumentation existieren zwei Themes, das zweite führt jedoch zum Absturz

Einbindung der Engines

Fruit nimmt eine Sonderstellung ein, denn diese Engine basiert nicht wie die anderen auf dem xboard-Protokoll, sondern auf dem UCI-Protokoll. Derzeit sind nur Knights und José in der Lage, UCI-basierte Engines von Haus aus einzubinden. Toga II wurde auf der Basis von Fruit entwickelt, beherrscht jedoch beide Protokolle. Oberflächen, die nur das xboard-Protokoll beherrschen, können mit dem Adapter polyglot (universe) das UCI-Protokoll benutzen.

In folgender Übersicht ist dargestellt, welche Programme welche Engines nutzen können, entweder automatisch über die Pfadangabe zur Engine oder manuell durch Aufruf entsprechender Befehle; die Nutzung des Adapters polyglot ist hier nicht berücksichtigt.

Einbindung
Engine Paket eboard Xboard Knights PyChess GNOME Chess José Dreamchess
GNU Chess 🇬🇧 gnuchess auto auto auto auto * auto ?
Crafty 🇬🇧 crafty auto manuell auto auto auto ? ?
Phalanx 🇬🇧 phalanx manuell manuell auto auto auto auto ?
SJEng 🇬🇧 sjeng auto manuell auto auto auto ? ?
Hoi Chess 🇬🇧 hoichess manuell manuell manuell auto auto ? ?
Fruit 🇬🇧 fruit nein nein manuell auto nein auto ?
Toga II 🇬🇧 toga2 nein nein manuell auto nein auto ?
Glaurung 🇬🇧 glaurung nein nein manuell auto nein auto ?

* siehe Hinweis bei Engines

./eboard.png
eboard

eboard

eboard 🇬🇧 ist der Spitzenreiter in der Kategorie der Schachoberflächen, lediglich kleine Mängel in der Bedienerfreundlichkeit sind zu erwähnen.

Als kleines "Bonbon" bietet eboard die Möglichkeit, sich mit einem anderen eboard-Benutzer per Internet direkt zu verbinden.

Installation

Es genügt, das Paket

  • eboard (universe)

Befehl zum Installieren der Pakete:

sudo apt-get install eboard 

Oder mit apturl installieren, Link: apt://eboard

zu installieren [1].

Das Programm kann durch den Befehl eboard gestartet werden [3].

Konfiguration

Der Menüpunkt Einstellungen sowie die Unterpunkte sind weitgehend leicht verständlich. Lediglich die Tatsache, dass eine Partie mit "Partner → Spiel gegen Engine" gestartet werden muss, ist etwas gewöhnungsbedürftig. Die Funktion zur Partiespeicherung versteckt sich unter "Fenster → Partien auf dem Client".

Engines, die das Programm nicht automatisch erkennt, heißen "Generische Engine". Hat man eine solche Fremd-Engine einmal eingebunden, kann man ein "Lesezeichen" für sie setzen, welches dann im Menü "Partner → Engine-Lesezeichen" aufgeführt wird. Zu beachten ist, dass GNU Chess 5 als Fremd-Engine gesehen wird, während GNU Chess 4 automatisch erkannt wird.

Zusätzliche Themes sind im Paket

  • eboard-extras-pack1 (universe)

Befehl zum Installieren der Pakete:

sudo apt-get install eboard-extras-pack1 

Oder mit apturl installieren, Link: apt://eboard-extras-pack1

enthalten. Nach der Installation [1] werden sie beim nächsten Start von eboard unter "Einstellungen → Figurensets (Bitmaps)" aufgeführt.

./xboard.png
Xboard

Xboard

Xboard 🇬🇧 ist eines der ältesten Schachbrett-Programme für Linux. Die Bedienung ist etwas gewöhnungsbedürftig, und die Optik der Menüs wirkt antiquiert. Diese Nachteile macht Xboard aber durch die gute Funktionalität wett. Insbesondere die Möglichkeit der freien Stellungseingabe ist hierbei erwähnenswert.

Installation

Installiert [1] wird Xboard über das Paket

  • xboard (universe)

Befehl zum Installieren der Pakete:

sudo apt-get install xboard 

Oder mit apturl installieren, Link: apt://xboard

Xboard kann durch den Befehl xboard gestartet werden [3].

Konfiguration

Die Wahl verschiedener Engines und vieles weitere geschieht über Kommandozeilenparameter bzw. über die Datei ~/.Xdefaults. Aufgrund der zahlreichen Konfigurationsmöglichkeiten ist es an dieser Stelle nicht möglich, alles aufzulisten. Hilfe erhält man durch die Eingabe von man xboard im Terminal [2].

Die Einbindung der Engines geschieht über den Parameter -fcp ("first chess program"), zum Beispiel

xboard -fcp hoichess 

Will man zwei Engines gegeneinander antreten lassen, so muss man die zweite Engine mit dem Parameter -scp ("second chess program") angeben, beispielsweise

xboard -fcp sjeng -scp crafty 

Die Farben der Felder und Figuren sind individuell konfigurierbar. Beispiel:

xboard -size medium -lightSquareColor \#dddd88 -darkSquareColor \#cc3300 -whitePieceColor \#ffffcc -blackPieceColor \#330000 

Etwas bessere Hilfe zur Konfiguration gibt es bei Vico's little Linux site 🇬🇧 . Eine Auswahl an alternativen Figurensätzen, die unter der LGPL (GNU Lesser General Public License) stehen, bietet die MaurizioHomepage 🇬🇧 .

./knights.png
Knights

Knights

Das KDE-Programm Knights 🇬🇧 ist sehr benutzerfreundlich und bietet viele Anpassungsmöglichkeiten. Einzig die Möglichkeit zur Stellungseingabe fehlt.

Installation

Die Installation [1] geschieht einfach über das Paket

  • knights (universe)

Befehl zum Installieren der Pakete:

sudo apt-get install knights 

Oder mit apturl installieren, Link: apt://knights

Konfiguration

Die Konfiguration geschieht durch den Aufruf des Menüpunkts "Einstellungen → Knights konfigurieren". Die Einstellmöglichkeiten sind weitgehend selbsterklärend.

Neue Figurensätze und Brettoberflächen sind im Knights Theme Pack 🇬🇧 enthalten. Dieses muss auf der Festplatte gespeichert und dann ins Verzeichnis ~/.knights entpackt werden. Beim nächsten Start von Knights stehen die neuen Themes zur Auswahl.

Im Screenshot sieht man das Brett "FritzLook" mit dem Figurensatz "Staunton".

./pychess.png
PyChess

PyChess

PyChess 🇬🇧 besticht durch seine ausgewogene Mischung aus Einfachheit und Funktionalität. Online-Spiele sind über FICS möglich und für das Spiel gegen den Computer sind alle wichtigen Funktionen vorhanden. Eine Besonderheit: der "Spionage-Modus", der dem Spieler anzeigt, welchen Zug die Engine als nächstes plant.

Neben den externen Engines (CECP und UCI) kann man bei PyChess auch eine mitgelieferte Engine auswählen und kann so zwischen sehr leichten bis wirklich schweren Computer-Gegnern wählen. Spielstände können in den Formaten PGN, EPD oder FEN gespeichert werden.

Installation

Benötigt wird das folgende Paket:

  • pychess (universe)

Befehl zum Installieren der Pakete:

sudo apt-get install pychess 

Oder mit apturl installieren, Link: apt://pychess

Konfiguration

Eine gut durchdachte Benutzeroberfläche bietet schnellen intuitiven Zugriff auf alle Funktionen. Verzichten muss man leider auf die Möglichkeit, die Markierung der zuletzt gezogenen Figur abzuschalten.

./glchess.png
glChess

glChess

glChess 🇬🇧 (auch GNOME Chess) ist das schlankeste Programm in der Liste. Insbesondere die in älteren Versionen fehlende Schachuhr machte es für fortgeschrittene Spieler früher unbrauchbar. Als kleines Extra besitzt glChess die Möglichkeit, das Brett dreidimensional darzustellen. Allerdings lässt sich das dreidimensionale Brett nicht drehen.

Installation

Als Teil der Spielesammlung GNOME Games war glChess bei älteren Ubuntu-Versionen bereits vorinstalliert. Es heißt schlicht "Schach". Kubuntu-/Xubuntu-Benutzer können dieses Paket nachträglich installieren. In der Paketverwaltung [1] wählt man das Paket:

  • gnome-chess (universe)

Befehl zum Installieren der Pakete:

sudo apt-get install gnome-chess 

Oder mit apturl installieren, Link: apt://gnome-chess

Nach der Installation ist das Programm bei Ubuntu-Varianten mit einem Anwendungsmenü unter "Spiele → Schach" zu finden.

Konfiguration

Die wenigen Einstellungsmöglichkeiten sind im Menü zu finden. Leider kann man die Markierung der möglichen Zielfelder der angewählten Figur nicht deaktivieren.

Scid/scid.png
Scid

Schachdatenbanken

In Schachdatenbanken werden Partien mit Informationen zu Spielern Zug für Zug festgehalten, beispielsweise um Spiele zu analysieren, die eigene Entwicklung festzuhalten oder einfach nur, um eine Partie nach einer Unterbrechung fortsetzen zu können.

Schachdatenbanken können beispielsweise mit der integrierten Funktion von José verwaltet und kommentiert werden, es steht mit Scid aber auch ein eigenständiges Programm zur Verfügung. Die meisten Schachprogramme unterstützen das PGN-Datenbankformat, um Spielpartien zu speichern.

Scid

Mit Scid 🇬🇧 verwaltet man Schachdatenbanken, kann Suchen nach verschiedensten Kriterien durchführen, graphische Elo-Trends ablesen sowie druckfertige Berichte über Spieler sowie Eröffnungen erstellen. Desweiteren kann man über FICS online Schach spielen sowie Schachengines entweder zu Analysezwecken oder als Spielpartner einbinden.

Scid verwendet eine eigene Datenbanktechnik, beherrscht aber auch den Ex- und Import im "portable game notation"-Format (pgn), womit Scid mit jedem anderen Schachprogramm kompatibel wird. Es sei an dieser Stelle der Hinweis erlaubt, das Scid sich eher an den professionellen Benutzer richtet, wobei jeder selbst entscheiden soll, ob das für ihn zutrifft.

Weitere Informationen zu dem Programm findet man im Artikel Scid.

ChessX.png
ChessX

ChessX

ChessX 🇬🇧 ist ein relativ junges Programm. Wem Scid zu altbacken aussieht und wer keinen großen Wert auf große Datenbanken legt, der sollte ChessX ausprobieren. Leider können bis jetzt nur .pgn-Datenbanken angesprochen werden, dafür können bereits dieselben Engines wie unter Scid eingebunden werden. Es ist in den offiziellen Paketquellen enthalten und kann über folgendes Paket installiert werden:

  • chessx (universe)

Befehl zum Installieren der Pakete:

sudo apt-get install chessx 

Oder mit apturl installieren, Link: apt://chessx

./jose.png ./jose3d.png
José mit Schachuhr José in 3D-Ansicht

José

José 🇬🇧 ist eine Java-basierende Schachoberfläche, die mit der Toga II-Engine bestückt sowohl im Paket mit Java als auch ohne selbiges von der Projektseite bezogen werden kann. José beherscht die Varianten "Fischer Random Chess", "Chess 960" und "Shuffle Chess".

José bietet neben einer Stechuhr und der Möglichkeit bei entsprechender OpenGL-Unterstützung eine dreidimensionale Ansicht zu nutzen, alle Einstellungsmöglichkeiten einer modernen Schachoberfläche in deutscher Sprache, sowie eine MySQL-gestützte Schachdatenbank. In der Datenbank sind zu Anfang sechzehn Partien des dritten Schachweltmeisters José Raúl Capablanca y Graupera enthalten, nach dem das Spiel benannt ist.

Mit dem Web-Servlet ist eine Darstellung der Datenbank, zu der José einen grafischen Zugang mit Kommentierungsfunktion bietet, auch auf einem Webserver möglich.

Die Engine kann über die Einstellungen ebenso leicht ausgetauscht werden, wie Eröffnungsbibliotheken, Design-Elemente und Soundausgaben. Engines, die das XBoard- oder das "Universal Chess Interface"-Protokoll unterstützen können gewählt werden.

Das als Java-Programm plattformunabhängige José steht unter der GNU General Public License Version 2, wobei es mit kommerziellen Programme dank der Toga II-Engine in der Elo-Zahl nicht nur mithalten kann, sondern viele schlägt.

Das Programm wird anscheinend nicht mehr weiter entwickelt. Die aktuelle Version 1.44 stammt aus dem Jahr 2006.

Eigenständige Programme

Einige Programme bringen ihre eigenen Engines mit oder haben eine bestimmte Engine integriert, die nicht getauscht werden kann.

./brutalchess.png
Brutalchess

Brutalchess

Folgendes Paket muss installiert werden [1]:

  • brutalchess (universe)

Befehl zum Installieren der Pakete:

sudo apt-get install brutalchess 

Oder mit apturl installieren, Link: apt://brutalchess

Brutalchess ist ein einfaches Schachspiel mit dreidimensionaler Ansicht und animierten Spielzügen. Leider befindet sich Brutalchess noch in einem Alphastadium und ist wenig konfigurierbar und nicht besonders spielstark.

Die Züge werden mit der linken Maustaste getätigt, die Ansicht kann mit der rechten Maustaste rotiert werden. Das Menü, in dem Spiel- und Grafikoptionen eingestellt und ein neues Spiel begonnen werden können, wird mit Esc aufgerufen und ebenso wieder verlassen.

./dreamchess.png
Dreamchess

Dreamchess

Dreamchess 🇬🇧 ist ein einfaches Schachspiel mit dreidimensionaler Oberfläche und animierten Spielzügen. Es bringt die eigene Engine Dreamer mit, kann aber auch andere Engines benutzen. Folgendes Paket muss installiert werden [1]:

  • dreamchess (universe)

Befehl zum Installieren der Pakete:

sudo apt-get install dreamchess 

Oder mit apturl installieren, Link: apt://dreamchess

./jchessboard.png
jChessboard

jChessBoard

Ein weiteres Programm mit eigener Engine ist jChessBoard 🇬🇧. Hierbei handelt es sich um ein Java-Programm, dem es leider auch an Optionen fehlt. Insbesondere das Brett selbst ist nicht anpassbar.

Allerdings bietet jChessBoard ähnlich wie eboard die Möglichkeit der Direktverbindung.

Diese Revision wurde am 3. Februar 2021 09:40 von Ubunux erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Spiele, Denkspiel, Open-Source-Spiel, Linux-Spiel