I thought I might take a minute to share a project I started about 20 years ago.
Essentially, I used my ChessMaster program to make a "Chess Explorer".
In 1998, I noticed I could add notes into the annotation window for each chess position displayed in the game. After toying around with several ideas for a few months, I decided I wanted to document every variation of the Ruy Lopez, score each variation with the Chessmaster analysis engine, then record each score at the end of the line using the player annotation window.
Then, I'd take that score, bring it forward however many moves to the previous point in the opening where a particular line branched off and compare that score with the scores of all the other candidate branches stemming from that position for which I'd also analysed and recorded the score.
At each of these positions where the opening could branch to one variation or another, I'd then sort each candidate line based on the score, going from best to worst. Initially, I only did this for "White to move", and ignored the windows displayed for "Black to move".
I soon realized that it'd be cool to be able to use it for Black, as well. Then, some time later (probably a few weeks or more), I discovered that the Caro variation of the Lopez can transpose into the Steinitz at move 6 and this increased the complexity of my endeavor because I knew I'd have to make note of this transposition, record the score from that branch in the window where the transposition was possible - and that I'd need to do this for all transpositions in the Ruy.
Well, to make a long story short, the scope of my task exploded over the years until I finally accepted to fact that I could not analyse just a single opening. I could not ignore the relevant transpositions. Nor could I only consider the game from the perspective of only one color.
Indeed, I had to analyze and compare every named opening, note all relevant transpositions and do this from the perspective of both Black and White. I'd have to compare all those lines and branches to one another, condense each result into the annotation window and bring the results of each comparison forward to the previous branch in the line. I did this for every named opening until I reached the starting position of the game.
It took 10 years, give or take.
When I was finished and had just hit the "save" button for what I thought would be the last time, I instantly realized that I also needed to include all credible moves, and not just the ones in named openings.
No time to rest!
As to this task, I have not finished and don't expect that I ever will. Not in this life, anyway.
Here's a screenshot of the starting position, so far, comparing every opening move with every other move, and representing what effectively is 20 years of composite computer chess analysis.
Sadly, as the .CMG file containing all this information grows, it appears to be reaching the limits of the Chessmaster program. I started with ChessMaster 7000, upgrading at each new release, and I'm currently using GrandMaster Edition. I save the file every few edits, and backup the backups, but there have been a few times where I have lost weeks of work because of corrupted files probably resulting from broaching the limits of the program or a momentary shortfall of system resources during a save.
Here's a few more screen shots:
This is a position (Move 3, White to move) in the Bogo-Indian comparing three named candidate variations. Note that one is a transposition to the Three Knights Variation of the Nimzo-Indian.
The "*1" within the name of the line directs you to a note concerning the transposition. The note tells which move order to use to see the continuation. In other words, if I were to simply play Nc3 here, the following screen results:
Playing Nc3 here and transposing directly to the other line shows a blank annotation window. This is because in order to avoid analyzing the same exact position more than once, I use this system of redirects instead and analyze a position only once. Here's a screenshot of the Nimzo at the point just before (White to move) the Bogo can transpose into it:
Note that instead of an asterisk (*1) in the reference, I use a "#" along with a number to keep the references straight. *'s I use to point to the move sequence where the line continuation is documented, and #'s indicate that another line transposes into the current point and that the referenced line is dependent upon the following continuation. This is necessary so that when I expand the main line with new analysis, I know where to go and update all the dependent transpositions as well.
And then the Main line continues with 4.Nf3:
Now, I'm looking to migrate my opening "explorer" to something more user friendly. It is pretty awkward to actually use in positions where lines transpose like a game of ping-pong at every other move. This is in addition to the fact that it looks like I am reaching the limits of the ChessMaster platform.
But on the whole, it works surprisingly well for a something I started 20 years ago. Does anyone have any suggestions?
What I'm looking for is as follows:
1.) Position navigation similar to what 365chess.com offers (link based?), showing chessboard position as you step through the moves, ability to add candidate moves, and an editable annotation window for each position.
2.) Recognizes and seamlessly accounts for transitions. For example, when I arrive at the position 1.Nf3 c5 2.e4, it shows the annotations and notes for the same position arrived at by the more common move sequence, 1.e4 c5 2.Nf3. When I edit new notes, those notes show up for unique position no matter which move order is used to get there.
3.) Ability to analyze each position with imported chess engines...this is probably standard on most programs, but I'm not too familiar with the process.
4.) I'm not interested in Win/Loss percentages like what is displayed at 365Chess.com, but I have noticed that 365 has recently added the results of engine analysis, displaying chess "score" along with depth of analysis. Obviously, the position score is fundamental to my needs, but also the search depth is necessary. My current platform does indeed record search depth/ply information along with score.