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.

nocheto

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

play chess engine

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!

play blindfold

In case you want to see the actual board, you can use board command.

blindfold board

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.

setup board

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.

analyze chess game

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.

analyze result

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.

analyze result's graph

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).

study chess game

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.

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.

tablebase

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

See postinstall instructions.

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.