Engines with interfaces for slightly nerdish people

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

User avatar
hgm
Posts: 27790
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Engines with interfaces for slightly nerdish people

Post by hgm »

Peter Berger wrote:I looked for it in the Stockfish engine settings and nowhere else. I didn't think of it as something that could be expected to be a general GUI setting, and I still feel this way.
I think there are objective reasons for why this would be a very poor design. For one, if you would want to run a 4CPU tournament with 20 engines after having run a 1CPU tournament you would have to alter the setting forall 20 engines separately. There is no logical difference between the number of search threads and parameters like hash size or ponder on/off. Why would you want to set an option all engines have in common separately for each engine? Usually the amount of hash and number of cores you want the engine to use are dictated by your hardware, and not dependent on what engine you use.
Yes, this would have helped here.
Actually I'd still prefer to have this as a specific engine setting anyway, but it is not for me to design the program . :)
Well, user feedback is always appreciated. There are many things WinBoard can do that I never do myself. So it is often hard to know what works conveniently and what doesn't. Many features already existed before I got involved with WinBoard, so it seemed prudent to adopt an "if it ain't broken, don't fix it" policy, and only change things when there are complaints.

For WinBoard 4.9 the Common Settings dialog will be moved to the engine menu, though, as I think this would be the more logical place.
Want to hear the truth? No one and I mean REALLY NO ONE reads and uses these indexed helpfiles these days , and this is true for any program less complex than Microsoft Word IMHO :) .
So yes, in case you decide to give up on this feature completely I bet it will take MONTHS before you even get a report about it ;).
This confirms what I was already afraid of (and is why I haven't updated WinBoard's helpfile for years).
PS: A real bug report from my second new WinBoard experience. If I start WinBoard in "Play against engine mode" under the Engine rider it displays the two used Engines at the bottom ( in my case Stockfish and Fruit 2.1) . If I switch between them 2 or 3 times by clicking on said entries WinBoard will definiteky crash ( reproducable behaviour under Windows 10)
I tried to reproduce this under Windows 8.1, but I could not. What exactly does 'crash' mean hear? You get the dreaded Windows popup "winboard.exe stopped working"? Or does WinBoard show a fatal-error popup by itself? You start switching between the engines before you did anything else (such as switching to analysis mode, or setting up a position), just selecting engines from the comboboxes in the startup dialog (and were these also Fruit and Stockfish)?

Can you post here how your engine list looks? (By selecting "Edit Engine List" from the Engine menu, and copy-pasting the contents of the Edit box this pops up.) What the menu items do is search the displayed name in the engine list, and then parse the corresponding line as options. So the behavior could depend on how the Fruit 2.1 and Stockfish lines look there.
User avatar
MikeB
Posts: 4889
Joined: Thu Mar 09, 2006 6:34 am
Location: Pen Argyl, Pennsylvania

Re: Engines with interfaces for slightly nerdish people

Post by MikeB »

hgm wrote:
MikeB wrote:Yes it does. Jus the the GUI does not let you set it to .17 for reasons HGM explain. Likewise a base of 10 seconds need to be set through the the editing the trn file as well.
Actually the latter should be counted as a TODO of the GTK port; in the Xaw version you could type 0:10 in the applicable field of the Time Control dialog, and it would understand it. GTK has specialized spin widgets, however, and they refuse you type an arbitrary text in there.

In most cases you could simply define a time odds of (say) 60 to enter the base time in seconds and the increment in 1/60 sec. But the time odds are engine-specific options, so I am not sure they would work in tournament mode.

Perhaps I should simply add a checkbox option in the Time Control dialog 'divide entered times by 60' to get around the problem that the GTK spins do not accept non-integers?
+1 I like that.
User avatar
hgm
Posts: 27790
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Engines with interfaces for slightly nerdish people

Post by hgm »

OK, the latest commit on hgm.nubati.net now implements this.

But it does not have separate Thread controls in the Engine Settings dialogs. I cannot help seeing such 'core odds' games as a specialist application, for which you can expect people to go 'the extra mile'. I mean, where would it stop? Would you also want it possible to play 'hash-size odds' games, or 'tablebase-cache odds' games?

The point is that there already exits a not-so-difficult kludge to force engines to run with other settings than the common GUI settings. Just install the engine with the extra XBoard option -initString to overrule the settings commands that the GUI would send. (Which would have been sent before the "new" command.) E.g.

-initString "memory 64\ncores 2\nnew\nrandom"

This can be added through the Edit Engine List menu dialog of the GUI, so it is not really a big deal.
Rochester
Posts: 55
Joined: Sat Feb 20, 2016 6:11 am

Re: Engines with interfaces for slightly nerdish people

Post by Rochester »

hgm wrote:But it does not have separate Thread controls in the Engine Settings dialogs. I cannot help seeing such 'core odds' games as a specialist application, for which you can expect people to go 'the extra mile'. I mean, where would it stop? Would you also want it possible to play 'hash-size odds' games, or 'tablebase-cache odds' games?

The point is that there already exits a not-so-difficult kludge to force engines to run with other settings than the common GUI settings. Just install the engine with the extra XBoard option -initString to overrule the settings commands that the GUI would send. (Which would have been sent before the "new" command.) E.g.

-initString "memory 64\ncores 2\nnew\nrandom"

This can be added through the Edit Engine List menu dialog of the GUI, so it is not really a big deal.
Task of gui is to make easy for human. Hocus-pocus is better for programmer. He no need gui. why not so easy in winboard i ask kindly. programmer decides! but programmer must listen to user I say.
User avatar
hgm
Posts: 27790
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Engines with interfaces for slightly nerdish people

Post by hgm »

You can always do more when you know tricks than when you don't. It is just a matter of what the GUI is designed to do for the intended users. You will always be able to think of some crazy thing that cannot be done, no matter how advanced the GUI.

Depth-odds, core-odds, or hash-size-odds games are just not amongst the design goals of WinBoard, as virtually no one would want to do those. Most people want to do interactive analysis, play on FICS. Only very few play engines against each other, and when they do, they hardly ever want one of them handicapped compared to the other.

At some point simplicity and with it the ability of new users to learn how to use the software will be compromised, when you start adding zillions of adjustable parameters for things just because they are possible, but which no one would ever want to do.