ubuntuusers.de

ubuntuusers.deWikiSchach

Schach

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

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 {de} . 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.

Erklärung: Engines und Oberflächen

Man unterscheidet zwei Arten von Schachprogrammen: Schachengines und grafische Oberflächen ("Schachbrett-Programme").

Die Engines sind sozusagen die "Gehirne", sie sind also für das Berechnen der Züge, die Stellungsbewertung, die Abfrage von Datenbanken etc. zuständig. Eine grafische Benutzeroberfläche besitzen sie jedoch nicht. Will man unter Linux eine Engine direkt steuern, so kann man dies mit textueller Eingabe im Terminal [2] tun (siehe Screenshot).

./gnuchess-text.png

Da diese Methode höchst unkomfortabel ist, gibt es eine Vielzahl an grafischen Oberflächen, die die Kommunikation zwischen Engine und Benutzer mittels auf dem Bildschirm dargestellter Schachbretter ermöglichen. Nicht alle Oberflächen ermöglichen eine komfortable freie Stellungseingabe.

Für das Spiel Mensch gegen Mensch kann es auch sinnvoll sein, 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; im allgemeinen hat man jedoch die Freiheit, 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 die Möglichkeit, die Engine in einem Menü auszuwählen (Ausnahme: Xboard).

Engines

Grundprogramme

In den Ubuntu-Quellen sind folgende Engines enthalten:

  • gnuchess (universe)

  • crafty (multiverse)

  • phalanx (universe)

  • sjeng (universe)

  • hoichess (universe)

  • fruit (universe)

  • toga2 (universe)

  • glaurung (universe)

  • stockfish (universe )

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install gnuchess crafty phalanx sjeng hoichess fruit toga2 glaurung stockfish 

sudo aptitude install gnuchess crafty phalanx sjeng hoichess fruit toga2 glaurung stockfish 

Sie lassen sich über die Paketverwaltung installieren [1]. Es ist eigentlich nicht nötig, mehrere Engines zu installieren. Jede Engine hat aber natürlich ihre kleinen Stärken und Schwächen, so dass es durchaus Sinn macht, sich durch Installation mehrerer Engines eine kleine Auswahl zu ermöglichen. Die Engines haben in der höchsten Spielstufe ELO-Stärken von deutlich über 2000 (abhängig vom Prozessor), so dass auch starke Vereinsspieler gefordert werden. Andererseits lassen sich selbstverständlich auch einfache Spielstufen wählen.

Bibliotheken

Eröffnungsbibliotheken für gnuchess bzw. crafty sind in den Paketen

  • gnuchess-book (universe)

  • crafty-books-small (multiverse)

  • crafty-books-medtosmall (multiverse)

  • crafty-books-medium (multiverse)

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install gnuchess-book crafty-books-small crafty-books-medtosmall crafty-books-medium 

sudo aptitude install gnuchess-book crafty-books-small crafty-books-medtosmall crafty-books-medium 

enthalten. Sie müssen nicht zwingend installiert werden. Natürlich wird gnuchess-book von gnuchess verwendet, und die crafty-books von crafty. Sind diese Pakete installiert, führt das zu einem schnelleren, sicheren Spiel der jeweiligen Engine in der Eröffnung.

Funktionsübersichtübersicht

Oberflächen und eigenständige Programme

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.

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

* siehe Hinweis bei Engines

Oberflächen

eboard

./eboard.png
eboard

eboard {en} 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)

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install eboard 

sudo aptitude install 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)

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install eboard-extras-pack1 

sudo aptitude install eboard-extras-pack1 

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

Xboard

./xboard.png
Xboard

Xboard {en} 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)

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install xboard 

sudo aptitude install 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 {en} . Eine Auswahl an alternativen Figurensätzen, die unter der LGPL (GNU Lesser General Public License) stehen, bietet die MaurizioHomepage {en} .

Knights

./knights.png
Knights

Das KDE-Programm Knights {en} 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)

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install knights 

sudo aptitude install 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 {en} 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

./pychess.png
Pychess

PyChess {en} 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 Paket

  • pychess (universe)

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install pychess 

sudo aptitude install pychess 

welches mit der Paketverwaltung installiert werden kann [1].

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 (GNOME Chess)

./glchess.png
glChess

glChess {en} ist das schlankste Programm in der Liste. Insbesondere die in älteren Versionen fehlende Schachuhr machte es für fortgeschrittene Spieler 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)

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install gnome-chess 

sudo aptitude install gnome-chess 

Bis Ubuntu 12.10 lautete der Paketname:

  • glchess (universe)

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install glchess 

sudo aptitude install glchess 

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.

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 fortsetzten 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

Scid/scid.png
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.

Weiter Informationen zu dem Programm mit tcl/tk-Oberfläche findet man im Artikel Scid.

ChessX

ChessX ist ein relativ junges Programm, was man auch an der aktuellen Version 0.9 ablesen kann. 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. Die Installation erfolgt händisch, eine Installatonshilfe ist auf der Homepage {en} des Programms zu finden.

José

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

José {en} 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

./brutalchess.png
Brutalchess

Folgendes Paket muss installiert werden [1]:

  • brutalchess (universe)

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install brutalchess 

sudo aptitude install 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

./dreamchess.png
Dreamchess

Folgendes Paket muss installiert werden [1]:

  • dreamchess (universe)

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install dreamchess 

sudo aptitude install dreamchess 

Dreamchess {en} 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.

jChessboard

./jchessboard.png
jChessboard

Ein weiteres Programm mit eigener Engine ist jChessBoard {en} . 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 12. Juli 2014 15:21 von aasche erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Spiele, Denkspiel, Open-Source-Spiel, Linux-Spiel