Interesting idea. As in practical middle-game positions the various sides would not penetrate much into each other's lines, so the opponent's camp in such a representation would pretty much show up as an empty board half. And FENs are quite efficient in encoding empty space. So the FEN would not grow that much longer. In the late end-game, when all pieces roam the board, there would not be many pieces anyway, and the FEN would be short.Don wrote:In the absence of lowercase one could have 2 position fields - one for each side. It would make the fen string itself larger but presumably that is going to happen no matter what you do.
Not having to worry about distinguishing sides could also be very beneficial for encoding in ASCII. It is not just that you could double the available IDs by using both upper and lower case for the same side, (which would still not be enough for some of the bigger variants), but you could use a compact encoding with two-letter IDs (or actually arbitrary length IDs) without separators, where the first letter would be a capital. For the Chu Shogi start position this would give
LFlCSGKDeGSCFlL/Rv1B1BtPhKyBt1B1Rv/SmVmRDhDkFkLnDkDhRVmSm/PPPPPPPPPPPP/3Gb4Gb3/12/12/12/12/12/12/12//12/12/12/12/12/12/12/3Gb4Gb3/PPPPPPPPPPPP/SmVmRDhDkLnFkDkDhRVmSm/Rv1B1BtKyPhBt1B1Rv/LFlCSGDeKGSCFlL w 0 1
which is sort of readable.
I was thinking myself about using two-character piece IDs where the second is a letter that would encode the side in the usual way, but the first one would be non-alphanumeric, so that it can easily be recognized as a prefix altering the meaning of the following letter. E.g. using . , : ; as prefixes you would already have 4 x 26 possible IDs. This is far less than the 26x26 that can be achieved with Don's proposal, but enough for anything but the very largest (some would say 'insane') variants. The prefixes would have little optical density, and naturally act as separators to enhance readability. The Chu Shogi start position in this notation could look like:
.l,l.c.s.g.k.e.g.s.c,l.l/,r1.b1.t,p:k.t1.b1,r/,s.v.r.h.d;f;l.d.h.r.v,s/.p.p.p.p.p.p.p.p.p.p.p.p/3,g4,g3/12/12/3,G4,G3/.P.P.P.P.P.P.P.P.P.P.P.P/,S.V.R.H.D;L;F.D.H.R.V,S/,R1.B1.T:K,P.T1.B1,R/.L,L.C.S.G.E.K.G.S.C,L.L w
where .L would mean Lance but ,L would mean Ferocious Leopard, etc. I guess it might be better to also allow pieces without prefix, and with a space prefix
l.lcsgkegsc.ll/.r1b1t.p:kt1b1.r/.svrhd;f;ldhrv.s/pppppppppppp/3.g4.g3/12/12/3.G4.G3/PPPPPPPPPPPP/.SVRHD;L;FDHRV.S/.R1B1T:K.PT1B1.R/L.LCSGEKGSC.LL w
I think Don's proposal is better. It is also easily extendible to games with more than two players. The downside is that there is no backward compatibility with the FEN standard for Chess.