Hi all,
I would like to describe a limitation I am currently experiencing when using PicoChess for position analysis, and suggest a possible improvement.
My Raspberry Pi is installed inside an all-in-one enclosure which includes a display, speakers, LCD, fan, etc. In other words, my PicoChess setup is not headless, and I interact directly with the Raspberry Pi itself. I never use an additional tablet or smartphone to operate PicoChess.
When I want to analyse a position, I use:
Analysis → Pico → Show
This correctly displays the principal variation currently being analysed by the active engine.
The problem is that, when analysing a chess position, in pretty much all cases it is much more useful to see multiple candidate lines, rather than just one principal variation. At the moment, however, there seems to be no way from the PicoChess UI to temporarily force the currently active engine to analyse more than one PV.
I know that a workaround already exists for users accessing PicoChess from a tablet or smartphone.
By connecting to the PicoChess webserver through Chrome and activating the Watcher, a second engine can be loaded in the Chrome instance. As I understand it, this engine runs on the client side rather than on the Raspberry Pi, therefore avoiding additional load on the Pi itself.
The Watcher interface also provides buttons allowing the user to select multiple PVs, and PicoChess even allows the user to choose which engine should be used by the Chrome instance.
This is a very good solution for people running a headless PicoChess setup or for users who normally interact with PicoChess through another device.
However, it does not really solve the problem for users like me who operate PicoChess directly from an enclosure and do not normally connect an additional device.
Would it therefore be possible to add a similar capability directly to the PicoChess interface?
Ideally, while in analysis mode, there could be a way to temporarily set MultiPV for the currently active engine — for example 2, 3, 4 or more lines — without permanently modifying the engine configuration.
This would make the built-in analysis function considerably more useful, because analysing only one PV often gives a rather incomplete picture of a position.
I hope this use case and possible enhancement can be taken into consideration.
Many thanks for your work on PicoChess.
Best regards,
Andrea
Hi Johan, Dirk,
I am now starting to write the manual section about using PicoChess as an analysis/study tool, including the checkpoint/explore functionality.
Before I document the procedures, I would like to verify a few UI details with you, because I want the steps to be exact and then perform one final round of testing myself.
My current understanding is the following.
When entering Analysis mode from another mode, PicoChess automatically stores a checkpoint containing the current position and the previous mode. The user can then freely explore on the physical DGT board. When the analysis is finished, PicoChess can return to that checkpoint, guide the user to restore the physical position and then resume the previous mode.
Could you please confirm the exact UI sequence for this?
In particular:
What is the exact menu/button sequence used to return from Analysis mode to the stored checkpoint?
When returning, does PicoChess always automatically:
restore the previous mode;
enter the “set pieces” guidance;
wait until the DGT position matches the stored checkpoint;
play the OK sound once the position is correct?
Does this mechanism work identically when Analysis mode was entered from:
Normal mode;
Enter Moves / Hint / Eval modes;
PGN Replay mode?
Regarding the Web Explore function: my understanding is that while Explore is ON, the web board can be used independently and the PicoChess backend + DGT position remain the synchronization point. The web board returns to that position when:
Explore is switched OFF;
Sync is pressed;
a move/change is made on the physical DGT board.
Is this correct?
Finally, if there is no DGT board connected, is the behaviour conceptually the same, with the PicoChess backend position acting as the reference/checkpoint for the web client?
I am asking these questions because I want the manual to describe the actual UI workflow, not only the underlying concept. Once you confirm this, I can reproduce the procedures and do a final test pass before writing the final version.
Thanks!
AG
To enter temporary physical-board Analysis:
To return:
Open ⚙ Menu.
Select Mode.
The normal Analysis tile is now replaced by:
↩ Return to previous mode
For example, ↩ Return to Play or ↩ Return to Enter Moves · Hints.
Select that Return tile.
This return command currently exists in the web Mode menu. It is not a separate button on the ANALYSIS tab or a command in the physical DGT clock menu.
An ordinary mode change away from Analysis has a different meaning: it keeps the current analysed position and discards the checkpoint. It does not restore anything.
What happens during ReturnPicochess performs these actions in this order:
Two qualifications are important:
The code protects completion as a single transaction, so repeated board scans or duplicate Return requests should not produce multiple OK confirmations. Whether the confirmation is audibly spoken depends on the configured sound/voice setup; Picochess emits one Postion OK confirmation.
Modes from which Analysis can be enteredThe checkpoint mechanism applies to every successful transition from another mode into Analysis.
PGN Replay is the case I would particularly include in your final manual test pass.
Web ExploreYour understanding is substantially correct. Web Explore is browser-local and independent of the backend checkpoint mechanism.
While Explore is ON:
The web board returns to the Picochess live position when:
A transient piece lift by itself is not necessarily a position update. The reset occurs when PicoChess accepts and publishes the changed DGT position or move.
One small UI distinction:
Both facilities still work, but they remain distinct:
The Web Explore anchor is of course not technically a checkpoint as you know, its just the backend picochess server and the DGT board.
-- Johan