Help us make Cute Chess GUI better

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

Moderators: hgm, Rebel, chrisw

User avatar
ilari
Posts: 750
Joined: Mon Mar 27, 2006 7:45 pm
Location: Finland

Re: Help us make Cute Chess GUI better

Post by ilari »

Graham Banks wrote:I'd like the option of using tablebases adjudication. 8-)
That's been on my TODO list for a long while. At the moment we don't consider it essential for version 1.0, but a later version will have support for Gaviota tablebases.

Big thanks to Miguel Ballicora for releasing the probing code with a very friendly license.
User avatar
Don
Posts: 5106
Joined: Tue Apr 29, 2008 4:27 pm

Re: Help us make Cute Chess GUI better

Post by Don »

ilari wrote:
Don wrote:Keep up the good work. A really top quality Linux GUI is a dream of mine!

Don
It's a dream of mine too, otherwise I never would've taken on such a crazy challenge. There are a couple of beautifully designed chess GUIs for Linux (eg. PyChess), but they always seem to lack advanced features and the internals don't scale well to do bigger things. I think Cute Chess is going to be different largely because it's 3 projects in one (the library, the GUI and the CLI tool). After implementing new features in the library we push them to the CLI tool where we can do rapid testing on a massive scale, and later we can enable those features in the GUI and be confident that they'll work.
Don wrote:A feature I would like to see - analysis mode which visually shows shows the first 2 moves in the PV with arrows or some indicator. This should of course be optional. It's a real benefit to quick analysis as you see at a glance what the computer plans and the expected response to it.
That's a nice idea and it would be pretty easy to implement too. I'm not yet sure if analyzing positions will make it to v1.0, but it will definitely be supported later, along with your idea (or a variation of it).
Of course there are any number of features that people will want so it's always good to focus on the basics first and prioritize. But I think a lot of people use interfaces for analyzing games and it's way easier that time controls and auto testing to implement. So I hope it's sooner rather than later !

I downloaded and compiled it for Linux - the makefile doesn't handle installing the libraries so I had to manually install them to make it work - but it does work. Don't give up!

Don
Capital punishment would be more effective as a preventive measure if it were administered prior to the crime.
User avatar
ilari
Posts: 750
Joined: Mon Mar 27, 2006 7:45 pm
Location: Finland

Re: Help us make Cute Chess GUI better

Post by ilari »

Adam Hair wrote:1) The ability to stop a tournament and then restart from the stopping point.
Will be supported once we design a file format for the tournaments. The format will be very similar to the one used for engine configurations (engines.json).
Adam Hair wrote:2) The ability to filter and remove games from a database. Sometimes, an engine turns out to be buggy and I wish to remove its games from a tournament database. I can do this with Arena, but it is slow and sometimes I have to fix the PGN (blank lines go missing between games).
Cute Chess' game database dialog already has a powerful search/filter feature, but it doesn't touch the original PGN files. Removing anything from the middle of a large PGN file is guaranteed to be inefficient because the rest of the data has to be rewritten. But it would be trivial to replace the data of individual games with whitespace, effectively removing the game but leaving the file size intact. Would this be acceptable to you?
Adam Hair wrote:3) Retain the ability to individually set depth, nodes, and time control for engines.
Of course. If you've used the current GUI you've certainly noticed that the time control in the new game dialog is shared. But that's only because it took us a while to decide how to do a clean and efficient layout with individual settings for each engine. Anything you can do with cutechess-cli you will be able to do with the GUI, except for parameter optimization with CLOP.
Adam Hair wrote:4) EPD support
A parser for the EPD format is already implemented. Now we just need to support more of its features. You may not see full EPD support in v1.0, but at least you'll be able to start your games from EPD positions.
Adam Hair wrote:5) A bar graph showing each engine's evaluation of each move. It is helpful for quickly finding where an engine misunderstood a position in a game.
This is on the TODO list. It will be in v1.0.
Adam Hair wrote:6) An interface for creating .json files. The desired engine parameters should be stored for each engine in a general purpose GUI. .json files are not hard to construct, but the average user (non-programmer) will be put off if they have to do it themselves. They are use to being able to set global parameter values and engine parameter values directly with the GUI.
No worries, the GUI uses the same .json files as cutechess-cli does. So you'll have a nice graphical user interface to configure the engines and use the same configurations in cutechess-cli. I already do all my .json editing in the GUI, and it works like a charm.
User avatar
ilari
Posts: 750
Joined: Mon Mar 27, 2006 7:45 pm
Location: Finland

Re: Help us make Cute Chess GUI better

Post by ilari »

Bram Visser wrote:One thing I like and miss in standard Arena is Swiss tournament setting.
Swiss pairing is surprisingly tricky to implement properly, so this feature may not make it to v1.0. But it's on my TODO list, along with cup/knockout tournaments.
User avatar
ilari
Posts: 750
Joined: Mon Mar 27, 2006 7:45 pm
Location: Finland

Re: Help us make Cute Chess GUI better

Post by ilari »

GenoM wrote:B) possibility to compute engine ratings and assign rating to engine automatically
This sounds like it shouldn't be too hard, but there are a quite a few ways it could go wrong. It would be a neat feature, so I'll see what can be done.
Adam Hair
Posts: 3226
Joined: Wed May 06, 2009 10:31 pm
Location: Fuquay-Varina, North Carolina

Re: Help us make Cute Chess GUI better

Post by Adam Hair »

ilari wrote:
Adam Hair wrote: 2) The ability to filter and remove games from a database. Sometimes, an engine turns out to be buggy and I wish to remove its games from a tournament database. I can do this with Arena, but it is slow and sometimes I have to fix the PGN (blank lines go missing between games).
Cute Chess' game database dialog already has a powerful search/filter feature, but it doesn't touch the original PGN files. Removing anything from the middle of a large PGN file is guaranteed to be inefficient because the rest of the data has to be rewritten. But it would be trivial to replace the data of individual games with whitespace, effectively removing the game but leaving the file size intact. Would this be acceptable to you?
Cute Chess is good enough as it is, for me :) . Actually, this is the least important (to me) of my requests. I generally understand the inefficiency of trying to remove portions of a large text file. I just thought that Arena may be a little more inefficient at this task.

As far as your suggestion of replacing the individual games with whitespace, it would be acceptable to me, but not necessary. I like the goal you have for Cute Chess, and I would not want you to add some hack just to please me.
User avatar
michiguel
Posts: 6401
Joined: Thu Mar 09, 2006 8:30 pm
Location: Chicago, Illinois, USA

Re: Help us make Cute Chess GUI better

Post by michiguel »

ilari wrote:
Graham Banks wrote:I'd like the option of using tablebases adjudication. 8-)
That's been on my TODO list for a long while. At the moment we don't consider it essential for version 1.0, but a later version will have support for Gaviota tablebases.

Big thanks to Miguel Ballicora for releasing the probing code with a very friendly license.
You may consider this option (which is similar to what Arena does). Connect to a "EGTB engine" which will provide the info. Arena connects to Gaviota, and sends the fen position and winboard "bk" command, and as a reply it gets "mate in x" or draw etc. with all the move options. Parsing this is simple. This has advantages and disadvantages and it is a design issue. Just for you to consider. This maybe more complicated or simpler.

One of the advantages is that you will never have to update your code. I should write an "EGTB engine" (no playing capabilities) with an open license so it can be distributed.

Miguel
User avatar
ilari
Posts: 750
Joined: Mon Mar 27, 2006 7:45 pm
Location: Finland

Re: Help us make Cute Chess GUI better

Post by ilari »

michiguel wrote:
ilari wrote:
Graham Banks wrote:I'd like the option of using tablebases adjudication. 8-)
That's been on my TODO list for a long while. At the moment we don't consider it essential for version 1.0, but a later version will have support for Gaviota tablebases.

Big thanks to Miguel Ballicora for releasing the probing code with a very friendly license.
You may consider this option (which is similar to what Arena does). Connect to a "EGTB engine" which will provide the info. Arena connects to Gaviota, and sends the fen position and winboard "bk" command, and as a reply it gets "mate in x" or draw etc. with all the move options. Parsing this is simple. This has advantages and disadvantages and it is a design issue. Just for you to consider. This maybe more complicated or simpler.

One of the advantages is that you will never have to update your code. I should write an "EGTB engine" (no playing capabilities) with an open license so it can be distributed.

Miguel
That would probably be easier, but I'd like to have built-in support for EGTBs. If we go with the EGTB engine route, we're most likely not going to distribute it with the GUI.

Looking at the tbprobe.c example, it looks like it's going to be easy to probe the tablebases. Maybe this will be a feature for v1.0 after all...
wolfman
Posts: 237
Joined: Thu Dec 31, 2009 12:06 pm

Re: Help us make Cute Chess GUI better

Post by wolfman »

I like to see in a GUI :
1. The possibility to set the max. amount of CPU's used by an engine.
2. The possibility to run testsuites.
3. The possibility to run native chessbase engines. Likely impossible.

Eran.
User avatar
ilari
Posts: 750
Joined: Mon Mar 27, 2006 7:45 pm
Location: Finland

Re: Help us make Cute Chess GUI better

Post by ilari »

wolfman wrote:I like to see in a GUI :
1. The possibility to set the max. amount of CPU's used by an engine.
That's already done, though we're still going to tweak it a bit.
2. The possibility to run testsuites.
This is planned, but may not make it to v1.0.
3. The possibility to run native chessbase engines. Likely impossible.
Yeah, the Chessbase protocol is so proprietary that we're not even going to attempt to support it. I was also asked to add support for Chessbase opening books, and while that's not as impossible, it's still difficult and frustrating enough to cause severe hair loss and brain damage.