GithubHelp home page GithubHelp logo

soulcharger / nibbler Goto Github PK

View Code? Open in Web Editor NEW

This project forked from rooklift/nibbler

0.0 0.0 0.0 3.91 MB

Chess analysis GUI for UCI engines, with extra features for Leela (Lc0) in particular.

License: GNU General Public License v3.0

JavaScript 98.08% CSS 0.97% HTML 0.60% Python 0.35%

nibbler's Introduction

Nibbler

"By far the best ICCF analysis tool for Leela." โ€” jhorthos

Nibbler is a real-time analysis GUI for Leela Chess Zero (Lc0), which runs Leela in the background and constantly displays opinions about the current position. You can also compel the engine to evaluate one or more specific moves. Nibbler is loosely inspired by Lizzie and Sabaki.

These days, Nibbler more-or-less works with traditional engines like Stockfish, too.

For prebuilt binary releases, see the Releases section. For help, the Discord may be your best bet, or open an issue here.

Screenshot

Features

  • Display Leela's top choices graphically.
  • Winrate graph.
  • Optionally shows Leela statistics like N, P, Q, S, U, V, and WDL for each move.
  • UCI searchmoves functionality.
  • Automatic full-game analysis.
  • Play against Leela from any position.
  • Leela self-play from any position.
  • PGN loading via menu, clipboard, or drag-and-drop.
  • Supports PGN variations of arbitrary depth.
  • FEN loading.
  • Chess 960.

Installation - Windows / Linux

Some Windows and Linux standalone releases are uploaded to the Releases section from time to time.

Alternatively, it is possible to run Nibbler from source. This requires Electron, but has no other dependencies. If you have Electron installed (e.g. npm install -g electron) you can likely enter the /src directory, then do electron . to run it. Nibbler should be compatible with at least version 5 and above.

You could also build a standalone app. See comments inside the Python script builder.py for info.

Installation - Mac

Mac builds have been made by twoplan and Jac-Zac - the latter is probably more up-to-date.

Advanced engine options

Most people won't need them, but all of Leela's engine options can be set in two ways:

  • Leela automatically loads options from a file called lc0.config at startup - see here.
  • Nibbler will send UCI options specified in Nibbler's own engines.json file (which you can find via the Dev menu).

Hints and tips

An option to enable the UCI searchmoves feature is available in the Analysis menu. Once enabled, one or more moves can be specified as moves to focus on; Leela will ignore other moves. This is useful when you think Leela isn't giving a certain move enough attention.

Leela forgets much of the evaluation if the position changes. To mitigate this, an option in the Analysis menu allows you to hover over a PV (on the right) and see it play out on the board, without changing the position we're actually analysing. You might prefer to halt Leela while doing this, so that the PVs don't change while you're looking at them.

Leela running out of RAM can be a problem if searches go on too long. You might like to set a reasonable node limit (in the Engine menu), perhaps 10 million or so.

Thanks

Thanks to everyone in Discord and GitHub who's offered advice and suggestions; and thanks to all Lc0 devs and GPU-hours contributors!

The pieces are from Lichess.

nibbler's People

Contributors

fohristiwhirl avatar rooklift avatar jac-zac avatar eahova avatar ohjunseung avatar flori avatar krisan avatar ra1u avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.