It is time to revolutionize chess GUIs

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

Moderator: Ras

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

Re: It is time to revolutionize chess GUIs

Post by hgm »

fluviumque wrote:Well, Winboard is kind of nice, but I found myself spending a lot of time solving problems. Currently, with Houdini and the fUci switch (EDIT: now also with ""polyglot.exe ..\Houdini\houdini.ini" /fd=".""), it prefers to have Houdini allocate all 8 GB RAM of my system, making it unusable and really hard to kill Winboard.
This is weird. I did run Houdini 1.5a under WinBoard some time ago (for Charge of the Light Brigade), and there did not seem to be any problems. Are you sure that there did not accidentlly creep in a wrong value for the hash-table size setting (in the WinBoard Options -> Common Engine menu dialog)?
Also, I haven't found out to make it use a westernized font for Shogi.
I found out how to use "Chess Merida" font by changing a font command line in the winboard.ini. For Shogi, I added /renderPiecesWithFont *blah to the respective line in the startup screen. The result is, it uses a default font without the additional Shogi symbols (e.g. the lance is invisible), but also in winboard.ini the chessmerida line has disappeared...
I think I'll set up Winboard shortcuts for variations only.
Font names starting with an asterisks are ignored. I guess this is a bad design, inherited from Winboard_x; there really should have been separate options /renderPiecesWithFont true|false to switch the feature on or off, (what the asterisk does now) and /pieceFont to specify the actual font. Using a leading '*' to temporary disable the font rendering without losing a long and cumbersome font name is a kludge that works nicely when you edit the winboard.ini directly, but it doesn't help a bit when you enter options in the startup dialog. That

But the underlying problem you are battling against is that WinBoard does not support variant-dependent piece rendering. You can select one font, and it will be used for all variants, (or switch the feature off for all variantsif it was an 'invalid' name), and all memory of any previously selected font will be erased (as with any setting that you change,when you save settings).

To some extent you can get around this by clever configuring. If you want a Shogi font to be used only when you select certain Shogi engines from the Startup dialog, you can specify the font with the engine. Like

sdk10 /fd="..\shokidoki" /variant=shogi /renderPiecesWithFont="Shogi Western"

You would likely also have to specify a new /fontPieceToCharTable, and to prevent those font settings leaking into your winboard.ini file, you probably would want to add /saveSettingsOnExit false. So you have to add a great deal, and it would be a bit cumbersome to add that to the install line of every Shogi engine. So a better approach would be to collect all the settings only used for Shogi in a file "shogi.ini", which could contain something like:

Code: Select all

/variant=shogi
;
/renderPiecesWithFont="Shogi Western"
/fontPieceBackColorWhite=#ffffff
/fontPieceForeColorWhite=#000000
/fontPieceBackColorBlack=#ffffff
/fontPieceForeColorBlack=#000000
/fontPieceSize=80
/fontPieceToCharTable=".........    "
;
/saveSettingsOnExit=false
And then install the Shogi engines with @shogi (or @shogi.ini, but the ini extenson is default) on their installation line:

sdk10 /fd="..\shokidoki" @shogi
"uci2wb -s BlunderUCI.exe ..\Blunder" @shogi

Then selecting a Shogi engine from the startup-dialog combo-box will automatically cause the Shogi settings to be instated. This approach won't work if you want to change variantduring the session, but I don't know any engines that would play some non-Shogi variant next to Shogi anyway.

An alternative would be to make a separate shortcut (or Windows start-menu entry) for starting up WinBoard in shogi mode. The target linein the shortcut could then be

C:\WinBoard-4.5.1\WinBoard\winboard.exe @shogi

In the "shogi.ini" file you could then even specify a list of Shogi engines, so that the start menu would show only those, and only then:

Code: Select all

/variant=shogi
;
/firstChessProgramNames={sdk10 /fd="..\shokidoki"
GNUShogi /fd="..\GNU"
"uci2wb -s BlunderUCI.exe ..\Blunder"
"uci2wb -s Larami.exe ..\Larami03"
}
/secondChessProgramNames={sdk10 /sd="..\shokidoki"
GNUShogi /sd="..\GNU"
"uci2wb -s BlunderUCI.exe ..\Blunder"
"uci2wb -s Larami.exe ..\Larami03"
}
;
/renderPiecesWithFont="Shogi Western"
/fontPieceBackColorWhite=#ffffff
/fontPieceForeColorWhite=#000000
/fontPieceBackColorBlack=#ffffff
/fontPieceForeColorBlack=#000000
/fontPieceSize=80
/fontPieceToCharTable=".........    "
;
/saveSettingsFile=%APPDATA%\ShogiSettings.ini
/settingsFile=%APPDATA%\ShogiSettings.ini
Note that in stead of suppressing the saving of settings, this now redirects the saving of settings to a filedifferent from the one you save your Chess settings in, which will also be read the next time when you start up WinBoard through this shortcut. (I guess you could even do that when you put the @shogi with the enginelines in a combobox that contains both Chess and Shogi engines.)
fluviumque

Re: It is time to revolutionize chess GUIs

Post by fluviumque »

Thanks for your helpful answer. I'll have a look into the Houdini issue again... Yes, I think I want to organize the more complicated setups with ini files. BTW, it would be very helpful if we could see the command lines from the Windows Shortcuts which are distributed with Winboard; but from the Windows GUI point of view they all look the same. I cannot see arguments. What kind of strange .lnk files are those? ;)
User avatar
hgm
Posts: 28519
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: It is time to revolutionize chess GUIs

Post by hgm »

The arguments are there. They are all of the form "@someIniFile". For instance the game viewer has @viewer, the Oriental Startup has @xq, etc. The problem is that since XP, Windows does not show them anymore, and will even make them disappear when you OK the properties dialog after viewing. This seems a Windows bug, and I agree that it is very inconvenient. But the ini files are all in the WinBoard folder, and it is usually obvious from the name which ini file belongs to which shortcut.

Someone did file a complaint about this with MicroSoft. The solution they proposed was brilliant:

"If using an at-sign in a shortcut does not work properly, you could solve this by typing something else instead!"
bbbaro25us

Re: It is time to revolutionize chess GUIs

Post by bbbaro25us »

Hi!
I'm completely new to this forum, and this is my 1st comment, so pardon if I'm not in line with some etiquette or something (tell me if this is the case: I'm not easily offended).

I searched around for this thing, but it seems to me it was not asked before, and this one looks like a fit enough general topic to ask.

I have a problem with chess GUIs, namely the complete lack of TRANSPOSITION MANAGEMENT.

One of the neat things I think should be featured in a chess GUI, when it does already mange databases to a degree, is the opportunity to build and print a personal opening repertoire.
Unfortunately this becomes impossible very fast because no pgn manager can manage transpositions in pgn (or analogue format) files: how many times when you build a coherent repertoire you have a repeated positon which appears through different move order and often with a different move number (when both sides have to waste the same number of tempi)? These repeated identical positions can be situated very far apart, in graphical terms, in a single pgn with multiple variations and subvariations!
A possible solution is an opening tree, but this one cannot be printed or reviewed efficiently (in order to use it for online practice and consequent memorization), and still the graphical result is not suitable for a complete repertoire, not even in a single "minor" sub-opening (space prblems due to visualization method, and still it "sees" transpositions due to a repeated identical position ONLY when you run through it on an interactive board).

Is it possible to have a gui suitable for condensing a repertoire, of a given opening, in a single pgn with variations and subvariations?
A pgn where the program, when a new line you're adding reaches a position which is already included in the repertoire, uses som sort of index message (something like "see line 1.1.2.3", for example), and consequently prevents the repertoire builder (poor user me) from repeated and wasted work? A pgn that does the same work on transpositions if it is fused with another pgn (possibly in a smarter and cleaner way then the messy thing I could poorly see done by the chessbase program)?

I think such a "repertoire oriented" pgn management would be VERY useful for any user, beside the main goal I have.
For example one could fuse many different games in interconnected-transposable openings and have a taste of the general play of the related positions "at glance", without having to build an "opening book" file and have to navigate back and forth in it (probably I'm not the only one who get lost pretty fast in this kind of breackdance among very similar positions...).
User avatar
Don
Posts: 5106
Joined: Tue Apr 29, 2008 4:27 pm

Re: It is time to revolutionize chess GUIs

Post by Don »

bbbaro25us wrote:Hi!
I'm completely new to this forum, and this is my 1st comment, so pardon if I'm not in line with some etiquette or something (tell me if this is the case: I'm not easily offended).

I searched around for this thing, but it seems to me it was not asked before, and this one looks like a fit enough general topic to ask.

I have a problem with chess GUIs, namely the complete lack of TRANSPOSITION MANAGEMENT.

One of the neat things I think should be featured in a chess GUI, when it does already mange databases to a degree, is the opportunity to build and print a personal opening repertoire.
Unfortunately this becomes impossible very fast because no pgn manager can manage transpositions in pgn (or analogue format) files: how many times when you build a coherent repertoire you have a repeated positon which appears through different move order and often with a different move number (when both sides have to waste the same number of tempi)? These repeated identical positions can be situated very far apart, in graphical terms, in a single pgn with multiple variations and subvariations!
A possible solution is an opening tree, but this one cannot be printed or reviewed efficiently (in order to use it for online practice and consequent memorization), and still the graphical result is not suitable for a complete repertoire, not even in a single "minor" sub-opening (space prblems due to visualization method, and still it "sees" transpositions due to a repeated identical position ONLY when you run through it on an interactive board).

Is it possible to have a gui suitable for condensing a repertoire, of a given opening, in a single pgn with variations and subvariations?
A pgn where the program, when a new line you're adding reaches a position which is already included in the repertoire, uses som sort of index message (something like "see line 1.1.2.3", for example), and consequently prevents the repertoire builder (poor user me) from repeated and wasted work? A pgn that does the same work on transpositions if it is fused with another pgn (possibly in a smarter and cleaner way then the messy thing I could poorly see done by the chessbase program)?

I think such a "repertoire oriented" pgn management would be VERY useful for any user, beside the main goal I have.
For example one could fuse many different games in interconnected-transposable openings and have a taste of the general play of the related positions "at glance", without having to build an "opening book" file and have to navigate back and forth in it (probably I'm not the only one who get lost pretty fast in this kind of breackdance among very similar positions...).
It's easy to detect transpositions but when you say a single pgn I assume you mean one with lots of games in it, right?

You have to keep in mind that a personal repertoire is really two repertoire's as you cannot control the moves the opponent plays but you can try to prepare for them. So if you have a pgn file with 10,000 games, how do you distinguish which ones are white repertoires and which are black? I would suggest that they are simply kept separate.

I don't think PGN is the most natural format for storing a repertoire. A simple already existing and open format is the polyglot book format which could easily be made to work for this with a few conventions (such as a fixed "weight" that means this is given entry is a repertoire move.) A special polyglot reader could give you everything you need, a nice layout and detection of transpositions.
bbbaro25us

Re: It is time to revolutionize chess GUIs

Post by bbbaro25us »

I'm speaking about "building" a personal repertoire (in one opening, and then in another till the repertoire is complete: this because a "really complete" repertoire would be unreadible no matter the visualization method), having it written down has a mainline with variations and subvariations, printing it, and using it in online games for some time till it becomes natural or I see problems in it (in that case I have to change some lines, print a new version and try again).
The book format is useless for this kind of thing, as I wrote earlier.
Beside, I cannot build the repertoire from databases games alone, as many of the lines I need in the repertoire are not played by top GMs: I have to add variations move by move, possibly with some help from a chess engine.

Anyway, generally, don't you see how useful it would be for users to have the program identify and connect repeated positions "inside" a single pgn with variations and subvariations?
Doesn't the "position search" in a database aim to satisfy the same exact users' necessities?
Albert Silver
Posts: 3026
Joined: Wed Mar 08, 2006 9:57 pm
Location: Rio de Janeiro, Brazil

Re: It is time to revolutionize chess GUIs

Post by Albert Silver »

bbbaro25us wrote:I'm speaking about "building" a personal repertoire (in one opening, and then in another till the repertoire is complete: this because a "really complete" repertoire would be unreadible no matter the visualization method), having it written down has a mainline with variations and subvariations, printing it, and using it in online games for some time till it becomes natural or I see problems in it (in that case I have to change some lines, print a new version and try again).
The book format is useless for this kind of thing, as I wrote earlier.
Beside, I cannot build the repertoire from databases games alone, as many of the lines I need in the repertoire are not played by top GMs: I have to add variations move by move, possibly with some help from a chess engine.

Anyway, generally, don't you see how useful it would be for users to have the program identify and connect repeated positions "inside" a single pgn with variations and subvariations?
Doesn't the "position search" in a database aim to satisfy the same exact users' necessities?
Chess Assistant (and probably Aquarium) has had this for ten years.
"Tactics are the bricks and sticks that make up a game, but positional play is the architectural blueprint."
bbbaro25us

Re: It is time to revolutionize chess GUIs

Post by bbbaro25us »

Albert Silver wrote: Chess Assistant (and probably Aquarium) has had this for ten years.
I didn't know. Thanks.
Any free program doing it? (if I may ask/suggest)
Albert Silver
Posts: 3026
Joined: Wed Mar 08, 2006 9:57 pm
Location: Rio de Janeiro, Brazil

Re: It is time to revolutionize chess GUIs

Post by Albert Silver »

bbbaro25us wrote:
Albert Silver wrote: Chess Assistant (and probably Aquarium) has had this for ten years.
I didn't know. Thanks.
Any free program doing it? (if I may ask/suggest)
Couldn't say. SCID is the only program that could have it, but I have never used it. In CA, a transposition is identified in the notation by coloring the line a very dark blue.
"Tactics are the bricks and sticks that make up a game, but positional play is the architectural blueprint."
bbbaro25us

Re: It is time to revolutionize chess GUIs

Post by bbbaro25us »

Albert Silver wrote: Couldn't say. SCID is the only program that could have it, but I have never used it. In CA, a transposition is identified in the notation by coloring the line a very dark blue.
You mean every transposed position has a different color, one for each single identical position reached, or all transpositions are blue, even if they're for example two transpositions in two different not connected lines (i.e. one line has its own transposition between two subvariations, and another line has a completely different transposition between its subvariations with no position in common with the first line)?

I mean: I would need a way to read a printed repertoire (in, say, the Italian Game with 4.c3 + 2 Knights Def. with 4.Ng5: just as an example where the two "main" lines will probably never transpose, but inside both of these lines there will probably be transpositions).