some discussion of GUI's

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

Moderators: hgm, Rebel, chrisw

User avatar
lucasart
Posts: 3232
Joined: Mon May 31, 2010 1:29 pm
Full name: lucasart

Re: some discussion of GUI's

Post by lucasart »

Rebel wrote:1. Can the engine force the GUI to draw? I hate those KQKQ | KRKR etc. endings spilling my computer time.
If you want to use your CPU time efficiently, don't use a GUI! Use cutechess-cli, and run games concurrently (N CPU, N-1 concurrent games 1 thread per engine, pondering OFF). GUIs typically slow you down and don't allow you to play concurrent games.

EGTB adjudication is planned in cutechess (CLI & GUI), and I see that the code layout is already there (using Gaviota TB).
Theory and practice sometimes clash. And when that happens, theory loses. Every single time.
User avatar
Don
Posts: 5106
Joined: Tue Apr 29, 2008 4:27 pm

Re: some discussion of GUI's

Post by Don »

lucasart wrote:
Rebel wrote:
Matthias Gemuh wrote:1. Can the engine force the GUI to draw? I hate those KQKQ | KRKR etc. endings spilling my computer time.
The first thing to do in order to avoid wasting your CPU time, is to not use a GUI! Use cutechess-cli, and run games concurrently (N CPU, N-1 concurrent games 1 thread per engine, pondering OFF).

EGTB adjudication is planned in cutechess (CLI & GUI), and I see that the code layout is already there (using Gaviota TB).
I concur, using a GUI just gets in the way and slows the entire process down.

I have never tried cutechess-cli as I have my own custom solution but I have heard many good things about it.

I have seen games adjudicated based on the scores reported by the engines themselves, which is clearly wrong. One rule I have heard is to call it a draw if both engines show a score within a few points of zero for N moves in a row. I hope that you don't plan to implement that rule or even allow for it.
Capital punishment would be more effective as a preventive measure if it were administered prior to the crime.
User avatar
Matthias Gemuh
Posts: 3245
Joined: Thu Mar 09, 2006 9:10 am

Re: some discussion of GUI's

Post by Matthias Gemuh »

Don wrote:Matthias,

Any support for Linux planned? Many of us yearn for a truly cross-platform GUI, windows, linux and mac. I occasionally use windows, primarily linux and even though I don't use Mac it should be supported too.

Don
Not possible, Don.

ChessGUI source code is not portable and I am linux-illiterate.


Matthias.
My engine was quite strong till I added knowledge to it.
http://www.chess.hylogic.de
User avatar
hgm
Posts: 27811
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: some discussion of GUI's

Post by hgm »

Don wrote:I concur, using a GUI just gets in the way and slows the entire process down.
In WinBoard this is solved by having an option -noGUI, which supprsses all display, title-bar and task-bar-icon updates during a game. With that option it is hardly slower than cutechess-cli, even for UCI engines. (which on cutechess-cli are also a lot slower than WB engines.) I prefer that over a pure comand-line application, because it still allows me to use the menus, for starting the tournament, monitoring its progress, and interfering with it whenever this is required.

WinBoard of course also offers concurrency, in a flexible way that allows you to adjust the number of games played in parallel dependent on what other things you want to do on the machine. (E.g. temporarily kill one of the playing agents because you wanted to do some web surfing, and restart it when you ae done.)

I am still in doubt about EGTB adjudication. It seems like a form of cheating. If both engines have EGTBs, the game will be finished in a flash anyway. If they don't, it is very questionable if they would in the end reach the result the EGTB tells it. (Of course WB has options to force adjudication of 'trivial daws', such as KRKR, KNKB etc, just in the way Don described for his tester.) If you ae wiling to interfere in this way with the engine play, I wonder if it really would be any more accurate on the average than just using some arbitrary heuristics. (Like KRPKR always draw, HRPPKR always win, etc.) Of couse these are highly inaccurate in individual cases, but that doesn't mean that on the average they can't be just as accuate for engines that are not specifically rigged to exploit the inaccuracies.
User avatar
Don
Posts: 5106
Joined: Tue Apr 29, 2008 4:27 pm

Re: some discussion of GUI's

Post by Don »

Matthias Gemuh wrote:
Don wrote:Matthias,

Any support for Linux planned? Many of us yearn for a truly cross-platform GUI, windows, linux and mac. I occasionally use windows, primarily linux and even though I don't use Mac it should be supported too.

Don
Not possible, Don.

ChessGUI source code is not portable and I am linux-illiterate.

Matthias.
Sorry to hear that. I have long considered building a high quality GUI with testing built in but I will only consider cross-platform solutions. Being a Linux person gives you a different perspective on things like this since we often feel slighted as do the Mac people. Also, a cross-platform solution is likely to be portable to Android and Mac which are Unix based operating systems and are becoming ubiquitous and would make your efforts more future proof.

May I ask which programming language / environment you are using for this?
Capital punishment would be more effective as a preventive measure if it were administered prior to the crime.
User avatar
Matthias Gemuh
Posts: 3245
Joined: Thu Mar 09, 2006 9:10 am

Re: some discussion of GUI's

Post by Matthias Gemuh »

Don wrote:...
May I ask which programming language / environment you are using for this?
ancient Borland C++ Builder 5.
My engine was quite strong till I added knowledge to it.
http://www.chess.hylogic.de
User avatar
Rebel
Posts: 6997
Joined: Thu Aug 18, 2011 12:04 pm
Full name: Ed Schröder

Re: some discussion of GUI's

Post by Rebel »

lucasart wrote:
Rebel wrote:1. Can the engine force the GUI to draw? I hate those KQKQ | KRKR etc. endings spilling my computer time.
If you want to use your CPU time efficiently, don't use a GUI! Use cutechess-cli, and run games concurrently (N CPU, N-1 concurrent games 1 thread per engine, pondering OFF). GUIs typically slow you down and don't allow you to play concurrent games.
That's agreed. For bullet games I am using cutechess but I also like to play [1+1] games and because I want see if things are sane I am using Arena. Else I probably never would had caught this beauty:

1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 O-O 8.
c3 d6 9. h3 Na5 10. Bc2 c5 11. d4 {+0.01/11 3} Qc7 {+0.15/11 4} 12. d5
{+0.05/11 4} Ne8 {+1.04/12 2} 13. a4 {+0.13/11 3} f6 {+1.67/11 4} 14. axb5
{+1.16/11 3} Nc6 {+1.76/11 3} 15. bxc6 {+4.71/11 4} Kf7 {+2.00/12 4} 16.
Nbd2 {+5.16/10 3} a5 {+2.31/12 3} 17. Nc4 {+5.65/10 2} Bf5 {+2.61/10 2} 18.
exf5 {+9.33/11 3} Rc8 {+1.60/10 4} 19. Rxa5 {+10.32/10 3} Rh8 {+2.38/9 1}
20. Qd3 {+10.59/9 2} Rf8 {+2.48/9 2} 21. b4 {+10.98/10 2} h6 {+3.23/9 1}
22. b5 {+11.64/9 1} Qb8 {+4.51/9 1} 23. b6 {+12.74/10 1} g6 {+5.21/9 1} 24.
fxg6+ {+17.44/9 1} Kg8 {+1.71/9 2} 25. g7 {+22.90/10 1} f5 {-0.14/11 7} 26.
gxf8=Q+ {+25.35/10 1} Bxf8 {-6.80/10 7} 27. Qxf5 {+25.80/9 1} Bg7 {-9.37/9
7} 28. Bxh6 {+29.01/8 1} e4 {-16.68/9 3 Arena Adjudication} 1-0

------

Besides you can speed-up Arena turning off the sliding graphics. In [1+1] games there hardly is any loss.
EGTB adjudication is planned in cutechess (CLI & GUI), and I see that the code layout is already there (using Gaviota TB).
Great.
User avatar
rvida
Posts: 481
Joined: Thu Apr 16, 2009 12:00 pm
Location: Slovakia, EU

Re: some discussion of GUI's

Post by rvida »

Matthias Gemuh wrote:
Don wrote:...
May I ask which programming language / environment you are using for this?
ancient Borland C++ Builder 5.
ouch!
User avatar
Matthias Gemuh
Posts: 3245
Joined: Thu Mar 09, 2006 9:10 am

Re: some discussion of GUI's

Post by Matthias Gemuh »

rvida wrote:
Matthias Gemuh wrote:
Don wrote:...
May I ask which programming language / environment you are using for this?
ancient Borland C++ Builder 5.
ouch!
No 'ouch', please ! 8-)

I may soon upgrade to hyper modern Embarcadero C++. :roll:
My engine was quite strong till I added knowledge to it.
http://www.chess.hylogic.de
Modern Times
Posts: 3553
Joined: Thu Jun 07, 2012 11:02 pm

Re: some discussion of GUI's

Post by Modern Times »

Matthias Gemuh wrote:
Don wrote:...
May I ask which programming language / environment you are using for this?
ancient Borland C++ Builder 5.
We still have bespoke in-house apps at work developed using Delphi, very hard to maintain now as hardly anyone knows it. They are of course gradually being re-written.
If Borland C++ Builder 5 works for you, all well and good :wink: