What do you mean by "internal parameters" of the engine? Is that the engine-defined options? And is your engine UCI or CECP?
For UCI ngines you can alter the settings through the Engine #1 Settings menu dialog, and use the "Polyglot Save" button to have the settings remembered for future settings. The latest XBoard development version also has a button in that dialog for saving settings of CECP engines. (Not sure when that was first introduced.) To make sure the engine uses the GUI opening book you can use an extra argument -firstXBook on the XBoard command line.
On-line engine blitz tourney November
Moderators: hgm, Rebel, chrisw
-
- Posts: 27811
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
-
- Posts: 253
- Joined: Mon Nov 16, 2020 12:13 pm
- Full name: Manuel Rivera
Re: On-line engine blitz tourney November
Yeah you are right about the parameters. It's UCI engine. I did quick tests so I don't remember this polyglot sabe button so I will check that ! Thx !hgm wrote: ↑Mon Nov 23, 2020 2:53 pm What do you mean by "internal parameters" of the engine? Is that the engine-defined options? And is your engine UCI or CECP?
For UCI ngines you can alter the settings through the Engine #1 Settings menu dialog, and use the "Polyglot Save" button to have the settings remembered for future settings. The latest XBoard development version also has a button in that dialog for saving settings of CECP engines. (Not sure when that was first introduced.) To make sure the engine uses the GUI opening book you can use an extra argument -firstXBook on the XBoard command line.
Raspberry Pi4 bot : https://lichess.org/@/BetterAnalyze
-
- Posts: 1564
- Joined: Thu Jul 16, 2009 10:47 am
- Location: Almere, The Netherlands
Re: On-line engine blitz tourney November
You have to be careful with the Polyglot safe button, instead of updating settings in polyglot.ini it writes a new polyglot.ini and that is something that you want if you have engine settings in polyglot.ini that are not recognized by Winboard/Xboard.
Winboard only has very basic engine settings.
I stumbled a few times upon this, usually I just edit polyglot.ini directly to avoid this.
Winboard only has very basic engine settings.
I stumbled a few times upon this, usually I just edit polyglot.ini directly to avoid this.
-
- Posts: 253
- Joined: Mon Nov 16, 2020 12:13 pm
- Full name: Manuel Rivera
Re: On-line engine blitz tourney November
Thanks for the info Joost. I will dig into that and make some testsJoost Buijs wrote: ↑Mon Nov 23, 2020 7:41 pm You have to be careful with the Polyglot safe button, instead of updating settings in polyglot.ini it writes a new polyglot.ini and that is something that you want if you have engine settings in polyglot.ini that are not recognized by Winboard/Xboard.
Winboard only has very basic engine settings.
I stumbled a few times upon this, usually I just edit polyglot.ini directly to avoid this.
Raspberry Pi4 bot : https://lichess.org/@/BetterAnalyze
-
- Posts: 27811
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: On-line engine blitz tourney November
I am not sure what you mean by "very basic engine settings". The Engine Settings dialogs show every engine-defined option, and Polyglot takes care of the UCI standard options such as Hash, Ponder and UCI_AnalyzeMode automatically.Joost Buijs wrote: ↑Mon Nov 23, 2020 7:41 pm You have to be careful with the Polyglot safe button, instead of updating settings in polyglot.ini it writes a new polyglot.ini and that is something that you want if you have engine settings in polyglot.ini that are not recognized by Winboard/Xboard.
Winboard only has very basic engine settings.
I stumbled a few times upon this, usually I just edit polyglot.ini directly to avoid this.
Besides, you should never use a polyglot.ini file. Just tick UCI when you register the engine with the Load Engine dialog, or include -fUCI when you specify the engine from the command line.
-
- Posts: 1564
- Joined: Thu Jul 16, 2009 10:47 am
- Location: Almere, The Netherlands
Re: On-line engine blitz tourney November
Than this probably happens because I don't use the -fUCI option at all and treat polyglot as being the chess program with -fcp.hgm wrote: ↑Mon Nov 23, 2020 11:32 pmI am not sure what you mean by "very basic engine settings". The Engine Settings dialogs show every engine-defined option, and Polyglot takes care of the UCI standard options such as Hash, Ponder and UCI_AnalyzeMode automatically.Joost Buijs wrote: ↑Mon Nov 23, 2020 7:41 pm You have to be careful with the Polyglot safe button, instead of updating settings in polyglot.ini it writes a new polyglot.ini and that is something that you want if you have engine settings in polyglot.ini that are not recognized by Winboard/Xboard.
Winboard only has very basic engine settings.
I stumbled a few times upon this, usually I just edit polyglot.ini directly to avoid this.
Besides, you should never use a polyglot.ini file. Just tick UCI when you register the engine with the Load Engine dialog, or include -fUCI when you specify the engine from the command line.
I just use this software and I never looked at what part of the UCI protocol is translated by polyglot and what part Winboard natively supports.
The whole concept of translating between two different protocols is flawed, UCI is the major protocol in use, it would be a lot better to have native UCI support in Winboard instead of translating to CECP with polyglot or UCI2WB.
Maybe I should use it differently, but still I don't like it that it wipes and overwrites polyglot.ini completely when using the save button instead of only updating the settings that are changed.
-
- Posts: 27811
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: On-line engine blitz tourney November
WinBoard doesn't support anything natively; it only communicates with the UCI engine through Polyglot. Communication between WinBoard and the adapter is in CECP, between the adapter and the engine in the foreign protocol.
I don't know Polyglot very well. But it seems that the Polyglot Save command is indeed not suitable for use with a hand-written polyglot.ini file. The latter is not recommended, and only supported for backward compatibility, though. In particular to allow the use of Polyglot with interfaces that do not support the CECP option feature, so that engine settings cannot be controlled through the CECP interface, but must be provided in an ini file. Under such conditions Polyglot Save cannot be activated at all (as it is a CECP option feature), and this is probably why it was not tailored for use in this case.
A quick look at the source code shows that the Save command suppresses the saving of some options. In particular the options that are controlled in other ways through the CECP interface (like Ponder, Hash, Threads, UCI_Analyze...). It would be pointless to save these in the ini file, as even when they are there, the setting would be overruled by how the GUI wants to set them.
What probably hurt you is that it also suppresses writing of the engine name and directory. The way XBoard uses polyglot these are specified through the command line, and the name of the ini file is derived from the engine name. So it would never be possible to access the ini file in the first place if the engine name wasn't already known. I suppose it would have been better to make the saving of engine file and directory dependent on whether these were given on the command line, or not. But, like I said, the Polyglot Save option was never intended for use with a user-supplied ini file.
But I want to phase out Polyglot anyway; the WinBoard-AA beta package relies on UCI2WB instead.
I do like the modular design a lot, where the complexity of handling all kinds of different protocols is outsourced to adapters, which can be changed as needed.
So the bottom line is that it is OK to use Polyglot Save, as long as you don't hack the system in an unnatural way by editing ini files.
I don't know Polyglot very well. But it seems that the Polyglot Save command is indeed not suitable for use with a hand-written polyglot.ini file. The latter is not recommended, and only supported for backward compatibility, though. In particular to allow the use of Polyglot with interfaces that do not support the CECP option feature, so that engine settings cannot be controlled through the CECP interface, but must be provided in an ini file. Under such conditions Polyglot Save cannot be activated at all (as it is a CECP option feature), and this is probably why it was not tailored for use in this case.
A quick look at the source code shows that the Save command suppresses the saving of some options. In particular the options that are controlled in other ways through the CECP interface (like Ponder, Hash, Threads, UCI_Analyze...). It would be pointless to save these in the ini file, as even when they are there, the setting would be overruled by how the GUI wants to set them.
What probably hurt you is that it also suppresses writing of the engine name and directory. The way XBoard uses polyglot these are specified through the command line, and the name of the ini file is derived from the engine name. So it would never be possible to access the ini file in the first place if the engine name wasn't already known. I suppose it would have been better to make the saving of engine file and directory dependent on whether these were given on the command line, or not. But, like I said, the Polyglot Save option was never intended for use with a user-supplied ini file.
But I want to phase out Polyglot anyway; the WinBoard-AA beta package relies on UCI2WB instead.
I do like the modular design a lot, where the complexity of handling all kinds of different protocols is outsourced to adapters, which can be changed as needed.
So the bottom line is that it is OK to use Polyglot Save, as long as you don't hack the system in an unnatural way by editing ini files.
-
- Posts: 253
- Joined: Mon Nov 16, 2020 12:13 pm
- Full name: Manuel Rivera
Re: On-line engine blitz tourney November
A little feedback since i have tested this "Polyglot save" button.Joost Buijs wrote: ↑Mon Nov 23, 2020 7:41 pm You have to be careful with the Polyglot safe button, instead of updating settings in polyglot.ini it writes a new polyglot.ini and that is something that you want if you have engine settings in polyglot.ini that are not recognized by Winboard/Xboard.
Winboard only has very basic engine settings.
I stumbled a few times upon this, usually I just edit polyglot.ini directly to avoid this.
For me it works as i wanted. Since i don't need to put extra options in the ini file i use this option to save the engine internal parameters (like Contempt or Slow Mover + the polyglot book , and i use the GUI common options to save other parameters like Threads, Hash, EGTB path, EGTB hash etc... (Xboard 4.9.x)
When i connect again with same engine the parameters i filled are the same.
If you wanna do some games on the server against my little Pi 4 send me a pm
Raspberry Pi4 bot : https://lichess.org/@/BetterAnalyze
-
- Posts: 1564
- Joined: Thu Jul 16, 2009 10:47 am
- Location: Almere, The Netherlands
Re: On-line engine blitz tourney November
Using external adapters to support different protocols might be easier to maintain, but it also has some drawbacks like needing two pipes instead of one for communication (which slows the communication down), and the extra translation step adds complexity which makes the chance that an error will occur larger IMHO.hgm wrote: ↑Tue Nov 24, 2020 12:58 pm I do like the modular design a lot, where the complexity of handling all kinds of different protocols is outsourced to adapters, which can be changed as needed.
So the bottom line is that it is OK to use Polyglot Save, as long as you don't hack the system in an unnatural way by editing ini files.
Since Polyglot is an external adapter the only natural way to change settings is to edit it's ini file, adding the option to change UCI settings to a GUI that doesn't support UCI natively seems more like a hack to me.
Last edited by Joost Buijs on Wed Nov 25, 2020 9:01 am, edited 1 time in total.
-
- Posts: 1564
- Joined: Thu Jul 16, 2009 10:47 am
- Location: Almere, The Netherlands
Re: On-line engine blitz tourney November
There are always some programs logged on and open to play, so if you want to test if everything works you can try to match one of these.Pi4Chess wrote: ↑Tue Nov 24, 2020 11:46 pmA little feedback since i have tested this "Polyglot save" button.Joost Buijs wrote: ↑Mon Nov 23, 2020 7:41 pm You have to be careful with the Polyglot safe button, instead of updating settings in polyglot.ini it writes a new polyglot.ini and that is something that you want if you have engine settings in polyglot.ini that are not recognized by Winboard/Xboard.
Winboard only has very basic engine settings.
I stumbled a few times upon this, usually I just edit polyglot.ini directly to avoid this.
For me it works as i wanted. Since i don't need to put extra options in the ini file i use this option to save the engine internal parameters (like Contempt or Slow Mover + the polyglot book , and i use the GUI common options to save other parameters like Threads, Hash, EGTB path, EGTB hash etc... (Xboard 4.9.x)
When i connect again with same engine the parameters i filled are the same.
If you wanna do some games on the server against my little Pi 4 send me a pm