Need help with UCI

Sort:
KippoMtl

Hello everybody,

I need help on UCI.

I have build a GUI to connect to UCI chess engines. Unfortunately all my attempts at trying to set them up so they would play a "reasonably weaker" game
failed: they all end up crushingly playing near perfection. With those that support the UCI_Elo options, using the "setoption name UCI_Elo value xxx" where
xxx is the minimum they offer seems to have no effect at all (Stockfish, Arasan, RodentIII amongst others). With RodentIII I have tried to use weak personalities
but that does seem to have any effect either. After spinning them from the GUI I do the following:

1. I send the "ucinewgame" or "uci" commands (I have tried both)
2. I send the ""setoption name UCI_Elo value xxx" ex: setoption name UCI_Elo value 1000"
3. If I have a FEN I then send "position fen the fenstring"
4a. If it the engine's turn to move I send "go movetime 250" where 250 is not a constant but something I get from the UI before starting the game
4b. If it's not the engine's turn, I make a move, adjust the FEN accordingly, send the FEN to the engine and then issue the go movetime command

step 4 is then simply repeated till the end of the game

For RodentIII I have tried both step 2 as above or replaced it with "setoption name PersonalityFile value amy.txt" where amy.txt is a school personalilty
(notice that I do not specify the full txt file's path, maybe I should). I have tried changing the NPS_BLUR with ELO_SLIDER in basic.ini when I use the UCI_Elo option.

I know that sending them FENs and the go movetime work because they send me the "bestmove xxxx" accordingly.

If anyone can help I will send any required additional details.


I am using Windows 10.

RioM2

Is possible to show fen or board ? For example after "setpos startpos moves e2e4 e7e5 d2d4". I want to know if there is some mistake somewhere and I want to check if the engine means the same position as me ?!