PGN standard & null moves (Steven?)

Discussion of chess software programming and technical issues.

Moderator: Ras

Michel
Posts: 2292
Joined: Mon Sep 29, 2008 1:50 am

Re: PGN standard & null moves (Steven?)

Post by Michel »

There is a kind of standard way seen in chess literature that is similar to pass, you will see it in problems and it's the token, "any" - but that is not a non-move, it's represents a wild card, or ANY legal move.
This is precisely the point I have been trying to make. A null move in a variation is not a pass move (which is a illegal in regular chess) but a wild card for a move which does change the position in a significant way. Hence the clear distinction between "pass" and "null".
User avatar
hgm
Posts: 28389
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: PGN standard & null moves (Steven?)

Post by hgm »

Indeed, this is a good distinction. However, "any" sounds stronger than that to me, like there is really nothing that could make you change your mind. (You might know the famous case in correspondence Chess where in reply to "1. d4" black mailed "1... g6 2. any Bg7", where white then substantiated the "any" as "2. Bh6! Bg7 3. Bxg7" for an easy 1-0.)

But it seems that as far as the general passive moves go, the cards already have been dealt, and we are stuck with the awkward "--". In Reversi and Go I will continue to use "pass".
User avatar
marcelk
Posts: 348
Joined: Sat Feb 27, 2010 12:21 am

Re: PGN standard & null moves (Steven?)

Post by marcelk »

hgm wrote:But it seems that as far as the general passive moves go, the cards already have been dealt, and we are stuck with the awkward "--". In Reversi and Go I will continue to use "pass".
You could still compromise by claiming to be using 'pass' for legal passes and '--' for illegal ones.

IMO, '--' is a lot better than 'null', '0000', 'Z0' or '@@@@'. For a de facto standard it is not bad, and indeed it is better to standardize on something already in use than inventing yet another one. It convinced me that I should adopt '--' in my engine's notation as well.

P.S. 'any' could be represented as '...'. Unfortunately '*' is already taken.
Alternatively annotate it using comments: '(1... <random move> {or any other, except Bh6!} 2. <brilliant move> 1-0)'
User avatar
hgm
Posts: 28389
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: PGN standard & null moves (Steven?)

Post by hgm »

marcelk wrote:You could still compromise by claiming to be using 'pass' for legal passes and '--' for illegal ones.
Indeed, that basically was what I did propose. Reversi and Go are AFAIK the only games where passing is legal.
IMO, '--' is a lot better than 'null', '0000', 'Z0' or '@@@@'. For a de facto standard it is not bad, and indeed it is better to standardize on something already in use than inventing yet another one. It convinced me that I should adopt '--' in my engine's notation as well.
Well, the protocol formats are not intended for human consumption. I picked @@@@ as WinBoard internal representation, because then it would be automatically considerd a drop move, avoiding all kind of off-board accesses to obtain the piece that was moved.
P.S. 'any' could be represented as '...'. Unfortunately '*' is already taken.
Alternatively annotate it using comments: '(1... <random move> {or any other, except Bh6!} 2. <brilliant move> 1-0)'