Buchempfehlung
Windows System Programming
Windows System Programming
Das Kompendium liefert viele interessante Informationen zur Windows-Programmierung auf Englisch. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

Colochessum

Projektzusammenfassung
Projekt-Maintainer:Mitgliedgrindstone Projektseite angelegt:15.12.2013
Lizenzierung:FBPSL Letzte Bearbeitung:29.01.2014
Projektkategorie:Spiele      [Zurück zur Übersicht]

Colochessum

Colochessum ist eine Schach-GUI, die zwei UCI-fähige Schachengines gegeneinander spielen lässt.
Die Engines müssen sich im Unterordner "engines" befinden, der -falls noch nicht vorhanden- beim ersten Programmstart angelegt wird. Ebenfalls wird beim ersten Start des Programms eine .ini - Datei angelegt, in der alle Einstellungen gespeichert werden.

Das Programm lässt die beiden Engines solange gegeneinander spielen, bis es abgebrochen wird. Die zu diesem Zeitpunkt laufende Partie kann beim nächsten Programmstart fortgesetzt werden. Alle Partien werden in einer Logdatei aufgezeichnet und können im replay-Modus (mit den Tasten Bild auf und Bild ab) Zug für Zug angezeigt werden.

Spielmodi

Zur Zeit kann man zwischen drei Spielmodi wählen: movetime, depth und gametime.

Beim Spielmodus movetime bekommt jede Engine für jeden Zug eine bestimmte Rechenzeit (angegeben in Millisekunden) zur Verfügung gestellt. Wenn für movetime handicap ein Wert > 0 angegeben wird, bekommt der Verlierer für die nächste Partie diesen Wert an zusätzlicher Rechenzeit, der Gewinner bekommt diesen Wert gleichzeitig abgezogen. Dieses Ungleichgewicht pendelt sich nach einigen Partien bei einem bestimmten Wert ein, an dem man das Verhältnis der Spielstärken der beteiligten Engines ablesen kann.

Wird die Handicap-Funktion nicht gewünscht, kann der Wert auf 0 gesetzt werden.

Beim Spielmodus depth wird eine bestimmte Rechentiefe vorgegeben. Auch hier kann der Wert nach jeder verlorenen Partie erhöht werden.

Beim Spielmodus gametime bekommt jeder der Gegner eine bestimmte Spielzeit, die herunterläuft, solange er am Zug ist. Auch hier kann mit gametime handicap nach jeder Partie die Rechenzeit zugunsten des Verlierers verschoben werden.

Anders als bei den Spielmodi movetime und gametime nimmt beim Spielmodus depth bei gleichen Ausgangsbedingungen jedes Spiel denselben Verlauf (identische Züge), so daß hier Aussagen über die Spielstärke nur sehr bedingt möglich sind.

Setup

Die Optionen der gegeneinander spielenden Engines können eingestellt und auch während der laufenden Partie geändert werden. Die Einstellungen werden gespeichert, und zwar abhängig davon, ob die betreffende Engine als engine1 oder engine2 bei der GUI angemeldet ist. So kann auch dieselbe Engine mit unterschiedlichem Setup gegen sich selber spielen.

Selber spielen

Unter Colochessum human interface 0.1 kann der Quellcode für eine Pseudo-Engine heruntergeladen werden, mit der man (vorerst nur per Maus) als Mensch gegen jede Engine spielen kann, mit der Colochessum zurechtkommt. Der Quellcode muß dazu mit "fbc -s console" als Konsolenprogramm kompiliert und unter dem Namen "human.exe" im "engines" - Ordner von Colochessum (ab Version 0.4) abgelegt werden.

Die Idee zu dem Projekt ist aus Externer Link!diesem Thread entstanden.

Links:
Externer Link!http://wbec-ridderkerk.nl/html/UCIProtocol.html
Externer Link!http://de.wikipedia.org/wiki/Universal_Chess_Interface
Externer Link!http://de.wikipedia.org/wiki/Forsyth-Edwards-Notation
Externer Link!http://free-basic.ru/chess_fruit.html Schachengine "Fruit 2.3.1"
Externer Link!https://s3.amazonaws.com/stockfish/stockfish-4-win.zip Schachengine "stockfish_4_32bit"
Externer Link!http://www.houdinichess.com/ Houdini chess engine

Dateimanager
Colochessum_0.115.12.13 17:0473 kB
Colochessum_0.231.12.13 11:4784 kB
Colochessum_0.310.01.14 20:0199 kB
Colochessum_0.429.01.14 08:0591 kB
Colochessum human interface 0.129.01.14 08:2319 kB
Colochessum human interface 0.212.01.21 16:1918 kB
common.bi12.01.21 16:227 kB
bipipe.bi12.01.21 16:235 kB