Small update to my GitHub repository:
I think the new options we now have — especially the ability to tweak playing strength via our PicoChess level settings in the UCI file for engines that don’t support the standard UCI_LimitStrength or Level parameters (looking at you, new Lc0 networks) — are worth giving this release a shiny new sub-version: PicoChess 3.4.
My GitHub repository: https://github.com/tosca07/picochess
Big thanks to Randy for lots of bug fixes and for pushing the idea of combining time control settings with node/depth restrictions (particularly handy for Lc0 level setups).
Aside from a few fixes and Gerhard’s new eBoard support (Tabutronic Spectrum - already in Randy’s current images), the main change in 3.4 is the added flexibility for restricting depth or nodes while keeping — or adapting — time control settings.
This is made possible via three new dummy UCI parameters (dummy because they’re not real engine parameters, but rather triggers for special PicoChess behavior):
Some background information
The key difference is that UCI engine parameters only apply to the specific engine during its current run, while GO parameters (time, nodes, depth) are global across all engines in PicoChess. So if you set one, it applies everywhere.
This creates a small trap: if you set Node/Depth limits without changing the time control, that limit sticks around globally — easy to forget when switching engines, especially if the level name doesn’t make it obvious.
How we handle it now:
Important remark:
The last chosen setting for time/node/depth (either manual via menu or implicitly via uci file and PicoTime/PicoNode/PicoDepth) will win and be valid for the uci GO command which is sent to the engine.
With these new dummy UCI level settings, we can finally tame engines that normally can’t be strength-limited for us PicoChess players — so now you can enjoy playing them without feeling like you’re facing a chess god every game ♟️😎
Enjoy (coming soon to Randys images I think…)
Dirk