Using UCI-engines in SCID via Polyglot (and wine)

Polyglot here

Using UCI-engines in SCID via Polyglot (and wine)

Postby elcriollito » 19 Jan 2008 07:37

It's rather easy to use UCI-engines with SCID. All you need is "polyglot" and an ini-file for your UCI-engine. Polyglot is a small programm that converts the UCI commands to the Xboard commands in order to have SCID "understand" your UCI-engine.

To use chess-engines that are only available as Windows binaries you need to have installed the "wine" package too.
How it is done

Download "polyglot"

Then put polyglot into a folder of your choice.

e.g. /home/username/chessengines/polyglot

Start SCID and open the engine dialog window. Click to install a new engine and fill in the blanks as shown in the picture

Image

Create the fruit_221.ini file with a common text editor and put it into the same folder where you installed polyglot. For fruit 2.2.1 it might look like this:

[PolyGlot]

EngineName = Fruit_221
EngineDir = /home/mick/chessengines/fruit_221
EngineCommand = ./fruit_221

Log = false # set to true for bug reports
LogFile = fruit_221.log

Resign = true
ResignMoves = 1 # 1 is safe for Fruit

[Engine]

# standard UCI options

Hash = 256 # in MB

NalimovPath = /home/mick/Nalimov-TB # *** EGTB path here ***
NalimovCache = 16 # in MB

OwnBook = false # false for no book (e.g. Nunn-like matches)

# Fruit-specific options follow below

Press OK and everything should work just fine.

If you want to get the Windows binary of a UCI-engine to run with SCID, you simply add the wine command in the ini-file.

Start SCID and open the engine dialog window. Click to install a new engine and fill in the blanks as shown in the picture.

Image


Create the spike.ini file with a common text editor and put it into the same folder where you installed polyglot. For spike 1.1 it might look like this:

[PolyGlot]

EngineName = Spike1.1
EngineDir = /home/mick/chessengines/Spike1.1
EngineCommand = wine Spike11.exe

Log = false
LogFile = spike.log

[Engine]

InitString = BookOff
Hash = 256

Have a look at the EngineCommand line: Here you put the "wine" command just before the name of the Windows UCI-engine binary.

That's it. Press OK and everything should be working just fine.
Script for engine-tournaments with Xboard

Xboard cannot perform engine-tournaments by itself. It needs a little help. Use the following script to do an engine-tournament with Xboard.

#!/bin/bash

DISPLAY=:0.0
export DISPLAY

# set board size for display
XBSZ=Big

XBEngines=4
XBTC=10
XBMP=40
XBMG=3

echo A tournament with $XBEngines engines will be started
echo play blitz in $XBTC minutes per $XBMP moves, $XBMG matches, no incremental time, and autoquit

# list of engines

XBP[1]=/home/mick/chessengines/polyglot
XBS[1]="./polyglot spike.ini"
XBA[1]=1

XBP[2]=/home/mick/chessengines/polyglot
XBS[2]="./polyglot fruit_221.ini"
XBA[2]=1

XBP[3]=/home/mick/chessengines/polyglot
XBS[3]="./polyglot shredder9.ini"
XBA[3]=1

XBP[4]=/home/mick/chessengines/zappa_11
XBS[4]="./zappa xboard"
XBA[4]=1

# tournament board

for ((i=1; i<=XBEngines; i++))
do
if [ ${XBA[$i]} -eq 1 ]; then
echo .
for ((j=$i+1; j<=XBEngines; j++))
do
if [ ${XBA[$j]} -eq 1 ]; then
xboard -tc $XBTC -mps $XBMP -mg $XBMG -size $XBSZ -sgf /home/mick/chessengines/tourney.pgn -xexit \
-fd ${XBP[$i]} -fcp "${XBS[$i]}" -sd ${XBP[$j]} -scp "${XBS[$j]}"
fi
done
fi
done

echo Tournament finished

As you can see it is easy to include all the UCI-engines via polyglot, it doesn't even matter if it is a Linux or Windows binary. Of course native Xboard engines - like Zappa in the example above - work too. Paths to the opening books are set in the ini-files. The script saves (appends) the finished games to the tourney.pgn files. You can import this pgn-file into SCID and review the games or create a crosstable which might look something like this:

Computer chess game
linux, 2006.05.01 - 2006.05.02
Score Frui Spik Toga Shre Zapp
------------------------------------------------------------
1: Fruit_221 12.0 / 16 XXXX =1=1 10== 1110 1111
2: Spike1.1 10.5 / 16 =0=0 XXXX =1=1 1=11 =11=
3: Toga_II-1.2beta2a 8.5 / 16 01== =0=0 XXXX =101 11==
4: Shredder9 7.0 / 16 0001 0=00 =010 XXXX 1111
5: Zappa 1.1 2.0 / 16 0000 =00= 00== 0000 XXXX
------------------------------------------------------------
40 games: +18 =12 -10
"The winner of the game is the player who makes the next-to-last mistake."
- Tartakover -
http://chess2u.googlepages.com/
User avatar
elcriollito
Moderator
Moderator
 
Posts: 416
Joined: 09 Oct 2007 19:14
Location: Cuba

Re: Using UCI-engines in SCID via Polyglot (and wine)

Postby eliasgino2007 » 18 May 2008 22:25

Welcome all, 8)

Download - Scid - Version 3.6.1 - For Windows:
Link:
http://prdownloads.sourceforge.net/scid ... e?download


By eliasgino2007! :ok
User avatar
eliasgino2007
Co-Admin
Co-Admin
 
Posts: 634
Joined: 01 Nov 2007 14:36
Location: Brasil

Re: Using UCI-engines in SCID via Polyglot (and wine)

Postby matematiko » 19 May 2008 03:10

elcriollito,

I think those instructions are for linux, also, as far as I know, the new SCID release does not requieres polyglot any more...actually it has better options than polyglot....and finaly, SCID does not have ICS connection capabilities....it is a fine program for managing databases, to practice chess and stuff like that but it can not be used to connect to Yahoo.

Using engines to cheat:
- It is not ethical,
- It is useless, nothing is gained (how can one be proud of a score earn with dishonesty?)
- You will be baned, sooner or later,
- It gives us (the true chess engine players) a bad reputation.
User avatar
matematiko
Co-Admin
Co-Admin
 
Posts: 1284
Joined: 17 Oct 2007 13:32
Location: Texas USA


Return to Polyglot

Who is online

Users browsing this forum: No registered users and 0 guests