Proposed pgn for Kriegspiel

I'd like to offer the following suggestion for a Kriegspiel notation which is backwards-compatible with the popular pgn notation. It is in our interest to be backwards compatible as there are many chess applications which are both useful to us and dependent upon pgn.

The only real issues here are keeping track of the attempted illegal moves and keeping track of the attributes returned on a move's completion (if it was a take, if it put you in check and how, etc). To keep track of these things while preserving backwards compatibility, we can use the age-old technique of putting the new information inside the comments. For example, a kriegspiel move might be recorded like:
5. exd3 {(K:d4,dd3:Td3)} Nxd3+ {(K::CK)}
Where Td3 means that the opponent is told of a take at square d3 and CK means that the opponent is told that they are in check by knight. The grammar would be as follows (I use '.' to signify concatination):

Something of the form kriegInfo can be inserted into a the comment after the made move and will contain all the relavent kriegspiel information. Conceptually, a kriegspiel pgn half-move will have the form
move {(K:attempted moves:opponent information) comments}
The information I get out of my own move (if I cause check, or if I take a piece) will be availible from the standard san.

I haven't written anything based on this yet, and so I'd welcome comments before I start coding it up. One issue that I've thought of is how to deal with the move of asking if there exists a pawn that can take (a shortcut move allowed in some varients of kriegspiel to speed play). I've delt with this by simply not allowing the ask move -- it is not all that hard to simple check if the pawns take one at a time.

Web Accessibility