3 awesome tools for LittleBlitzerGUI users

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

User avatar
pohl4711
Posts: 2438
Joined: Sat Sep 03, 2011 7:25 am
Location: Berlin, Germany
Full name: Stefan Pohl

3 awesome tools for LittleBlitzerGUI users

Post by pohl4711 »

Thomas Zipproth wrote 3 tools, which correct 2 bugs and a weak point of the LittleBlitzerGUI. Download them and check the Readme-file for further information...You find the download in the "Downloads & Links"-section on my website or right here:

https://www.sp-cc.de/files/zipproth_lbg_tools.zip

I used the tools on my pgn-files (Stockfish-testings, Archive HERT and the NN_testings). Check that out - I love it.

Here the ReadMe-file:

The LittleBlitzerGUI (=LBG in the following text) is a fantastic GUI for engine-tests, because it is easy to use, can handle up to 16 games in parallel (in V2.75) and (most important) is running extremly stable. I use the LBG since 2013 and played millions of games with it on different PCs and had 0 (in words: ZERO) crashes in that time. No other GUI is running that stable, I believe.
But, sadly, the LBG is no longer in development and there are 2 bugs and 1 weak point in it. But for all 3 problems, Thomas Zipproth has written small tools, which solve them.

The first bug of the LBG is the en-passant bug: If an ep-move is in an opening-line, which is given as a PGN-file to the LBG, the captured pawn is not removed from the chessboard! The solution is, to give an EPD-file, containing the endpositions of the opening-lines, to the LBG instead. Thomas wrote the pgn2epd tool, to build an EPD-file containing all endpositions of the opening-lines in a PGN-file in just a second. Use the EPD-file as opening-file in the LBG and the bug is gone.

The weak point of the LBG is, that in the output PGN-file (results.pgn), which contains the played games, the first move is always the first calculated move by the engine and a FEN-Code is written in front of the moves, which contains the starting-position of thinking (= the endposition of the opening-line) – this happens even when a PGN-file is used as opening-file. And, of course, when an EPD-file is used, because of the en-passant bug (see above). Thomas wrote the pgnConvert tool: This tool requires the opening-lines as PGN and EPD and the results.pgn-file with the played games and it builds a new results.pgn-file, whith all games starting with move 1 at the chess starting-position and without FEN-code – awesome. And with the option „book“, the tools writes „book“ as comment behind each ply, which was part of the opening-lines and not played by the engines. Very cool!

The second bug of the LBG is the 50-move-draw bug: The LBG ends games as 50-move-draw not after 100 plies without pawn-move or capture-move, but when 101 plies are played. And some engines (not all, but Stockfish for example) are sometimes playing silly moves, when the bad consequences are behind the 50-move-draw frontier. In rare cases (around 0.4% of all played games), this can lead to losses in a clearly drawn positon. Some years ago, I looked into some hundredthousand games of my former Lightspeed-ratinglist for those games and found, that the engine-ratings were only affected around 1-2 Elo. So, it is meaningless for testing engines, but a bug is a bug...
Thomas wrote the pgn50moves tool, which checks all played games for more than 100 plies without capture- or pawnmove and cuts the game at that point and change the result to 1/2-1/2 if it was a 1-0 or 0-1. So, that bug is gone, too. Awesome!


All 3 tools can be started in the MS-DOS-Window, manually or with a batch-file (.bat-file). Here is the syntax:

pgn2epd openings.pgn
You give the name of your opening.pgn-file to the tool (example here: openings.pgn). A new file is built, called openings.epd. Use that file for your engine-testing in the LBG, instead of your openings.pgn file. The epd-file contains all endpositions of the pgn-file opening-lines...

pgnConvert games.pgn openings.pgn openings.epd games_corrected.pgn [book]
You give the name of the pgn-file, which contains the played games by the LBG to the tool (example here: games.pgn, normally the LBG names it results.pgn) and the filenames of your openings as pgn and epd (the epd-file was built by the pgn2epd-too (see above)). And behind that, the filename of the new PGN-file, where the tool writes into (example here: games_corrected.pgn). And finally, you can write book, if you want, then the tool adds „book“ as a comment to each ply, which is part of your openings.pgn-file, so you can see, where the engines started thinking. The tool writes the corrected games, which start now from the normal chess starting position, not from the point, when the engines started thinking, into the new games_corrected.pgn-file.

pgn50moves games.pgn games_corrected.pgn [0/1] [Cut]
You give the name of the pgn-file, which contains the played games by the LBG to the tool (example here: games.pgn, normally the LBG names it results.pgn). And behind that, the filename of the new PGN-file, where the tool writes into (example here: games_corrected.pgn). Then you can choose 0 or 1:
0 means, only games, which were a 50move-draw and the result was wrong (1-0 or 0-1) are cut after exactly 100 plies without pawn- or capturemove and are corrected to the 1/2-1/2-result.
1 means, all games, which were a 50move-draw are cut after exactly 100 plies without pawn- or capturemove.
Finally you can write a string (example here „Cut“). The tool adds this string to the comment of the last ply of all cutted games, so you can find them with the search-function of an editor or the FritzGUI, when you copy the games out of the pgn in a Fritz-database (a .cbh file).
The tool then writes all games into the new games_corrected.pgn-file.


Complicated? NO! I wrote 2 little batch-files, to make the using of these fantastic tools as easy as possible, you just start them with double-clicking:

Here the Step-by-step manual:

Before you play an engine-tournament using the LBG, you start convert_pgn_to_epd.bat with double-click:
(The folder, which contains convert_pgn_to_epd.bat must also contain pgn2epd.exe and your openings in a pgn-file)
You will see on screen: „Enter the name of your pgn opening-file (without .pgn ending!) The file must be in the working folder !!“
You type the name of your opening.pgn-file without .pgn. Example: Your openings are stored in my_openings.pgn. Then you type just „my_openings“ and press Return. Done... you will find a new file in the folder, called my_openings.epd and you use that epd-file for the LBG engine-tournament.


After the LBG has finished the engine-tournament, you start correct_LBG_games.bat with double-click.
(The folder, which contains correct_LBG_games.bat must also contain pgnConvert.exe, pgn50Moves.exe, your openings in a pgn-file and in an epd-file and the output pgn-file of the LBG engine-tournament (normally it is results.pgn))
You will see on screen: „Enter the name of your opening-files (without .pgn and .epd ending!). Both files (.pgn and .epd) must be in the working folder !!“
You type the name of your opening.pgn and opening.epd file without .pgn or .epd. If your openings are stored in my_openings.pgn and my_openings.epd (example from above), then you type just „my_openings“ and press return.
Then you will see on screen: „Enter the name of the pgn games-file, you want to convert (without .pgn ending!) The file must be in the working folder !!“
You type the name of games-file, the LBG gave you back, after finishing the engine-tournament, without .pgn-ending and press return (normally „results“, because the LBG writes the played games in a file called results.pgn).
Done...
The Batch-file starts pgnConvert first (with [book]-parameter) and after that, pgn50moves, with [0] and [Cut] (see syntax above) and writes the converted and corrected games into a new file, called results_corrected.pgn (if „results“ was your input file).

I believe, that this is really easy...you have to do only one step before playing the engine-tournament with the LBG and one step, after the LBG finished the tournament.


All Kudos are going to Thomas Zipproth. He wrote all 3 tools, which are just awesome...

Copyright for the tools: Thomas Zipproth, 2019