Questions tagged [uci]
Universal Chess Interface (UCI) is the interface protocol used by most of the major chess engines.
76
questions
1
vote
1
answer
66
views
Understanding UCI Output of Chess Engine - how to get best continuation
I am trying to understand and parse the UCI (Universal Chess Interface) output of a chess engine (here Stockfish 15.1). Specifically, I calling Stockfish with the following command and want to get the ...
0
votes
1
answer
124
views
How to get a list of top number of moves in stockfish uci format?
This is what I have written so far:
stockfish.postMessage("uci");
stockfish.postMessage("ucinewgame");
stockfish.postMessage(`isready`);
stockfish.postMessage(`position startpos ...
2
votes
2
answers
655
views
How to tell which engine is going to play white or black in UCI Protocol?
Is there a UCI protocol command that tells the other engine which team white or black to play?
For instance, I wrote a chess engine. I connected my engine to play against Stockfish 15.1 using chess ...
3
votes
1
answer
119
views
Is there any UCI GUI for arbitrary variants?
I have a UCI-compatible chess engine which I modified to play a chess variant (gravity chess, where all non-pawn pieces fall towards increasing rank). However, there's no easy way to play against the ...
2
votes
1
answer
125
views
UCI Play Colors
How do I get the color the engine should play? My minimax function requires color to return the best move for that color. I'm using uci protocol, but I'm looking at the docs and cannot find anything ...
1
vote
1
answer
184
views
Can an engine function implementing UCI except without always reading stdin?
According to the UCI protocol, an engine implementing UCI should always be able to respond to stdin. I thought of two ways to accomplish this in an engine of my own:
Implement threads like Stockfish ...
1
vote
1
answer
1k
views
How do I implement UCI in my Python chess engine?
I have developed a chess engine in Python with negamax, alpha beta and piece square table. I want to "compile" my code into a UCI compatible one so I can load it to Arena GUI, but I have no ...
2
votes
0
answers
127
views
Issue with connecting engine to lichess bot (uci communication)
My engine is responding correctly to the first inputs from the GUI (as above), but when it receives go movetime 10000 it just crashes and I don't know why. When I test my engine manually in CMD I get ...
3
votes
0
answers
354
views
Understanding Leela Chess Zero (Lc0) "verbose-move-stats output"
I'm trying to fully understand the Leela's verbose-move-stats output:
Are the statements below correct?
The move that will be played is e2e4, since it's the one with the greatest count of visits (N: ...
-1
votes
1
answer
197
views
UCI - what should be the value of movestogo
Playing a bullet game(1 min) against UCI engine, I would send these command from GUI
uci
setoption name Hash value 256
isready
ucinewgame
position startpos e2e4
go wtime 60000 btime 60000 ...
1
vote
2
answers
253
views
Example of "lowerbound" and "upperbound" in the UCI protocol
I am having trouble understanding how "upperbound` and "lowerbound" come into play in the UCI protocol.
The spec says:
lowerbound: the score is just a lower bound.
upperbound: the ...
5
votes
1
answer
687
views
Obtain information about a a position from Stockfish
I want to know from Stockfish:
All possible moves in a position, a.k.a. a depth 1 analysis with no score.
If the king is in check, is checkmated, or if there is a draw.
The current FEN string, after ...
1
vote
1
answer
250
views
Unable To Communicate with UCI through Java Program
I am writing a java program to connect to the Stockfish Engine and get the best move for some FENs.
My Connection code is :
public class connector {
private Process engineProcess;
private ...
4
votes
1
answer
404
views
What is the idea of 'ponder' in the UCI protocol?
I've created my own chess engine and now I'm trying to connect it into the Chess Arena. Everything is actually working fine when I play them together (Demo). But I tried to play with it and didn't ...
3
votes
1
answer
819
views
Can all UCI engines output a FEN for the current position or is it just StockFish?
I know in StockFish if you type "d" you get an ascii view of the board and a FEN string for the current state. Is there any command in other UCI engines such as Rybka 4 that will output a ...
2
votes
1
answer
178
views
Why do some UCI engines restrict input moves to 23 when using the command prompt?
I am using some UCI engines from a command prompt. Most work fine (i.e. Stockfish, Houdini, Komodo) but when I use e.g. SOS (ver.5.1) or Hermann (Ver.2.8), I cannot seem to type any more moves after ...
1
vote
2
answers
509
views
Is it preferable to pass a FEN notation or list of moves to a chess engine?
I am actually programming a chess UI and I'd like to communicate with a chess engine using UCI protocol. After reading the protocol specifications, I am not sure how to use the position command. For ...
1
vote
1
answer
632
views
Why is stockfish not accepting my move?
I am trying to play with stockfish from terminal.
I entered the following commands:
position startpos e2e4
d
The output was:
Why is stockfish not accepting my move?
1
vote
1
answer
813
views
Using Stockfish in an automated way, for example, to analyze games in pgn format
I am looking for a way to use Stockfish for an automated analysis of games which I have in pgn format. Similar to Fritz/Chessbase's Blunder Check function I would like Stockfish (or any other UCI ...
2
votes
1
answer
552
views
How can I send a UCI command to a chess engine in Python?
I have a followup question to my previous thread:
Python script to let stockfish selfplay 10 games from a given position
There are some engines that allow you to set a command that imposes that the ...
5
votes
1
answer
2k
views
Python script to let stockfish selfplay 10 games from a given position
I would like to have Stockfish to selfplay 10 games starting from a given position. Game should end after 10 moves. From the python-chess documentation there is an example of playing only one such ...
2
votes
1
answer
756
views
Debugging my chess engine through the Arena GUI
I coded (with visual studio 2019 on windows 10) an ultra naive chess engine that complies with UCI engine interface rules. Before starting to develop it in more fancy ways, I want to make sure that I ...
-2
votes
1
answer
311
views
How to force Stockfish to make mistake [closed]
I developed a bot. It had a 100% win rate and my account was banned. I need to get it to make mistakes but can't force Stockfish to do it. How can I modify Stockfish to make mistakes?
2
votes
3
answers
1k
views
When to use Clear Hash
I am developing a program that analyzes games sequentially, i.e. one game after another.
Below are the parameters.
Engine: Stockfish 10
Threads: 2
Hash Table: 4000
Depth: 30
My question is about ...
2
votes
3
answers
704
views
How to use Arena GUI outputs in a python program
I'm currently developing a self-playing chessboard on which I'd like to implement an Artificial Intelligence (AI) (currently it's Stockfish. I would like to know how I could, if I can, export Arena ...
4
votes
1
answer
3k
views
How to use the Ponder option in stockfish / UCI
I'm trying to understand stockfish Ponder functionality. I'm very interested to let stockfish think when the opponent is thinking. From what I understand you can do it as follows
$> uci
$> ...
0
votes
1
answer
703
views
Standard for current position evaluation via UCIs
I am trying to interact with stockfish via UCI to get a current evaluation of the board. When you do a simple
position startpos
go depth 10
The board will helpfully return
...[previous depths]
...
3
votes
1
answer
422
views
How does "go mate <x>" work in UCI
In the UCI documentation, it says
mate x
search for a mate in x moves
However, I believe this should say "search for mate in x plies", as plies are used in most of the protocol. I can ...
0
votes
2
answers
218
views
Regarding Chessbase softwares
I have bought Houdini 6 pro ( ChessBase version ), for the primary purpose of practising by playing games against Houdini 6 pro (and other engines I own)
I cannot figure out how to play a game against ...
1
vote
2
answers
493
views
Testing an engine (UCI) against an older version of itself
I am making modifications to a chess engine.
I want to get quick feedback on whether the modified version seems stronger than an unmodified version or not, by fighting the older version multiple ...
4
votes
2
answers
2k
views
Python and UCI engine
I'm working with Stockfish in Python 3.
And when I do something like this:
I get just "bestmove e2e4". How can I retrieve full information?
Like this:
7
votes
8
answers
2k
views
Reasonable engines to test against (Not StockFish)
I've built a chess engine in Python which I've been testing against StockFish through the use of the Python-Chess package.
Testing against StockFish seems/is problematic, and as a result I'm ...
5
votes
1
answer
2k
views
Why does Stockfish give a negative score in a theoretical win for white?
8/3k4/8/3K4/3P4/8/8/8 b - - 0 1
(Black to move)
This is a theoretical win since White has the opposition and the king is in front of the pawn.
I have downloaded the Windows version for Stockfish 9 ...
2
votes
1
answer
1k
views
Connecting UCI engine with iOS? [closed]
So I'm not actually making a Chess app, but I am trying to hook up an engine that uses a protocol almost exactly the same as UCI. I can get it working quite easily on a macOS app. Now, the hard part ...
4
votes
2
answers
4k
views
Is there a list of hidden/deleted Stockfish commands?
I have downloaded the latest version of Stockfish, and I am running it on the command line.
There is a hidden command 'd' which displays the current board.
Also, the "debug on" command is not ...
5
votes
2
answers
879
views
How do UCI chess engines handle the 50-move or threefold repetition rules when playing against other engines?
I'm working on an engine that implements the UCI protocol that is intended to play against other engines. Since the UCI protocol has no commands for offering or accepting draws, how does this work ...
-1
votes
1
answer
797
views
where are the revision logs for asmFish
Please help because I can't find the revision logs on any website. I want to download version 051117 but I literally cannot get any website to have it.
5
votes
1
answer
680
views
how does a uci engine draw or resign?
I am writing a UCI chess AI/engine. It has the ability to draw and resign. How do I communicate this to the uci chess interface? what string shoud i send back to the GUI?
1
vote
2
answers
172
views
Changing UCI output to include piece names
UCI output from engines is generally raw in the form of g1f3 and e2e4 representing Nf3 and Pe4. One engine I saw (lozza) sends its PV output with the piece names. Others, like Stockfish, don't ...
1
vote
1
answer
235
views
Stockfish: Engine suddenly changed the side?
I asked this question in stockfishchess.org support but didn't get any response. So I'm trying to get some answers from you all.
My question:
Please find the output of communication with the engine ...
4
votes
1
answer
995
views
How to use ending evaluation in UCI interaction with Stockfish
Playing around with the Stockfish 8 UCI from the terminal, I've managed to make it compute moves, and set the position and load Syzygy tables.
But how I can know if an endgame, one that corresponds ...
2
votes
1
answer
2k
views
What exactly means centipawns field in stockfish/uci output?
According to this page:
cp
the score from the engine's point of view in centipawns.
but is it a score for the current (start) position of the game that I feed to engine, or it is a ...
3
votes
1
answer
415
views
Best way to use UCI engine to play against itself
So far I used UCI only to make analysis of particular positions, sending FEN, showing multipv, analysing fixed depth/time, clearing hash for every next position.
Now I would like to make the same ...
1
vote
1
answer
232
views
Is there any UCI engine that presents DTZ information from syzygy in analyse mode?
Many UCI engines that can read syzygy database put same score for every winning move (#1000 in komodo, +123.53 in stockfish, ...) and you have no idea how to make real progress when analysing root ...
10
votes
1
answer
4k
views
Returning scores for all possible moves from a chess engine
I am looking for a way to return scores for all possible moves from a chess engine (preferably, Stockfish).
The UCI protocol does not seem to require it, but is seems like a useful feature to include....
0
votes
1
answer
328
views
How I tell the UCI engine to show less info during search?
Is there a UCI command to output only selected info? For example if my input is
setoption name MultiPV value 3 go depth 8
I get info for every depth itineration in the search:
info depth 1 seldepth ...
5
votes
1
answer
689
views
Why am I getting different behaviour between using stockfish as a child node process and a CLI called process?
Copied this question from stackoverflow. Not 100% sure it belongs here but we'll see...
I am building a web interface for the stockfish chess engine using Node, and I noticed that the behaviour of ...
6
votes
2
answers
5k
views
I'm confused by UCI Pondering and Time Control
I'm trying to talk to a UCI engine (right now Stockfish, but more generally to all UCI engines) to write my own computer-vs-computer program (I could use Fritz, but I really want to learn more about ...
3
votes
1
answer
457
views
SAN for nullmove?
The long algebraic notation (lan) for null move is usually 00-00 or simply 0000. Chess engines that support the nullmove: "give up a turn, and let the other side move" typically use this as its part ...
3
votes
1
answer
1k
views
How to read score from stockfish - inconsistent response every call?
I was setup stockfish with:
uci
setoption name hash value 128
setoption name threads value 4
That I try to evaluate my first moves to learn how it works (I am programmer) but I received random ...