Game identification problem

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

tvrzsky
Posts: 128
Joined: Sat Sep 23, 2006 7:10 pm
Location: Prague

Game identification problem

Post by tvrzsky »

I use Arena for testing my engine (single games, engine matches, tournaments). So output is some PGN file on one side and on the other side there is arena.debug file with logged communication between Arena and engines and eventually my own log file.
My problem is: how to identify one particular game from PGN file with matching records from arena.debug or my log file?
In the case of engine match or tournament there would be possibility to extract its round but only from arena.debug because this info is not available to engine. This also does not work in the case of single games.
Then there is left nothing but Time tag from PGN header. However the way Arena handles starting the game and creating PGN record is rather confusing to me. It records the event of starting new game with some clock state to the arena.debug, then it sends several new Winboard commands (it seems three ones) to engines and only after that the game really starts. The game is recorded to PGN file after it ends. But time given in PGN tag does not strictly correspond with any of events described in the previous sentence. Usually it match the second new command but not always if this comes near the whole second boundary. Of course it would be possible to create some alghoritm which would guess the right matching but I really do not like it.
So is there any easy and simple way to deal with this problem? Maybe use other tournament manager? Or did I overlook something? From my point elementary solution would be to send some unique identification number to engines at the start of the game which is also written to PGN header. But we have nothing like this either in xboard or in PGN specification.