Nocheto
Nocheto is set of linux chess tools aiming for learning chess, analyzing chess games, and practicing blind fold chess - all in console.
Run nocheto
Once you run nocheto command, it reads its confinguration from ~/.nocheto/configs/nocheto.ini
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, save
command,
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 autoplay
command.
For making move, you use move command, which accept moves in
algebraic notation (i.e. e4
, Nf3
, a8Q
etc.),
or in german notation (i.e. e2e4
, g1f3
, a7a8q
etc.).
Algebraic and german notations are case-sensitive. So, NF3
, nf3
or E2E4
are not valid moves.
So, you can write command like move e4
or move Nf3
.
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:
move Ngf3
move g1f3
Nf3
g1f3

If you want to play as black, use play
command to force nocheto make
a first move. You can also use flipboard
command to flip the board, so
the black side of board will be bottom.
Once you want to start a new game, use restart
command.
The strength
of the engine and the time how long it thinks about a move is determined
by the level
and goseconds
values in
your configuration. You can also
use commands level
and goseconds
to change it
"on the fly".
level 4
- Set level to 4. Easiest is 0, hardest is 20.
goseconds 1
- Think for 1 second.
Play blindfold
To play blindfold game, you simply disable automatic board drawing by
autoboard
command.
If you install espeak program (should by part of your
linux package system), you can enable text to speach by speach
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 board
command.

You can use CTRL+L to clean the screen again.
Shortcuts
Most of the commands have theirs shortcuts (see help).
So, instead of board
you can use b
, instead of flipboard
just fp
etc.
Setup board
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 setup
command. Use help
to see all comands you can use to setup board.
Commands:
- wKe1
- put white (w) king (K) on e1
- bKe8
- put black (b) king (K) on e8
- Qb5
- put white or black queen (Q) on b8
Color is based on the last added piece (default white) - e1
- remove piece from e1
- e2e4
- 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
K for white king site castling, q for black queen site castling etc. - enpassant e3|-, ep
- set enpassant position to e3 or remove enpassant
- movenumber <n>, mn
- set move number to <n>
- reset
- set board to start position
- clean
- remove all pieces from board
- board, b
- show board
- viewfen, vf
- "show board" shows FEN (default false)
- flipboard, fb
- flip board
- done
- save changes and quit setup mode
- quit, q
- quit setup board mode, discard changes
- owner
- Show licence / owner details
- help, h
- show help
First, you probably want to remove all pieces. You can do it by
clean
command.
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
adds king on e1.
To change the color, write b (for black) or w (for white) before the piece letter.
For exemple, bpa7
adds black pawn to a7.

To remove piece from a field, just write the field name, i.e. a7
remove pice from a7
.
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,
upper Q
for white castling queen side and lower letters for black … If none can castle,
use castling -
.
Once the positon is done, use done
command to leave setup mode.
Analyze game
First you shoud disable autoplay mode by autoplay
command, so the nocheto does not play
any time you write a move.
You can open a PGN file by open
command, or from the
command line. Or you can anlyze game you just played.
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. #
char
represents actual move.

You can use undo
(u
) command to go one half-move back, redo
move (r
or ENTER) to go one half-move forward
or 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 autoplay
command.
If you need to writte an alternative line to a move, you just use undo
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 r>
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.
The 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
variants by viewvariants
(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
graph).

To get to one of the alternative moves, just writte the move. You can also use
command r>
to get to he first alternative variant (Rg4 on the picture above), r>>
to get to the
second variant, 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 goto 5
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, Ne3!
, a4??
etc
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 comment
(cmt
) command. For adding comment at the
beginning of a line, you can use bcomment
(bcmt
) command.
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 info
command.

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 viewtablebase
(vtb
) command or
enable 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.
Sounds
Summary
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.