Nocheto is set of linux chess tools aiming for learning chess, analyzing chess games, and practicing blind fold chess - all in console.
Once you run nocheto command, it reads its confinguration from
and shows you the chess board.
You can also run nocheto with with a PGN file name as an argument. In that case, nocheto opens that game.
At this moment, nocheto waits for your commands.
To close nocheto use
quit command, or CTRL+D.
If you do so, nocheto save its state into temporary directory (~/.nocheto/temp/). Next time nochto is executed, it reads the last state - moves, analyzes etc. But in case you run nocheto with PGN file argument, it reads that file.
If you messed up things, you can kill nocheto by CTRL+C. In that case no state is saved and you can run nocheto (without PGN File argument) to get to the last saved state.
The state is saved only after quitting nocheto properly,
which save to PGN file, has nothig to do with it.
Playing against chess engine
Default nocheto config has enabled "autoplay". It means, whenever you do a move, nocheto ask engine (default stockfish) to play move also.
You can switch on and off autoplay by
For making move, you use move command, which accept moves in
algebraic notation (i.e.
or in german notation (i.e.
Algebraic and german notations are case-sensitive. So,
are not valid moves.
So, you can write command like
move e4 or
But thats a hell a lot of writting. Therefore
move command is implicit.
That means, you dont need to write
move and everything which is not
recognised as a command is interpreted as a move.
So, the following commands do the same:
If you want to play as black, use
play command to force nocheto make
a first move. You can also use
Once you want to start a new game, use
of the engine and the time how long it thinks about a move is determined
goseconds values in
your configuration. You can also
goseconds to change it
"on the fly".
- Set level to 4. Easiest is 0, hardest is 20.
- Think for 1 second.
To play blindfold game, you simply disable automatic board drawing by
If you install espeak program (should by part of your
linux package system), you can enable text to speach by
command. Nocheto will then read any command engine make, so you could
play with your eyes closed!
In case you want to see the actual board, you can use
You can use CTRL+L to clean the screen again.
Most of the commands have theirs shortcuts (see help).
So, instead of
board you can use
b, instead of
Using nocheto to setup board position is much quicker, than using mouse. Especially, if you can writte by all 10 fingers, you actually do not need to look at the board you where you setup the pieces, you just look at the board from where you copy the position.
To get to setup mode, use
to see all comands you can use to setup board.
- - put white (w) king (K) on e1
- - put black (b) king (K) on e8
- - put white or black queen (Q) on b8
Color is based on the last added piece (default white)
- - remove piece from e1
- - move piece from e2 to e4
- color w|b
- - set white or black on move
- castling KQkq|-
- - set castling to KQkq or remove all castling
- enpassant e3|-
- - set enpassant position to e3 or remove enpassant
- movenumber <number>
- - set move number to <number>
- - set board to start position
- - remove all pieces from board
- board, b
- - show board
- autoboard, ad
- - switch autoboard mode
- flipboard, fb
- - flip board
- - switch text to speach
- - save changes and quit setup board mode
- quit, q
- - quit setup board mode, discard changes
- help, h
- - show this help
First, you probably want to remove all pieces. You can do it by
First pieces are automatically white, so you can add piece by writting its annotation letter (K=King, Q=Queen, R=Rook, B=Bishop, N=Knight and P=Pawn)
and the field where the piece should be. I.e.
ke1 add king on e1.
To change the color, write b (for black) or w (for white) before the piece letter.
bpa7 adds black pawn to a7.
To remove piece from a field, just write the field name, i.e.
a7 remove pice from
You can use
color w or
color b to set who is on the move.
To set who can castle on which side, use
castling command. Use upper
K for white castle to king side,
Q for white castling queen side and lower letters for black … If none can castle,
Once the positon is done, use
done command to leave setup mode.
First you shoud disable autoplay mode by
autoplay command, so the nocheto do not play
any time you write a move.
To analzye actual move, use
analyze command. It can take as an argument number of seconds the engine
shoud anlyze the move.
If you add
+ after the
analyze, the analysis will continue from current move
to the end of the game (of the actual branch of the game).
analyze+ 1 will analyze all moves from the current move to the end for 1 second.
Once the game is analyzed, you can see the moves tree colorized. Green move is the best, white move is almost the best, blue move is an inacurrancy, yellow move is a mistake and red move is a bludner. The actual move also shows the best line (according to the engine).
Values are in centipanws. Positive value is better for white, negative for black. So, 100 means that white is a "pawn value" better than black, -400 means black is "4 pawns" better then white.
The "centipawn-meter" (also called "elometer") shows the value of actual move. The higher it is (* above the middle),
the better for the side down (usually white - but if you flip the board, the elometer flips too).
If you see
! in the middle of the elometer, it means the value in centipawns is eqal or above 125 (eqal or below -125 for black),
which is usually winning position.
The graph (enabled by
viewgraph command) then represent the values in moves.
The higher it is up, the better for white. The lower it is, the better for black. Colors in the graph
are the same as the colors of the moves in moves tree. The
^ character in the middle of the graph
shows that this was white move, the
v character represents black move.
represents actual move.
You can use
u) command to go one half-move back,
redo move (
r or ENTER) to go one half-move forward
uu to go at the begining (before first move).
Analyze command always runs engine on level 20 (the highest). The time spend on analyzing one move is the only think you should care of.
Studying chess games
This is the most usefull and most cool part of nocheto. Imagine, you study chess game from a book and you want to analyze it by engine. Usually people use some chess GUI and rewrite moves by mouse. If you do so, you usually lost where you are in the book (or internet source).
On the other hand, with nocheto, you can rewrite the game and all analyzed variants without looking elsewhere than at the source.
First disable auto play mode by
If you need to writte an alternative line to a move, you just use
command to get back and then you can write the line. Once the line is rewritten,
you can use
up command, which moves you back before the line, so you
can start other line for the same move immediatelly, or you can use
redo the move from main line and continue with other moves.
That means, you don't need to look up for the beginning of other alternative line in nocheto.
up command gets you there.
You don't need to look elsewhere than at your book. You can writte move after
move as it is in your book.
Nocheto can show you next possible moves from your game. Just enable
vv) command. As you can see,
the board was developed in a way, which allows you get almost all information
from it, so you rarelly need to look someone else (i.e. on the moves tree or
To get to one of the alternative moves, just writte the move. You can also use
r> to get to he first alternative variant (Rg4 on the picture above),
r>> to get to the
r>>> to get to the third variant etc.
Continue on the main line by
r< (Qxf3 on the picture above).
If you want to go to a certain move, you can use
goto <move number> command
to get to the desired move, i.e.
goto 5 gets you to move 5.
If there are more moves number 5 (in alternative lines), call
repeatedly until it gets to the line you want to.
You can add notation to moves by
nag command. I.E.
nag !? adds
!? annotation to the actual move. But you can also add anotation
as easy as to writte them after the move. For example,
add move with annotation in one command. There are also aliases for following annotations:
So, instead of
nag !?, you can writte just
To add a comment, use
cmt) command. For adding comment at the
beginning of a line, you can use
Once the game is rewritten, you can use
save [filename.pgn] command to save
the game to new PGN file, or to a file which is actually opend.
To see which file is opend, use
Studying chess endgames
Nocheto also supports tablebase. Tablebase are databases, which contain all possible moves in endgame and their evaluation (if they are winning, loosing or drawing). Nocheto downloads tablebase from tablebase.lichess.ovh (lichess public API). Tablebases are disabled by default (as everything which require internet access).
To enable tablebase, use
vtb) command or
tablebase in configuration.
Lichess tablebase has computed all positions for 7 pieces and less.
If your internet connection is slow, tablebase can slow any move you do (the board is drawn after the tablebase is downloaded). Even if moves you download are cached (so moves for any positions are downlaod only once), you might want to disable tablebases in that case.
Nocheto is not shipped with sound. But if you download any of
mate.wav to ~/.nocheto/sounds/default/
directory, nocheto will start to use them.
You can find good sound on lichess github.
You need to convert the mp3 file to wav, for example:
wget "https://raw.githubusercontent.com/ornicar/lila/master/public/sound/standard/Move.mp3" -O ~/.nocheto/sounds/default/move.mp3 ffmpeg -i ~/.nocheto/sounds/default/move.mp3 ~/.nocheto/sounds/default/move.wav rm ~/.nocheto/sounds/default/move.mp3 aplay ~/.nocheto/sounds/default/move.wav #test the sound
aplay program to play wav sounds, so be sure you have installed it.
This tutorial described the main function of nocheto application. But there are still many functions, which were not mentioned, like opening browser, configuration of the interface, client application etc. See the help and options for more information.