ml-research / liground

A free, open-source and modern Chess Variant Analysis GUI for the 21st century
https://ml-research.github.io/liground.github.io/
GNU Affero General Public License v3.0
109 stars 36 forks source link

Some engines won't show arrows #236

Open haochiwocao opened 2 years ago

haochiwocao commented 2 years ago

For example this one http://rebel13.nl/windows/rebel-14.html but actually a lot of them. Some engines (like this one http://www.pkoziol.cal24.pl/rodent/rodent.htm) will show arrows ONLY of it is set to use 1 thread and not less than 2 MultiPV

QueensGambit commented 2 years ago

Thank you for the bug report. 👍

ksthicke commented 5 months ago

I tried Rodent to investigate what is going on. (The download links for Rebel weren't working.) Some things I learned:

  1. There is indeed an issue when MultiPV is set equal to 1. The issue is that the engine outputs only pv, instead of multipv, but Liground is only looking for multipv. This should be a straightforward fix that I plan to do. I ran into this same issue with Leela Chess Zero, so I was planning to fix this anyways.
  2. When the number of threads is greater than 1, the engine does not always output more than one line, even when MultiPV is set to a number greater than 1. (Liground still plots the arrow for the one line that gets output.) Therefore, this is not a bug with Liground; this is an issue with the engine.
  3. Rodent also has an option to use book moves. When this is enabled, the engine does not do any sort of analysis during the first few moves; it just looks at an opening book and outputs the move it wants to play. Since there is no analysis being done by the engine, there is not really anything for Liground to show with arrows. If you disable the "UseBook" option in the engine settings, then the arrows work just fine (modulo the points above).