Modern Times wrote: ↑Sun Jan 29, 2023 12:02 am
Better to me = more readable to the human eye.
Ideally perhaps there could be a choice of pgn output
- one useful to a programmer, showing timings down to the millisecond or whatever, which is probably what you have
- another in nice human readable form, much like cutechess
Here is a cutechess example. I
1. g3 {book} d5 {book} 2. Bg2 {book} Nf6 {book} 3. d3 {book} g6 {book}
4. Nd2 {book} Bg7 {book} 5. e4 {-0.16/29 11.06s} dxe4 {+0.13/20 7.99s}
6. dxe4 {0.00/22 1.39s} e5 {-0.05/21 9.19s} 7. Ngf3 {0.00/22 2.06s}
Qe7 {+0.01/21 5.98s} 8. O-O {+0.11/24 2.68s} O-O {+0.28/19 2.07s}
9. Re1 {+0.16/24 10.87s} Rd8 {+0.18/21 8.05s} 10. a4 {+0.05/25 2.42s}
c5 {+0.55/19 2.56s} 11. a5 {+0.03/49 4.90s} Nc6 {+0.26/22 7.89s}
12. c3 {0.00/25 2.49s} Qc7 {+0.33/22 10.22s}
Interestingly that is from an older version, currently I'm only getting round seconds, that may be a config issue, but in terms of just reading the pgn outside any GUI and getting a flavour of the game, it is even cleaner:
1. d4 {book} Nf6 {book} 2. Bg5 {book} d5 {book} 3. e3 {book} c5 {book}
4. c3 {book} Qb6 {book} 5. Qb3 {0.00/36 25s} Nc6 {+0.12/25 34s}
6. Nd2 {+0.01/30 10s} Bf5 {+0.09/25 19s} 7. dxc5 {-0.04/34 37s}
Qxc5 {+0.08/26 33s} 8. Ngf3 {0.00/30 9.3s} e5 {+0.19/27 19s}
9. Bb5 {+0.06/33 16s} h6 {+0.08/28 36s} 10. Bh4 {+0.03/32 13s}
Bd6 {+0.03/24 19s} 11. O-O {+0.08/32 13s} a6 {-0.02/24 14s}
12. Bxf6 {+0.08/36 14s} gxf6 {0.00/24 12s}
Arena is an example of a GUI than gives you some options for the output pgn. Arena pgn is also fairly clean:
1. e4 c6 2. c4 d5 3. exd5 cxd5 4. cxd5 Nf6 5. Bb5+ {+0.26/13 3} Bd7
{-0.30/14 7} 6. Bc4 {+0.35/14 3} b5 {-0.30/13 7} 7. Bb3 {+0.31/14 3} a5
{-0.48/13 8} 8. a3 {+0.24/13 3} Na6 {-0.30/12 6} 9. Nc3 {+0.25/13 3} b4
{-0.32/12 5} 10. Na4 {+0.38/14 3} Bb5 {-0.12/11 5} 11. Nf3 {+0.34/13 3}
Nxd5 {-0.23/11 4}
Just my thoughts.
I got and understood your point!
Actually, the difference is that we applied different formats for keeping book/computing info. BSG keeps more information with some huge numbers, which makes the PGN looks longer/more complicated. For example, Cutechess and Arena use three numbers (score/depth elapsed) while BSG uses four numbers (score/depth elapsed nodes). BSG also supports TCEC format which has more information as well as being significantly longer (e.g., {d=15, mt=1031, n=1199343, wv=0.50, r50=50}).
I could support a format similar to Cutechess/Arena. However, it is one way to lose some useful info.
If we trim out that computing info, the PGN should be quite similar, same "readable to the human eye".
For average people, who use mainly chess GUI instead of looking directly into PGN files, that info could be much easier to turn off from viewing.
Below is a PGN created by BSG when computing info is set to none:
[Event "Chess Tournament"]
[Site "*"]
[Date "2023.01.29"]
[Time "15:13:06"]
[Round "1"]
[Board "3"]
[White "Komodo 11.01 64-bit"]
[Black "Stockfish 14"]
[Result "0-1"]
[Termination "mate"]
[ECO "B93"]
[Opening "Sicilian"]
[TimeControl "movetime: 20"]
[PlyCount "132"]
1.e4 c5 2.Nf3 d6 3.d4 cxd4 4.Nxd4 Nf6
5.Nc3 a6 6.f4 Qc7 {B93: Sicilian, Najdorf, 6.f4} 7.Bd3 g6 8.Nf3 Nbd7
9.O-O Bg7 10.Qe1 e5 11.fxe5 dxe5 12.Be3 b5
13.b4 Bb7 14.a4 bxa4 15.Rxa4 O-O 16.Ra5 Rfb8
17.Bd2 Bc6 18.Kh1 Bf8 19.Nd5 Bxd5 20.Rxd5 Nxd5
21.exd5 h6 22.Nh4 Bg7 23.Qg3 Rb6 24.c4 Rf6
25.Nf3 a5 26.bxa5 Nc5 27.Bc2 Nb7 28.Bd3 Nxa5
29.Re1 Nb3 30.Bc3 Rfa6 31.Bf1 Nc5 32.Nd2 Ra3
33.Nb1 Ra2 34.Bd4 Qb6 35.Be3 Qb4 36.Rd1 Ra1
37.Bxc5 Qxc5 38.Qe1 Re8 39.Nd2 Rxd1 40.Qxd1 Qd4
41.Qe1 e4 42.Nf3 Qb6 43.h3 Qc5 44.g4 Bf8
45.Nd2 Qd4 46.Nb3 Qb2 47.Qe3 Bd6 48.Nd2 Qe5
49.Qe2 e3 50.Nf3 Qf4 51.Qd1 Rb8 52.c5 Bxc5
53.Be2 Bd6 54.Qe1 Rb2 55.Kg2 Ra2 56.Kf1 g5
57.Kg1 h5 58.Qf1 Qg3+ 59.Kh1 hxg4 60.hxg4 Rb2
61.Qg2 Rb1+ 62.Bf1 e2 63.Qxe2 Qh3+ 64.Kg1 Bc5+
65.Nd4 Bxd4+ 66.Qe3 Bxe3# 0-1