Enter Your Reply The Comment You're Replying To Rich Hutnik wrote on Tue, Oct 7, 2008 09:13 PM UTC:This is an initial attempt to come up with a standard for data transfer between GUIs or AIs and a server. Please comment, question and suggest alternatives. Also point out any flaws with it. I am of the belief we get something like this working, we could then faciliate Winboard and other programs from interacting with the Courier system on here. I would like to add that I believe all notation should be case insensitive. A letter dimension should be same uppercase or lower case for recording game states. The core if this approach is to say something from a space goes to another space. This approach doesn't care what is on a space. You look to what is on the space for whether a move is legal. Notation for recording a space: A1B2C3D4E5F6G7H8I9J10K11...AA27AB28AC29 Dimensions alternate letter (odd dimensions), and numbers (even dimensions). The ... is not part of notation, just used to reduce space. In the ... would be a bunch of other spaces. - is used for negative spaces . for decimal spots , for separator between decimal and zero letter and a number. Example: A.23,27: 0 for letter represents transition between positive and negative. 0,0 Notation for recording movement: : Piece moving from one space to another space. Example, A5:B6:D9. Move from A5 to B6 and then to B9. & Another piece moves a series of spaces Example, A5:B6&J2:M7. Piece from A5 moves to B6, and another piece moves from J2 to M7. / End of player's turn. Example: J2:E4/M7:J9. One player moves a piece from J2 to E4 and then the next player moves frm M7 to J9. # All players turn is done for a round [set of turns]. Example: A7:B6/J2:E4# . A line break can also be used to indicate this. () Indicates piece type to be placed on a space or result of move [Example: A7:A8(Q) or J2(Q)]. In this piece from A7 to A8 becomes a Q, and Q piece is put on J2 [example of promotion]. In this, if there is a single space as part of a move (example: J2#) then it is assumed that each player has only one type of piece. If there is queing of pieces, then order of notation represents first piece out of queue/piece on top of stack). In case of A7(RP):A8 as a move, it is assumed that R and P pieces on A7 are moved to A8 together, and the will be there as RP. () by itself as a move, in such as ()# represents a player passing turn, either voluntary or they have no legal moves. ' Message, indicating status of a move, typically illegal [Example: (Q)J7'Illegal-Occupied]. ' ' is the preferred way to indicate a message, indicating start and end of message, as in the case of (Q)J7'Ilegal-Occupied' [J7 space is occupied, so move isn't legal, and must be repeated]. This configuration is meant to be used as a FEN for movement. The notation is only for recording movement and changes in game states. It doesn't determine if move is legal or not. The ' [for messaging is used to pass a message between one application/environment and another]. This notation trusts that somewhere in the environment is used to check for legality of the moves. Also, initial board set up (Normally done by FEN), and rules governing pieces, and game rules, are handled differently. There should also be naming conventions for messages. Edit Form You may not post a new comment, because ItemID Standards does not match any item.