ChessX: Aggiungere un motore (Stockfish)

Dopo l’articolo in cui veniva spiegato come installare ChessX su un PC GNU/Linux, vediamo oggi come aggiungere un motore al programma in modo che si possano fare analisi di partite. Il motore scelto è Stockfish.

Per prima cosa occorre scaricare Stockfish e compilarlo sul sistema. Siccome è gestito su github, per scaricare i sorgenti sotto controllo di configurazione occorre avere git installato sul proprio PC. Se non presente, dare quindi il comando:

$ sudo apt-get install git

Una volta installato git scaricare i sorgenti di Stockfish con il comando:

user:~$ git clone https://github.com/mcostalba/Stockfish.git stockfish
Cloning into 'stockfish'...
...
user:~$ _

Se tutto è andato bene viene creata una directory stockfish con all’interno i sorgenti. Per compilare, entrare nella directory stockfish/src e dare il seguente comando:

user:src$ make profile-build ARCH=x86-64-modern

NOTA: l’uso dell’architettura x86-64-modern va bene se avete un PC nuovo basato sulle recenti architetture Intel, altrimenti potete provare con x86-32 per PC vecchi o anche x86-64 su architettture a 64 bit di cui non siete completamente sicuri della “modernità” (o se avete problemi con la modern).

Se tutto è andato bene all’interno della directory deve comparire un file eseguibile di nome stockfish. Copiatelo dove preferite e provate a lanciarlo. Se tutto va bene deve comparire un messaggio e il programma rimane in attesa:

pf:stockfish$ ./stockfish
Stockfish 211113 64 SSE4.2 by Tord Romstad, Marco Costalba and Joona Kiiski
_

Dare Ctrl-C per uscire dal programma.

Il secondo passo da compiere consiste nell’associare a Stockfish il suo database delle aperture. Scaricarlo dalla pagina dei download del sito, decomprimere l’archivio e copiare il file Book.bin nella directory dove si trova l’eseguibile di Stockfish creato in precedenza.

Passando a questo punto a ChessX, vediamo come agganciare il motore.

Andare nel menù Edit e scegliere “Preferences”, qui selezionare il tab “Engines” e cliccare sul pulsante “Add”. Cercare l’eseguibile di Stockfish e selezionarlo. Nella linea “Directory” selezionare la directory dove si trova l’eseguibile di Stockfish (e il file Book.bin).

Finestra Preferences/Engines dopo il setup di Stockfish
ChessX: Finestra Preferences/Engines dopo il setup di Stockfish

Come ultimo passo prima di chiudere la finestra delle preferenze, cliccare su “Options”. Si entra così nella finestra per il setup dei parametri UCI (Universal Chess Interface, il protocollo con cui la GUI comunica con il motore). Qui per il momento è importante solo impostare il nome del database delle aperture. Cambiare quindi il parametro “Book File” assegnandogli il valore “Book.bin“.

ChessX: finestra per le impostazioni delle opzioni UCI
ChessX: finestra per le impostazioni delle opzioni UCI

A questo punto per dimostrare che il motore funziona basta impostare una posizione (menù Edit -> Setup Position), aprire il pannello di Analisi (View -> Analysis) e cliccare sul pulsante “Analysis”. Io ho provato con il seguente matto in otto mosse tratto da “Strategia e tattica degli scacchi” di Georgij Lisitsyn:

Il bianco muove e da matto in 8 mosse
Il bianco muove e da matto in 8 mosse

Quello che mi piacerebbe molto fare a questo punto sarebbe utilizzare il motore per giocare una posizione contro di lui. Questa è una funzionalità molto utile per allenarsi per esempio nei finali. Purtroppo però questo allo stato di sviluppo attuale del programma non è possibile. L’unica cosa che si può fare è analizzare una partita, cosa che vedremo in una prossima puntata.

Per allenarsi a giocare posizioni contro un’engine la soluzione più economica consiste probabilmente nell’installare una GUI semplice come ad esempio XBoard. e associarci il motore Stockfish. Operazioni banali, sulle quali non starò a dilungarmi.