Moderator: Andres Valverde
I don't think this problem has grown any worse than it has always been. UCI engines have always remembered their settings.
The problem that people would inadvertantly play an engine with other settings than they intended always exists, also for specially tailored settings. So taking special provisions for default settings at best solves only part of the problem.
But I think a non-defaults suffix in the myname feature would be a very useful asset.
Michel wrote:In principle a WB engine has only one set of settings associated to it. Using the engine settings dialog is easy to change these and then you would not even know what the original settings were. So the engine author must provide a way to return to default settings. Since it is necessary anyway it seems reasonable to mandate a standard way of doing so.
After the engine is in a known state the tournament manager can of course set options as it sees fit (e.g. using -firstOptions/-secondOptions).
Yes but then you still need a way to enable default settings...
True. If they really cared to be 100% sure to run the engine with known settings, they can simply put all its options in the list. They would not even be dependent on the existence of a restore-defaults option then.
A standard way would only be needed when you wanted to provide something like a global GUI setting, comparable to hash size, that you could set to temporarily overrule all customization.
I think we should leave it up to the engine author how he wants to solve that. Personally, I would never allow users to alter settings of my engine permanently. So there would not even be a way to save them.
Any TM obviously would have to maintain data on each engine
Michel wrote:I guess in your point of view it would need to know which particular button(s?) would have to be pressed to return the engine to a known state.
I maintain that it would be much easier to provide a button with a standard name so that the engine configuration in the TM could just have a check box "Start from default settings" instead of forcing the tournament director to include some obscure button options that would have to be figured out separately for each engine.
You can compare this to the annoyance arising from the fact that there is no standard option for setting the number of threads in UCI.
But I guess only people that actually organize tournaments could give a well-founded opinion on this issue... If they think the current protocol is sufficient then there is nothing to argue.
H.G.Muller wrote:I don't see how (1) could be logically avoided. If you work in an environment where the settings of the engines are changed often, they might be wrong, and if you won't check they will stay wrong. If you never touch the settings other than at install, there is no need to check and you simply won't do it, of course.
H.G.Muller wrote:It is a decision of the engine author if he wants to support (3), and if it does, it is up to the user if he wants to make use of that. If the engine supports a "Save Settings" button you don't have to press it.
H.G.Muller wrote:As far as I am concerned, this whole thing is just a facility to configure the engine at install in a user-friendly way. Editing settings files is not of this time. If authors feel that their engines need settings files that must be changed by the user, we now offer them a way to do that editing through a user-friendly interface. (The real nerds, which know how to use a text editor, can still make the changes that way if they prefer so.)
If authors feel their engine does not need a configuration file, but does need some settings that can be interactively changed, those that want to play the engine automatically from a tournament manager can do so by passing the settings to the GUI as command-line option. That is the TM's equivalent of "opening the settings dialog". Any TM obviously would have to maintain data on each engine, if only to know how it is to be invoked. The setting of interactive options is part of this process.
H.G.Muller wrote:When two engines have to play each other with different interactive settings, they can be installed in PSWBTM twice, with different options, but can make use of the same executable in the same folder. (Unless there is a clash of, say, log files, which prevents an engine to run twice in the same folder.) I already do the same for engines that I want to run with different GUI options (e.g. time-odds). If you want to play several versions of an engine simultaneously with different settings that they consider permanent, you would have no choice than to make copies of it, in different folders. But also this can be done. So I think this satisfies your requirement (2).
H.G.Muller wrote:I guess the main point is that I cannot control what engines do remember from one run to the next. The only one in control of that is the engine author, and he can do as he pleases. If the author feels his engine should have settings that are permanent, we should respect that. But if you use the Engine Settings dialog to change such settings, they will of course be remembered the next run. If that is inconveient, it just means you are using the engine in a way different from what the author intended.
mikeleany wrote:As long as there are no problems with (3), then (1) could be taken care of if xboard had configuration files similar to polyglot's ini files.
Of course I know that this is ultimately up to the engine author. I just meant that the way xboard does things should discourage it. However, if engines only remember the settings if a "Save Settings" button is pressed, that's not quite as bad. But I would prefer that xboard rather than the engine were responsible for saving settings, and that it was done with standardized config files.
For clarification, are the command line options you're talking about xboard's command line options or the engine's command line options?
If they are xboard's command line options, that sounds a little messy, but still workable.
If they are the engine's then I suppose this part remains unchanged from previous versions of xboard. But unfortunately, engine authors may begin to abandon command line options because the options can be set through the GUI, and that brings us back to the problem of computer programs that call xboard being unable to set the options.
I would hope that making multiple copies of the same executable in different folders would never be necessary. xboard (not just the engine) should provide a way for the calling program to specify any and all engine options available through the GUI. If you do, then I see no reason for multiple copies of the same executable. If you don't, that's a problem.
I share your dislike for "Save Settings on Exit" type of persistence, and even more persistence types where a change would be committed to file automatically immediately.
Well, in general editors do not save changes without at least prompting you.
Michel wrote:Well, in general editors do not save changes without at least prompting you.
Yes but on the other hand most programs remember settings without being asked explicitly to do so.
Look for example at the preference window in Firefox. Or gconf-editor.
Personally I hate it when a program forgets its settings after restart.
To be clear my latest version of PG has persistence disabled.
H.G.Muller wrote:mikeleany wrote:As long as there are no problems with (3), then (1) could be taken care of if xboard had configuration files similar to polyglot's ini files.
I don't see how that would help. What was in the configuration files could be wrong, if it is is the place were settings are stored and when settings are often changed. So they would have to be checked. It really does not solve anything at all.
H.G.Muller wrote:Of course I know that this is ultimately up to the engine author. I just meant that the way xboard does things should discourage it. However, if engines only remember the settings if a "Save Settings" button is pressed, that's not quite as bad. But I would prefer that xboard rather than the engine were responsible for saving settings, and that it was done with standardized config files.
Well, WinBoard does not keep a database of engines, let alone information on their settings. It would be larely wasted effort to maintain such a database in WinBoard, as the information could then still not be used to select engines for a tournament, and would have to be duplicated in the tournament manager.
H.G.Muller wrote:I share your dislike for "Save Settings on Exit" type of persistence, and even more persistence types where a change would be committed to file automatically immediately.For clarification, are the command line options you're talking about xboard's command line options or the engine's command line options?
If they are xboard's command line options, that sounds a little messy, but still workable.
If they are the engine's then I suppose this part remains unchanged from previous versions of xboard. But unfortunately, engine authors may begin to abandon command line options because the options can be set through the GUI, and that brings us back to the problem of computer programs that call xboard being unable to set the options.
They are indeed GUI command-line options. The option features reported by the first engine are matched by XBoard with the string given in the -firstOptions argument, and if there is a match, the value specified in the -firstOptions s immediatey sent to the engine.
H.G.Muller wrote:I would hope that making multiple copies of the same executable in different folders would never be necessary. xboard (not just the engine) should provide a way for the calling program to specify any and all engine options available through the GUI. If you do, then I see no reason for multiple copies of the same executable. If you don't, that's a problem.
Well, some engines cannot even run twice in the same folder even with the same settings (e.g. for a time-odds match). For engines that have configurable options in an ini file of a fixed name in its own folder, I don't see any way to run two versions without making a copy.
H.G.Muller wrote:For engines that can be configured through the xboard interface it would be possible to run two versions of a single executable by passing the value of options that you want to differ from TM via GUI to engine. The engine would have to occur twice in the TM database, with different GUI arguments. An advanced TM might have its own graphical interface to enter the settings for the installed engines in its database, a less advanced one might require you to explicitly write out the GUI options for configuring the engine. But there is nothing that the GUI could do here to help. Fortuately installing multiple copies of the same engine with different settings is not something a typical user would do.
What I detest though, is if engine settings are automatically overwritten with no warning, especially if there's no option to copy the settings before modifying them.
Return to Winboard and related Topics
Users browsing this forum: No registered users and 9 guests