UCI Intermediator

An ICS Emulator for YAHOO Chess
Locked
User avatar
nice_fox
New Member
New Member
Posts: 8
Joined: 25 Aug 2010 10:14

UCI Intermediator

Post by nice_fox »

Hi everyone
I'm one of the YaY users. One of my old and ancient problem with YaY was that i couldn't use fritz or any good GUI with that and my only choice for me was Winboard+Polyglot. This had some disadvantages, i lost too many games on time because winboard is not good on timing and my net delay was additional reason for that. second problem is about changing the book and/or engine, inorder to change this components i need to close YAY edit polyglot.ini and then start again...

I developed a small free tool "UCI Intermediator" for these problems. This just act as uci engine and has its own settings for engine, gives the user ability to use up to 3 polyglot bin books, has some parameters to modify timing information while going to pass to engine, ability to change engine/book online (changing engine not fully tested yet). It has also has the feature to send commands to Engine or GUI that can be used by advanced users. Users can select opening moves handy by double clicking available moves when prompted. I hope this can help some other peoples with same situation as me.

If you find a bug or any problems please let me know.

http://www.2shared.com/file/ioqROryz/Intermediator.html
Last edited by nice_fox on 13 Aug 2013 20:09, edited 1 time in total.

User avatar
freddie
Member
Member
Posts: 17
Joined: 17 Jul 2013 22:55

Re: UCI Intermediator

Post by freddie »

it would be helpful if you shows us how to use your tool.

User avatar
nice_fox
New Member
New Member
Posts: 8
Joined: 25 Aug 2010 10:14

Re: UCI Intermediator

Post by nice_fox »

It's simple:

1-download the ZIP file from here: http://www.2shared.com/file/SCR87Omo/Intermediator.html
2-extract the files "Intermediator.exe" and "intermediator.ini" to "C:\YaY_Ultimate_3\Winboard_X"
3-change engine name in polyglot.ini to intermediator.exe
4-edit settings and defaults in intermediator.ini. specially don't forget to change engine name on it

thats all.

User avatar
freddie
Member
Member
Posts: 17
Joined: 17 Jul 2013 22:55

Re: UCI Intermediator

Post by freddie »

thx. how about time management section? what are we suppose to put in each box. let's say our engine is houdini3 pro

User avatar
matematiko
Co-Admin
Co-Admin
Posts: 1511
Joined: 17 Oct 2007 13:32
Location: Texas USA

Re: UCI Intermediator

Post by matematiko »

nice_fox wrote:One of my old and ancient problem with YaY was that i couldn't use fritz or any good GUI with that and my only choice for me was Winboard+Polyglot.
Hundreds of people use and have used Fritz with YaY

nice_fox wrote:This had some disadvantages, i lost too many games on time because winboard is not good on timing and my net delay was additional reason for that.
Winboard and polyglot are the best choice for timing.
Auto232 protocol (the one used by Chessbase programs like Fritz) does not support time update and therefore does not compensate for lag. Losing on time when using WinBoard-polyglot is the user's fault for not configuring correctly.
nice_fox wrote: second problem is about changing the book and/or engine, inorder to change this components i need to close YAY edit polyglot.ini and then start again...
Not entirely true, but I will not reveal my secrets. Even if this is true, what's the big deal? The best engine is Houdini and how often you want to change books? Instead of changing books every time you guys lose, take the time to tune your book(s)
nice_fox wrote: I developed a small free tool "UCI Intermediator" for these problems. This just act as uci engine and has its own settings for engine, gives the user ability to use up to 3 polyglot bin books,
How exactly this works? What happens when the three books have different weights for the same move? Please post this in TalkChess.com and WinBoard forum... they will be very interested in your program and the code.
nice_fox wrote: has some parameters to modify timing information while going to pass to engine
Inbetween.exe does exactly the same, but since I did not try this program, I give it the benefit of the doubt that it might do a better job than Inbetween.exe.


I do really welcome new ideas and I am happy to see fresh minds at work. But I found very suspicious that a person that can not make Fritz to work with YaY (specially when the tutorial explain it very clear and when hundreds of others can) has the capability to write such a complicated program (three books at once? etc.)

I do not endorse this program and caution all forum members about its use. Use at your own risk. It might be a trojan, Virus, Keylogger, etc, etc.

Based on my comments above, I wouldn't even download it, yet alone try it. But who knows, this might be a good thing, for those who tried or are going to try, please post your experiences.

Regards,
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
nice_fox
New Member
New Member
Posts: 8
Joined: 25 Aug 2010 10:14

Re: UCI Intermediator

Post by nice_fox »

freddie wrote:thx. how about time management section? what are we suppose to put in each box. let's say our engine is houdini3 pro
There is some difference between polyglot+Winboard and chessbase or fritz like programs time controls. Seems to me Winboard+Polyglot has not any control on timing. It passes the time information to the engine and lets engine to decide when to stop thinking and report best move. But on chessbase programs GUI decides about timing. It send "stop" to the engine (according to UCI protocol engine should stop thinking and reply with "bestmove") and plays the best move reported by it. Thats why we see polyglot+winboard players lost on time too often on yahoo. i dont know what can be named "lack of GUI control" or "bad engine managment on time" or "net lags". But anyway it is what i see on yahoo games.
How UCI Intermediator can help about this?
There is a feature on it that subtract a value that you give from the remaining time and another value from increment time.

lets say we are playing 1 min game as white and there is no book. The first "go" command will looks like this:
go wtime 60000 btime 60000 ponder

if you have these setting on ini file

TimeManegerEnable=1
WhiteIncrementTime=200
WhiteTime=25000
WhiteTimeDecrementEnable=1

This will be the "go" command that will passed to engine (inctime will be ignored because the game hasn't inc time):
go wtime 35000 btime 60000 ponder

This will cause to engine to make its decision faster because the game is 35 sec game not 1 min. (if time falls below the 35000 game will continue with reporting 50 ms to engine)

There is also another feature that send movetime xxxx to engine. It will cause engine to move on specified time (millisecond). This is usefull sometimes to set handy specially when two sides are on draw situation and programs continue thinking a long time on moves stupidly.

User avatar
freddie
Member
Member
Posts: 17
Joined: 17 Jul 2013 22:55

Re: UCI Intermediator

Post by freddie »

Image
this is the image of the intermediator. and these are the only choices for settings. if we were to use it for fritz, are we supposed to place the exe and ini in the chessbase section again? just like we do in the polyglot section?

User avatar
nice_fox
New Member
New Member
Posts: 8
Joined: 25 Aug 2010 10:14

Re: UCI Intermediator

Post by nice_fox »

matematiko wrote: Hundreds of people use and have used Fritz with YaY
years ago i purchased fritz 12 dvd but i couldnt find a feature to connect it with yay. It seems there was a feature on previous versions such as 11. but i couldnt find any dowanload'able fritz 11 software on the net. I also asked some people on yahoo to help but most of them dont like to help others about this.
matematiko wrote:Winboard and polyglot are the best choice for timing.

Auto232 protocol (the one used by Chessbase programs like Fritz) does not support time update and therefore does not compensate for lag. Losing on time when using WinBoard-polyglot is the user's fault for not configuring correctly.
i dont know how to configure that. Would you please give some advise about that?

all i know about time control on yay i think there was a parameter in ini file named fasttime. I tried that. That was usefull sometimes but i'm not saticified because it reports 70 ms time to the GUI/Engine that was not enought to play wise move. Here i using 150ms as minimum thinking time.
matematiko wrote:Not entirely true, but I will not reveal my secrets. Even if this is true, what's the big deal? The best engine is Houdini and how often you want to change books? Instead of changing books every time you guys lose, take the time to tune your book(s)
I'm just playing for fun. I like to test different books/engines/settings... that was a headache closing yay and restarting it for just changing book or change setting in polyglot.ini for example hash size of engine or threads count. now i can change these settings easily (not while engine thinking) with a uci command "setoption name hash value 1024" or "setoption name Threads value 4" ...

I think you professionals make book and tunning them with better GUI's like fritz. I didn't either tried these ways so i couldn't say anything about it.
matematiko wrote: How exactly this works? What happens when the three books have different weights for the same move? Please post this in TalkChess.com and WinBoard forum... they will be very interested in your program and the code.
3 methods available by this tool. double clicking on book moves handy (you decide wich book move to play). playing the move with best weight or playing random move from the available book moves.
matematiko wrote: I do not endorse this program and caution all forum members about its use. Use at your own risk. It might be a trojan, Virus, Keylogger, etc, etc.
Based on my comments above, I wouldn't even download it, yet alone try it. But who knows, this might be a good thing, for those who tried or are going to try, please post your experiences.
That's not a heavy commercial software for sell. I developed this for fun and my own use and now I just like to let anyone interested to use it. Naturally As programmer i don't like to here it might be a trojan, virus, keylogger, etc .. all I can say its clean. Users can use it at their own risk, or they may want to do security considerations such as virustotal, antivirus, analyse and monitoring tools....

Regards.

User avatar
nice_fox
New Member
New Member
Posts: 8
Joined: 25 Aug 2010 10:14

Re: UCI Intermediator

Post by nice_fox »

freddie wrote:Image
this is the image of the intermediator. and these are the only choices for settings. if we were to use it for fritz, are we supposed to place the exe and ini in the chessbase section again? just like we do in the polyglot section?
Runing exe file directly is useless. Just give it to your interface as UCI engine. The settings and real engine will be in Intermediator.ini. have you ever been used aquarium book adapter? if yes it acts on the same way.
This tool will ignore all engine settings that comes from GUI so the only settings will be in Intermediator.ini file.
You can change time or other settings on runtime but put your default values in Intermediator.ini

User avatar
freddie
Member
Member
Posts: 17
Joined: 17 Jul 2013 22:55

Re: UCI Intermediator

Post by freddie »

it will be helpful for us if you give us the detailed steps how to set this up using fritz, like fritz12 or fritz13. yes, i have used the aquarium adapter but it gave me problems in time management especially 1/0 that you just mentioned.

User avatar
Waldemar
Co-Admin
Co-Admin
Posts: 2482
Joined: 24 Jan 2008 23:50
Location: Brazil
Contact:

Re: UCI Intermediator

Post by Waldemar »

Use Fixed Move Time seems interesting. So with Intermediator we can decide how long engine thinks and moves? Or make engine thinks different time of real yahoo table timer?

"""This will cause to engine to make its decision faster because the game is 35 sec game not 1 min. (if time falls below the 35000 game will continue with reporting 50 ms to engine)"""
4ut0 ch355 m3mb3r WALDEMAR...g00d g4m3 f0r 4ll...y4h000000! :ok

User avatar
freddie
Member
Member
Posts: 17
Joined: 17 Jul 2013 22:55

Re: UCI Intermediator

Post by freddie »

i hope the engine will not perform the way it performs when you hit fasttime. where the engine's thinking becomes weak.

User avatar
nice_fox
New Member
New Member
Posts: 8
Joined: 25 Aug 2010 10:14

Re: UCI Intermediator

Post by nice_fox »

freddie wrote:it will be helpful for us if you give us the detailed steps how to set this up using fritz, like fritz12 or fritz13. yes, i have used the aquarium adapter but it gave me problems in time management especially 1/0 that you just mentioned.
I dont have fritz installed. Maybe in the future i tested this under fritz. But for now it only tested with "Chessmaster Grandmaster Edition+Polyglot" and "Winboard+Polyglot with YaY". I think it should work under fritz to. If there is any problem let me know. How you define UCI engine to your GUI. Give this to your GUI as an engine and then configure ini file(set real engine file name and other settings and defaults).

in YaY i'm using the shortcut named "Winboard_X with Polyglot and Rybka2.lnk" changed the engine name in polyglot.ini file to Intermediator and have all my settings on Intermediator.ini file.

User avatar
nice_fox
New Member
New Member
Posts: 8
Joined: 25 Aug 2010 10:14

Re: UCI Intermediator

Post by nice_fox »

Waldemar wrote:Use Fixed Move Time seems interesting. So with Intermediator we can decide how long engine thinks and moves? Or make engine thinks different time of real yahoo table timer?

"""This will cause to engine to make its decision faster because the game is 35 sec game not 1 min. (if time falls below the 35000 game will continue with reporting 50 ms to engine)"""
Use Fixed Move Time has its own disadvantages. I think it can not take the benefits of pondering (not sure). but anyway engine will move on specified time. there is also a button named "force move" it send "stop" command to engine and cause to play the best move that engine found till now.

User avatar
nice_fox
New Member
New Member
Posts: 8
Joined: 25 Aug 2010 10:14

Re: UCI Intermediator

Post by nice_fox »

freddie wrote:i hope the engine will not perform the way it performs when you hit fasttime. where the engine's thinking becomes weak.
not sure but as i remember from years ago enabling fasttime on YaY cause to report remaining time 70ms to engine its similar to what i did on Intermediator the difference is on intermediator minimum think time for engine is 150ms. Its better than YaY but will fail some times anyway. Maybe its better to make this value optional for the user.

Locked