Connect (UCI) engine(s) with GUI over network

Discussion of chess software programming and technical issues.

Moderator: Ras

User avatar
hgm
Posts: 28451
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Connect (UCI) engine(s) with GUI over network

Post by hgm »

mar wrote:Even if one would compress positions using FEN from last irreversible move - that's still not enough and UCI still has to send all the moves since that position.
This is actually what the UCCI protocol prescribes. Bad consequence is that most engine authors do not reserve space for more than 100 ply in their input buffer, so that the engines crash if you play them under a draw rule like 30-moves-not-counting-checks-and-evasions, which could prolong the game beyond 50 irreversible moves.
mar
Posts: 2672
Joined: Fri Nov 26, 2010 2:00 pm
Location: Czech Republic
Full name: Martin Sedlak

Re: Connect (UCI) engine(s) with GUI over network

Post by mar »

hgm wrote: This is actually what the UCCI protocol prescribes. Bad consequence is that most engine authors do not reserve space for more than 100 ply in their input buffer, so that the engines crash if you play them under a draw rule like 30-moves-not-counting-checks-and-evasions, which could prolong the game beyond 50 irreversible moves.
Arena obviously doesn't do that. It sends position startpos and all the moves over and over again.
As for input buffer, I thought everyone clears it anyaway whenever the engine encounters an irreversible move.
User avatar
hgm
Posts: 28451
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Connect (UCI) engine(s) with GUI over network

Post by hgm »

I could imagine that some engines just read and buffer the entire input line before they even start parsing to discover that it is a position/move command.

In UCI it is indeed not usual to attempt shortening the line by using FENs; Polyglot and UCI2WB don't do that either.