Convert old Chessmaster obk books to pgn with informant symbols.

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

Jonathan003
Posts: 239
Joined: Fri Jul 06, 2018 4:23 pm
Full name: Jonathan Cremers

Convert old Chessmaster obk books to pgn with informant symbols.

Post by Jonathan003 »

Can someone help with this problem please.

John Merlino made a new obk book making tool (MakeBook_v3.20), where you can set different percentages for the book weights (the three dot's). When making an obk book and choosing the option 'weights by frequency', you can now specify how much percentage a move has to be played, to get one, two, three or no dot's assigned. And you can set different criteria for the white moves and for the black moves. John Merlino is still working on updates for the MakeBook tool, to include an option to delete zero weight branches.
The tool was originally used for making corrections to existing obk books for Chessmaster 9000 and later versions of Chessmaster.
By the way you can only install Chessmaster 9000 on Windows 10 32-bit system.
But you can copy the program files, and the documents files of Chessmaster 9000, once you have installed it, to the program files and documents folder on a Windows 10 64-bit system. And run Chessmaster 9000 in Windows 10 64-bit this way.

You can convert the obk books to pgn with obk2pgn and remove sidelines (moves with no dot's), by searching for games with a '?' in the annotation and deleting them. That's a great approach for making repertoires for over the board games. There is no limitation for game length with MakeBook_V3.20 when making obk books from a pgn database. So, if you choose for example depth=999, you get the complete games in the obk book. When you convert the obk books to pgn with obk2pgn, end then convert to cbh format in Chessbase and create a search booster, you can search for games with a '?', and delete these games. Then you only have the main lines. You can even find the original games with these lines, (with game statics), if you add the games together with the original games, and search for doubles with exactly the same moves in Chessbase.

Obk2pgn works great to convert obk books to pgn, as long there are no games with underpromotion included in the pgn where the obk books are created from. Obk2pgn doesn't have problems with all lines with underpomotions to convert to pgn, but many lines with underpomotions gives problems. An as soon as there is a problem obk2pgn just shuts down and the obk book is not converted to pgn.

Here is an example of a obk book where obk2pgn is unable to convert it to pgn:



I searched for games with underpromotion with pgn-extract in a big pgn database, and I made a obk book from these games with this script

Code: Select all

makebook_v3.2 command=import depth=80 outbook=underpromotions_book.obk < underpromotions.pgn
I have also included the pgn database with the games with underpromotions in the Google drive link.


I can also use the tool obk2bin and use the option-p to include a pgn file, (with informant symbols according the book weights in the obk book). Obk2bin is included with the download OpenBook http://goneill.co.nz/chess.php

This tool has no problems with converting obk books to pgn when there are games with underpromotion. But there is a limitation of maximum 100 ply. And the informant symbols in the resulting pgn (according the weights in the obk book), are not as accurate as when converting the obk book to pgn with obk2pgn.
So, I prefer obk2pgn, but I don't find a Source code of obk2pgn, so it will be very difficult to change something about it, to solve the failure for converting obk books, when there are lines with underpromotion.
There are Source codes included in the OpenBook folder.
I think what would be most realistic to achieve is to debug obk2bin included in the OpenBook folder. So, it works like obk2pgn, and also doesn't have this limitation of 100 ply.

Here is a link to my google drive with the obk book tools I use:


The obk2pgn tools and the MakeBook tool. The Chessmaster-80 file is also included, and the OpenBook folder with obk2bin and the source codes.
Read the readme files and example files to see how to use the tools.

I hope someone can help me with this because I want this to work. To filter out the main lines in a big pgn database. For the complete games and not only for the opening.
Jonathan003
Posts: 239
Joined: Fri Jul 06, 2018 4:23 pm
Full name: Jonathan Cremers

Re: Convert old Chessmaster obk books to pgn with informant symbols.

Post by Jonathan003 »

The 'Chessmaster-80.exe' file needs to be placed in the installation directory from Chessmaster 9000.

John Merlino made a modified Chessmaster-80.exe file. To be able to make books and navigate books up to 80 plies, within Chessmaster 9000. You just have to copy it to the install directory of Chessmaster 9000, (don't replace the original, just keep both exe files). And run Chessmaste 9000 from Chessmaster-80.exe

This is an example how the pgn output of obk2pgn, and obk 2bin looks like:

Code: Select all

[Event "?"]
[Site "?"]
[Date "????.??.??"]
[Round "?"]
[White "?"]
[Black "?"]
[Result "1/2-1/2"]

1. b1a3? g8f6!! 2. c2c4!! g7g6!! 3. b2b3!! f8g7!! 4. c1b2!! e8g8!! 5. g1f3!!
c7c6!! 6. e2e3!! d7d5!! 7. f1e2!! c8f5!! 8. e1g1!! b8d7!! 9. a3c2!! f6e4!!
10. b2g7!! g8g7!! 11. f3d4!! e4d6!! 12. d4f5!! d6f5!! 13. d2d4!! f5d6!!
14. c4d5!! c6d5!! 15. e2d3!! e7e6!! 16. d1d2!! d8e7!! 17. f1c1!! f8c8!!
18. g2g3!! d7f6!! 19. d2b4!! a7a5!! 20. b4a3!! b7b5!! 21. c2e1!! b5b4!!
22. a3b2!! f6e4!! 23. d3e4!! d6e4!! 24. c1c8!! a8c8!! 25. e1d3!! c8c3!!
26. b2e2!! e7f6!! 27. f2f3!! e4g5!! 28. a1f1!! h7h5!! 29. h2h4!! g5h7!!
30. f1c1!! c3c1!! 31. d3c1!! h7f8!! 32. c1d3!! f8d7!! 33. g1g2!! e6e5!!
34. d4e5!! d7e5!! 35. d3f4!! f6c6!! 36. e2d2!! d5d4!! 37. e3e4!! c6c3!!
38. d2f2!! d4d3!! 39. f2a7!! c3b2!! 40. a7f2!! d3d2!! 1/2-1/2

[Event "?"]
[Site "?"]
[Date "????.??.??"]
[Round "?"]
[White "?"]
[Black "?"]
[Result "1/2-1/2"]

1. b2b4? e7e5!! 2. c1b2!! f8b4!! 3. b2e5!! g8f6!! 4. e2e3!! e8g8! 5. c2c3!!
b4e7!! 6. e5f6!! e7f6!! 7. d2d4!! c7c5!! 8. f1d3!! d7d5!! 9. g1e2!! g7g6!!
10. b1d2!! d8d6!! 11. e1g1!! b8c6!! 12. h2h3!! a7a6!! 13. d3c2!! b7b5!!
14. f1e1!! f8d8!! 15. d2b3!! c5c4!! 16. b3c5!! a8b8!! 17. d1d2!! d6c7!!
18. a1b1!! a6a5!! 19. e3e4!! b5b4!! 20. e4d5!! d8d5!! 21. d2e3!! d5d8!!
22. g1h1!! c6e7!! 23. c2e4!! e7f5!! 24. e4f5!! c8f5!! 25. b1c1!! b4b3!!
26. a2b3!! c4b3!! 27. e2g3!! b3b2!! 28. g3f5!! b2c1!! 29. f5h6!! g8h8!!
30. e1c1!! d8e8!! 31. e3f3!! b8b6!! 32. c1d1!! h8g7!! 33. h6g4!! f6g5!!
34. d1f1!! c7f4!! 35. f3d5!! e8b8!! 36. g2g3!! f4f5!! 37. d5f5!! g6f5!!
38. g4e5!! b6b1!! 39. h1g2!! b1f1!! 40. g2f1!! g5e7!! 1/2-1/2

[Event "?"]
[Site "?"]
[Date "????.??.??"]
[Round "?"]
[White "?"]
[Black "?"]
[Result "1/2-1/2"]

1. b2b4? e7e5!! 2. c1b2!! f8b4!! 3. b2e5!! g8f6!! 4. e2e3!! d7d5!! 5. c2c3!!
b4e7!! 6. e5f6!! e7f6!! 7. d2d4!! e8g8!! 8. b1d2! c7c5!! 9. f1d3!! b7b6!!
10. g1e2!! g7g6!! 11. e1g1!! b8d7!! 12. e2f4!! c8b7!! 13. d1f3!! f6g7!!
14. a2a4!! d7f6!! 15. f1b1!! d8d7!! 16. h2h4!! c5c4!! 17. d3f1!! h7h5!!
18. g2g3!! a8b8!! 19. f1g2!! f8e8!! 20. b1b5!! e8d8!! 21. b5b2!! b7a8!!
22. f4h3!! d7c7!! 23. h3g5!! f6g4!! 24. g2h3!! c7d7!! 25. f3e2!! d8e8!!
26. d2f1!! f7f6!! 27. g5f3!! g7f8!! 28. f3d2!! f6f5!! 29. e3e4!! f8g7!!
30. h3g4!! f5g4!! 31. e4e5!! g7h6!! 32. f2f3!! g4f3!! 33. d2f3!! e8f8!!
34. f1h2!! a8c6!! 35. e2g2!! d7f5!! 36. a1f1!! f5d3!! 37. g3g4!! g8h8!!
38. e5e6!! d3c3!! 39. g1h1!! h6f4!! 40. b2c2!! c3a3!! 1/2-1/2
And this is what the readme of obk2pgn says about the pgn Output:
PGN Output

Each variation in the original OBK file is output as a separate game in the PGN file. Each move is annotated according to the book score: 3 = !!, 2 = !, 1 = , 0 = ? .

Often in a Chessmaster book it is possible to reach the same position via multiple different lines, often with different scores. This causes problems when converting to an opening book format which stores positions rather than moves. To avoid these problems, the program calculates which score is most common for each position and standardises them.

Using the PGN output in Fritz
Jonathan003
Posts: 239
Joined: Fri Jul 06, 2018 4:23 pm
Full name: Jonathan Cremers

Re: Convert old Chessmaster obk books to pgn with informant symbols.

Post by Jonathan003 »

I just find out that the problem is not with obk2pgn but with the MakeBook tool.
The problem is with the created obk books. There are no underpromotions in the obk books (the pawn always promote to a Queen), even if the obk books are created with pgn games with underpromotions. The same problem when I create the obk books with Chessmaster 9000
I will ask John Merlino if he can fix this problem.