*) How should a 'plus draw' be recorded in PDN?
*) Should there be a table of valid results for every game type? I.e. 1-1, 0-2, 2-0
for international draughts, 1/2-1/2, 0-1, 1-0 for English draughts, etc.
*) Several tournaments used experimental results. For example we have 1.01 - 0.99 in
Goes, we have 1 1/2 - 1/2 in the 'Delft' system, there have been tournaments with 3-0
instead of 2-0, the Sport Accord Mind Games used 12-0, etc. Should the PDN standard
deal with those results? If so, how?
After reading the discussion about result tags, I think the value should be treated as cargo. In other words, accept any value on reading, and echo it back on writing. Do not try to impose any specific result values. The standard can note the common result values used in 8x8 and 10x10 draughts. Now that result tags have been removed as game terminators, their values have no affect on PDN parsing, except that parsers will still have to handle the most common values as terminators when parsing legacy PDN.
*) Should we always use "" to denote an unknown value of a PDN tag? Currently there
are some exceptions defined in the standard where a "?" should be used instead.
The section on PDN tags seems to have some conflicting statements. In one sentence, "... a tag is omitted if it has no value". In another, "To denote that a tag has an unknown value, in most cases a "?" value can be used." I think the difference between an unknown value and no value is too subtle. This section should be more specific.
Also, what about mandatory tags? If a mandatory tag is unknown, does it have to be included because it is mandatory, or can it be omitted because it is unknown? What is the usefullness of writing a mandatory tag with an unknown value? In my case with kingsrow I write a few tags as place holders, even if unknown values, perhaps making it slightly easier to add values later using a text editor. I question whether this is important enough to make 7 tags mandatory even when none of them have known values.
*) Should the PDN standard prescribe a character set? For example UTF-8?
My feeling is that character sets are beyond the scope of the standard. But I don't know much about this subject.
*) Should the long notation be accepted even for unambiguous moves? For example
33x24x25 instead of 33x25?
I think the question here is really "should the long notation always be used for writing PDN"? For reading, either form should be accepted when unambiguous. My feeling is that the long form should only be written when it is necessary because the short form would be ambiguous.
*) Should the move separator in alpha-numeric moves be optional (for example a3b4)?
I don't have any experience using this notation, so no preference.
Regarding the 3.0 standard, and primarily the things that are new:
- I haven't implemented embedded commands. My parser will treat them as comments.
- I have implemented setup commands within game moves. This seems like a useful addition and did not cause me any parsing difficulties.
- I think removing result codes as terminators is a good change.
- I am against extending FEN notation with ranges as this seems to offer very little benefit weighed against the problems it creates with existing programs.
My own parser is ad hoc, not using an automated parser generator, so I cannot comment or review with respect to parser generators. Also, the parser in kingsrow is designed to easily read PDN into the program, but kingsrow is not a full featured PDN database manager, so some features that are needed for writing complete PDN are not implemented. I expect that full featured games database programs like TurboDambase or Aurora are more affected by the changes in 3.0 than I am, and it would be nice to get feedback from their developers.
-- Ed