Hi!
I just want to give a quick update on the work in progress for the "Live analysis" feature.
So far so good, adding the feature appears to be suspiciously easy: I did not have to break to much existing things in GRP to make it fit into the existing code, it fact it pushed me to clarify my code and things that what not so clear to me until now (in term of code architecture) are starting to make sense. I guess I must have graduated to SDK in term of python programming
So here is a screen-shot during a live analysis game:
Attachment:
live2.png [ 53.63 KiB | Viewed 17715 times ]
The analysis is ready to open at any time, which is pretty cool, as you can quickly check how is the game going on, and resign eventually if you are already loosing too much.
So here is what the setting panel looks like:
Attachment:
live0.png [ 24.23 KiB | Viewed 17715 times ]
Attachment:
live1.png [ 29.72 KiB | Viewed 17715 times ]
First step is to choose what bot will be used for the analysis. Second step is to choose who will be playing for black and white.
- If black and white are selected as "Human" then it becomes more like a "spectator mode", and it's up to you to enter the moves of both color one by one. This might be useful for people making a live game commentary.
- There is the possibility to use the same bot instance that performs the analysis as your opponent. In that case, the game and the analysis proceed at the same time.
- One can choose to have the same bot instance that performs the analysis to play for both colors. In that case, in becomes a self commented self game. Might be interesting to use this to check out latest progress of Leela Zero.
In case both black and white are played by bot, then there is a button available to pause the game.
Then, in case a different bot that the one used for analysis plays as black or white (or both), then there is an option to avoid overlap thinking time. There are some case where overlap thinking does not matter:
- One bot mainly uses CPU and the other mainly uses GPU
- The bot thinking time is limited by a number of playout
- The bot is actually running on another computer, sort of GTP over the network (must be common at Deepmind).
In other case, it might be better to ensure the 2 (or 3) bots get to think at a different time.
In such case, the playing bot is given priority over the analysing bot, the later waiting for the human to play to proceed on the analysis.
The two features I still need to add are:
- Possibility to undo one or more move during a game
- Possibility to restrict the analysis to only black or white
The issue I have at the moment is regarding the bots settings. GRP currently proposes 2 settings:
- One for the bot to use during analysis (typically with a long thinking time)
- One for the bot to use during review, in the "open position" panel (typically with a shorter thinking time).
Now, for the live analysis, I would be nice to have black and white bots having a shorter thinking time, while the analysis bot keeps a long thinking time.
But in case one want to use the analysis bot as either black bot or white bot, then it would be nice to have it to play with a shorter thinking time, even better, the possibility to choose.
Still, I don't want to have a third or fourth setting possibility for each bot, as it's quickly becoming too confusing, and requires to much work to set up.
So in the end, I will probably propose only 2 settings per bots:
- One long thinking time, that will be use mainly for the analysis
- One short thinking time, that will be use mainly during review, and as black or white during live game
Then I should add the possibility to select what "Profile" to use in each case. Something like this

I mentioned above the potential to use GRP as an aid for live game commentary. In fact, if I am not mistaken, DeepZen is increasingly used by commentators for official games. I also believe software like GRP could be of some help for those of us who create video content on Youtube or Twitch, so after this live analysis feature is completed and released, I will spend some time thinking about what could make GRP useful for such use case. Let me know is you have some idea.
_________________
I am the author of
GoReviewPartner, a small software aimed at assisting reviewing a game of Go. Give it a try!