rooklift / nibbler

Chess analysis GUI for UCI engines, with extra features for Leela (Lc0) in particular.
GNU General Public License v3.0
535 stars 68 forks source link

Todo / suggestions list #10

Open rooklift opened 5 years ago

rooklift commented 5 years ago

Note that this is just for my own benefit, I'm not really asking for help. Also, some things in the second section I don't necessarily agree with.

My own thoughts

User comments

ghost commented 5 years ago

Any chance of board co-ordinates please - my eyesight/recognition not what it used to be. Many thanks for Nibbler.

rooklift commented 5 years ago

Around the edges, or in the squares?

ghost commented 5 years ago

Around the edges please but will be happy with whatever is easiest to code - if on the board maybe a little bolder than normal.

ghost commented 5 years ago

Screen Shot 2019-06-24 at 12 29 24 PM

ghost commented 5 years ago

You have a dark/black background so white co-ordinates will do nicely.

koedem commented 5 years ago

Suggestion: Option to see score from White POV. (no matter who to move) Basically every GUI has that per default. (except for Arena I think, where it still is an option)

Maybe add a Q+U in the technical info bit, for the lazy who don't want to divide the score by 50 and then add it to U. :D

ghost commented 5 years ago

Thanks for v0.6.1 !!

rooklift commented 5 years ago

Don't thank me too much, I didn't add coordinates, got a lot of things on the todo list as you see. :)

But I have a fairly frenetic release schedule.

ghost commented 5 years ago

No worries - I can wait .. :)

AlexisOlson commented 5 years ago

Suggestions:

  1. Put N, P, U on a new line (or before move list) so they align with each other.
  2. Enable sort move list by Q, N, P, U.
  3. Cross-highlight the board when hovering over move in the right pane (like hovering on the board position cross-highlights the other way).
ghost commented 5 years ago

Fast & Furious (maybe not furious) !! Thanks !

mgemard commented 5 years ago

I can do "Show opening names."

mgemard commented 5 years ago

I will look at "Search from openings by name to immediately set up position." as well since it is kinda related.

rooklift commented 5 years ago

Hmm - I'm not exactly soliciting pull requests, this is mostly for my own tracking. Not that everything listed here is gonna be done.

rooklift commented 5 years ago

@mgemard - I hope you saw that message... no guarantees on merging things...

mgemard commented 5 years ago

Yes I saw the message, thank you.

I came back because I have an idea for a new feature:

rooklift commented 5 years ago

It's probably not a feature I actually want - it seems like significant added work / code / complexity for not a huge amount of benefit...

[Edit: this was about your comment that somehow ended up below this comment.]

mgemard commented 5 years ago

For the list of opening name with FEN, you can look here: https://github.com/ornicar/scalachess/tree/master/src/main/scala/opening It is what lichess is using.

Do you know if there exist a database available we could use that list all of the opening name with FEN?

rooklift commented 5 years ago

No I don't know of any such database. But to repeat, I discourage you from any course of action that depends on me accepting pull requests. Of course, you're free to have your own fork, and I might even accept PRs if you're lucky, but caveat actor.

al75an commented 5 years ago

Hi, Thank you very much for this fantastic chess Gui, Could you please add the option to add a second engine ( like Stockfish) for analysis. I love the Gui and lc0 but I have a weak GPU. I think this will help lots of people like me to get better Chess analyzes

AlexisOlson commented 5 years ago

@al75an Stockfish has a fundamentally different search algorithm not compatible with Nibbler. There are other GUIs better suited for Stockfish.

al75an commented 5 years ago

Thank you Alexis, I am using Chessbase and Scid vs Pc but I am not happy with both GUI. I love nibbler and I thought that could possible. thank you for letting me know

rooklift commented 5 years ago

Thing is, traditional alpha/beta engines aren't able to give the sort of multi-variation output that Nibbler requires, without sacrificing their strength greatly.

conqueran commented 4 years ago

I know this isn't the place for comments but really love Nibbler. I like playing against the lower rated leelas and appreciate how easy it is to use.

rooklift commented 4 years ago

Thanks!

kubiknubika commented 4 years ago

suggestions: add loop to selfplay. add training to selfplay. add tournament or serial games with pgn-pack. add graph-save: jpeg/pgn-annotation. add double-weight use for selfplay. 960-chess set seed. sygyzy for self-play (or sf will play in 5+ eval positions to minimize the useless endgame moves by lc0, or autoresign). preset openenings. no-castle mode (you can do manually, but auto is better). pgn-annotation for everymove with N and number of nodes (full+on played move). autodraw in selfplay when eval=X for Y moves. ability to create a new weight and train it (maybe too hard or useless).

rooklift commented 4 years ago

@kubiknubika - the only one of those that already exists is "960-chess set seed." - if you know the number, just delete everything in the FEN box and type it in, e.g. 123, and press return. Otherwise, you can type the pieces, e.g. "RKRBBQNN"

This is a very hidden feature, admittedly.

Debneil commented 4 years ago

Feature request:

  1. auto-analysis of pgn-files with multiple games
  2. lichess-style inaccuracy / mistake / blunder counter and centipawn loss for both sides
Debneil commented 4 years ago

Feature request: store evaluations and save game as pgn file / append game to another pgn file.

rooklift commented 4 years ago

Well, it's already writing some stats (you can choose which) to a PGN when you save it.

Debneil commented 4 years ago

Ah, yes. Really no excuse why I missed that. Just consider the other half of the request, then.

koedem commented 4 years ago

I've mentioned a similar idea in the discord some time ago, this would be an even more useful implementation (albeit probably quite a bit of work): For each search store the position and search results in some kind of database. A new search can overwrite the old results based on some criterion (e.g. more nodes searched), whenever the engine is halted and you switch to a new position, show database analysis if existing.

This would be really helpful for deep opening analyses, e.g. when building a repertoire for some opening. You could search a bunch, jump around and later recover all those search results. (including, importantly: the search results for transpositions, even if one didn't search them in this move order)

I realize this would be quite a lot of work, but if it could be added to some long term TODO list that would be great. :)

leelanib commented 4 years ago

Hi there, thank you for the nibbler v1.4.5 release which is almost perfect. Though there is a tiny Beauty mistake. When I start nibbler 1.4.5 with lc0 v0.25.1 the Right part of the screen next to the chess board reads: "Loading Syzygy tablebases ….". The next line starts with "Found 0WDL...". It would be nicer and more consistent with the rest of the line with "0 DWL". The next line is RED and reads "Failed to download Syzygy tablebases!" How can I avoid the showing of this alert when I do not have the tablebases? Is there an Option in lc0.config or config.json? Thank you.

rooklift commented 4 years ago

Those messages are from Lc0 itself. Uh, to delete the Syzygy from Nibbler's own configuration, you can use the menu item Engine --> Syzygy --> Disable. Or if it's in your lc0.config file you'll have to edit that.

leelanib commented 4 years ago

Thank you, you are absolutely correct. The “WDL beauty error” comes from syzygy.cc of Lc0 v0.25.1 and could be corrected there very simple. The other issue I fixed within lc0.config (here mark the following line as comment only: # --syzygy-paths=true

Do you plan to implement a graphic like the following in Nibbler 1.4.6?

[cid:image002.jpg@01D63F54.AE404A60] Best regards,

Axel

leelanib commented 4 years ago

Te above mentioned graphic is the following: x-axis = moves, y-axis = WDL

surh commented 4 years ago

Great app, would it be possible to graph the WDL probability? Something like the graphs in this blog post https://lczero.org/blog/2020/04/wdl-head/

bakuldada commented 4 years ago

just a thought based on comments and current wishlist, ability to edit board using drag drop looks clearly the most pressing and must have compared to others.

ech1 commented 3 years ago

how about an option to load 2 different engines to battle each other ? i know xboard has an option to load 2 engines

besides, since this is a leela-based client, how about having 'temperature for lc0-white temperature for lc0-black', the idea being to see how different elo levels destroy each other

also it would be nice to have the drawing arrows feature that lichess has (right clicking to draw green arrows to help calculations)

mbabigian commented 3 years ago

How about automatically saving the current moves and position when you exit. I'm used to ChessGUI's I can just close and reopen to the same position / move list as before closing. Just autosave a pgn on close and reload on startup.

Very grateful for Nibbler, LC0 would be lost without it!

mbabigian commented 3 years ago

Also a graceful way to get back to displaying the board/analysis after clicking "Show error Log"

;)

toddfreitag commented 3 years ago

I'd like the ability to set per-move node limits.

For example, if I focus 3 different moves and set a limit of 100M nodes per move, after 300M total nodes, each of the 3 focused moves should end up with 100M nodes.

yuzisee commented 1 year ago

I know Nibbler isn't really maintained right now, so I don't expect it to get reviewed/merged any time very soon — but for posterity: linking here, since it's based on one of the items in the list

Note also:

Also, some things in the second section I don't necessarily agree with.

"Coordinates" is in the second section, so @rooklift might end up not taking it.