ChessGUI help file: please contribute

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

Moderator: Ras

User avatar
Matthias Gemuh
Posts: 3245
Joined: Thu Mar 09, 2006 9:10 am

ChessGUI help file: please contribute

Post by Matthias Gemuh »

Some nice guy has offered to make a help file for ChessGUI.
If the community helps him, he would of course progress faster.
Anybody is herewith invited to document any ChessGUI feature(s) he/she understands and send the text as an attachment to "mgemuh at yahoo.com".

Include "ChessGUI" in message title, so that I can know it's not spam from someone who wants to enlarge some part of my body.

Don't fail to mention bugs. I will forward all the mails to the guy.
You may also formulate stuff in Q&A format.

Who the guy is ? Definitely not me. The finished help file shall reveal his identity :wink: .

Though I highly appreciate your contributions, please don't expect me to reply each mail.

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

Re: ChessGUI help file: please contribute

Post by hgm »

Not really related to the question:

I had a crazy idea for tweaking the protocol for 10x8 chess, to allow better support for fairy variants. In fact it could even be applied to 8x8 Chess.

The idea is to always provide a 'blank' piece type next to the piece types customary for the variant. It could be displayed as a white or black sphere, for example. As far as the GUI has to know about how pieces move, e.g. for legality testing or SAN disambiguation, it would assume that this piece is a 'teleporter' that could move from any square to any other square, capturing or not, except to the one the opponent's King would be on. So it would never flag any of the moves of the piece as illegal, but it would also never flag a move of the other pieces as illegal because it thought it would leave or put you in check by the blank piece. The blank piece simply can never give check.

The piece could be indicated by the letter F (for 'fairy piece') in FEN and SAN (or perhaps a letter that the user can select, but that defaults to F). The F could simply be added as an extra allowed piece type in the FEN reader, allowed to be present in any variant, and also accepted as promotion piece. As long as the initial position would not contain such a piece, and as long as the engines would refrain from promoting to it (as I am sure all currently existing engines would!), this would have zero effect on games.

But it would allow one to use ChessGUI (or WinBoard) for 'modest variants', that include a single non-orthodox piece, while still reaping most of the benifits of legality testing. For instance, one could play Nightrider Chess by using the blank piece as Nightrider, without drawing any complaints from the GUI that the Knight moves are illegal. Similarly, it could be used to play 10x8 variants that include an exo-piece, (e.g. Falcon Chess) as variant capablanca.

The only imperfection compared to a GUI that really knows about the piece used would be that checks with this piece would not be indicated as checks in the SAN, and that it would miss some checkmates and indicate them as checks. And that, when there are multiple copies of this piece, the SAN would always use a disambiguator, as it would always think that both pieces could go to the same destination. But these are disadvantages I could live with.
User avatar
Matthias Gemuh
Posts: 3245
Joined: Thu Mar 09, 2006 9:10 am

Re: ChessGUI help file: please contribute

Post by Matthias Gemuh »

hgm wrote:Not really related to the question:

I had a crazy idea for tweaking the protocol for 10x8 chess, to allow better support for fairy variants. In fact it could even be applied to 8x8 Chess.

The idea is to always provide a 'blank' piece type next to the piece types customary for the variant. It could be displayed as a white or black sphere, for example. As far as the GUI has to know about how pieces move, e.g. for legality testing or SAN disambiguation, it would assume that this piece is a 'teleporter' that could move from any square to any other square, capturing or not, except to the one the opponent's King would be on. So it would never flag any of the moves of the piece as illegal, but it would also never flag a move of the other pieces as illegal because it thought it would leave or put you in check by the blank piece. The blank piece simply can never give check.

The piece could be indicated by the letter F (for 'fairy piece') in FEN and SAN (or perhaps a letter that the user can select, but that defaults to F). The F could simply be added as an extra allowed piece type in the FEN reader, allowed to be present in any variant, and also accepted as promotion piece. As long as the initial position would not contain such a piece, and as long as the engines would refrain from promoting to it (as I am sure all currently existing engines would!), this would have zero effect on games.

But it would allow one to use ChessGUI (or WinBoard) for 'modest variants', that include a single non-orthodox piece, while still reaping most of the benifits of legality testing. For instance, one could play Nightrider Chess by using the blank piece as Nightrider, without drawing any complaints from the GUI that the Knight moves are illegal. Similarly, it could be used to play 10x8 variants that include an exo-piece, (e.g. Falcon Chess) as variant capablanca.

The only imperfection compared to a GUI that really knows about the piece used would be that checks with this piece would not be indicated as checks in the SAN, and that it would miss some checkmates and indicate them as checks. And that, when there are multiple copies of this piece, the SAN would always use a disambiguator, as it would always think that both pieces could go to the same destination. But these are disadvantages I could live with.

I will still think about the details.
I need to know what the FEN reader should cope with.
Can you post several examples of such FENs in 8x8 and 10x8 chess ?

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

Re: ChessGUI help file: please contribute

Post by hgm »

The most likely application in 10x8 would be to run a Falcon-Chess engine. This would be played as variant capablanca, loading an opening position:

rnfbqkbfnr/pppppppppp/10/10/10/10/PPPPPPPPPP/RNFBQKBFNR w KQkq - 0 1

For 8x8, for instance playing the Nightrider Chess could be achieved as variant normal, with initial position

rfbqkbfr/pppppppp/8/8/8/8/PPPPPPPP/RFBQKBFR w KQkq - 0 1

and Chancellor Chess with position

rnbfkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBFKBNR w KQkq - 0 1

This would require no extra user controls on the GUI, but has the disadvantage that engines could cheat by promoting to F in a game where F should not participate.

If you allow the letter to be user-defined, (so that you could make the default that the piece is not allowed, by defining a non-existing character-code for it), and the user would have selected to use H, Nightrider Chess could be started by feeding the engine + GUI:

rhbqkbhr/pppppppp/8/8/8/8/PPPPPPPP/RHBQKBHR w KQkq - 0 1

Of course the Chancellor is already known to ChessGUI from 10x8 variants, so it seems a bit silly to play it in an 8x8 game as a wildcard piece. Perhaps enabling the blank piece to occur in 8x8 variants, should also enable C and A as valid pieces in a FEN.
User avatar
Matthias Gemuh
Posts: 3245
Joined: Thu Mar 09, 2006 9:10 am

Re: ChessGUI help file: please contribute

Post by Matthias Gemuh »

hgm wrote:The most likely application in 10x8 would be to run a Falcon-Chess engine. This would be played as variant capablanca, loading an opening position:

rnfbqkbfnr/pppppppppp/10/10/10/10/PPPPPPPPPP/RNFBQKBFNR w KQkq - 0 1

For 8x8, for instance playing the Nightrider Chess could be achieved as variant normal, with initial position

rfbqkbfr/pppppppp/8/8/8/8/PPPPPPPP/RFBQKBFR w KQkq - 0 1

and Chancellor Chess with position

rnbfkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBFKBNR w KQkq - 0 1

This would require no extra user controls on the GUI, but has the disadvantage that engines could cheat by promoting to F in a game where F should not participate.

If you allow the letter to be user-defined, (so that you could make the default that the piece is not allowed, by defining a non-existing character-code for it), and the user would have selected to use H, Nightrider Chess could be started by feeding the engine + GUI:

rhbqkbhr/pppppppp/8/8/8/8/PPPPPPPP/RHBQKBHR w KQkq - 0 1

Of course the Chancellor is already known to ChessGUI from 10x8 variants, so it seems a bit silly to play it in an 8x8 game as a wildcard piece. Perhaps enabling the blank piece to occur in 8x8 variants, should also enable C and A as valid pieces in a FEN.

Can you supply the list of fairy variants and (for each) the name of the fairy piece type involved and its letter ? ChessGUI would need that info.

Should the FEN reader also expect 2 or more fairy piece types in one FEN ?
My engine was quite strong till I added knowledge to it.
http://www.chess.hylogic.de
User avatar
Graham Banks
Posts: 45330
Joined: Sun Feb 26, 2006 10:52 am
Location: Auckland, NZ

Question regarding colour allocation

Post by Graham Banks »

Matthias - when I set up a round robin tournament with two cycles, do I need to tick the box "alternate colours" to ensure that in the two games a pair of engines play, each engine gets a game with White?

Reason I ask is that I don't want each pair playing two games consecutively which happens when I tick that box.
I'd like each cycle to play out in its entirety and then have the second cycle playu out with colours reversed.

Hope you understand what I'm getting at.

Cheers, Graham.
gbanksnz at gmail.com
User avatar
Matthias Gemuh
Posts: 3245
Joined: Thu Mar 09, 2006 9:10 am

Re: Question regarding colour allocation

Post by Matthias Gemuh »

Graham Banks wrote:Matthias - when I set up a round robin tournament with two cycles, do I need to tick the box "alternate colours" to ensure that in the two games a pair of engines play, each engine gets a game with White?

Reason I ask is that I don't want each pair playing two games consecutively which happens when I tick that box.
I'd like each cycle to play out in its entirety and then have the second cycle playu out with colours reversed.

Hope you understand what I'm getting at.

Cheers, Graham.

Hi Graham,
ChessGUI cannot do it as you want :(
If I dont get confused with my algoritms, I may implement that soon.
Best,
Matthias.


.
My engine was quite strong till I added knowledge to it.
http://www.chess.hylogic.de
User avatar
Graham Banks
Posts: 45330
Joined: Sun Feb 26, 2006 10:52 am
Location: Auckland, NZ

Re: Question regarding colour allocation

Post by Graham Banks »

Matthias Gemuh wrote:
Graham Banks wrote:Matthias - when I set up a round robin tournament with two cycles, do I need to tick the box "alternate colours" to ensure that in the two games a pair of engines play, each engine gets a game with White?

Reason I ask is that I don't want each pair playing two games consecutively which happens when I tick that box.
I'd like each cycle to play out in its entirety and then have the second cycle playu out with colours reversed.

Hope you understand what I'm getting at.

Cheers, Graham.

Hi Graham,
ChessGUI cannot do it as you want :(
If I dont get confused with my algoritms, I may implement that soon.
Best,
Matthias.


.
If you could implement that, it would be great.
I'm starting to run bigger tournaments now. :)

Regards, Graham.
gbanksnz at gmail.com
User avatar
hgm
Posts: 28461
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Question regarding colour allocation

Post by hgm »

It should not be difficult: just put another lop around the entire tourney. People could then independently set the number of games per pairing (played consecutively), and the number of cycles, so that the total number of games between two players is the product of the two.
User avatar
Matthias Gemuh
Posts: 3245
Joined: Thu Mar 09, 2006 9:10 am

Re: Question regarding colour allocation

Post by Matthias Gemuh »

hgm wrote:It should not be difficult: just put another lop around the entire tourney. People could then independently set the number of games per pairing (played consecutively), and the number of cycles, so that the total number of games between two players is the product of the two.
Yes, I had that idea with the loop around the entire tourney.
It just looks odd in source code.
I will do it only for RoundRobins and Team Fights.

For those reading this thread, ChessGUI 0.111 is out.
- fixes a recently introduced bug in adding/removing engines to/from a running tourney.
- random per cycle/game for Chess960/Caparandom

Matthias.

.
My engine was quite strong till I added knowledge to it.
http://www.chess.hylogic.de