Below is output of Stockfish when computing perft 5 for start position: Perft is mostly for debugging purposes. It works mainly with functions: move generators, make move, unmake move. They all are very basic and vital for chess engines.
What to do when your opponent has an advantage in chess?
If your opponent has the spatial advantage, trade pieces to eliminate the advantage. If you have an extra minor piece, exchange pieces to increase your advantage. If you are a minor piece down trade pawns, not pieces (there is no way to checkmate with a minor piece and a king alone).
What should you look for in an opening move in chess?
In the opening look for a pawn move first, then for a knight move, then for a bishop move, then for a rook move (or castle), and finally for a queen move. Do not move the same piece move then once in the opening if you do not have a very good reason for it (such as material gains).
How to fix your pawn weaknesses in chess?
Since pawns cannot move backward it is very hard to fix “pawn weaknesses”. Isolated central pawns are usually stronger in the middle game, but weaker in the endgame. If you have the spatial advantage, avoid trading pieces. If your opponent has the spatial advantage, trade pieces to eliminate the advantage.
How to calculate a perft score in chess?
A perft score is the node count from a plain mini-max search on a certain position. For example the start position at depth 1 has 20 nodes, since there are 20 possible moves (nodes). At depth 2 we have 400 nodes, since for every move white makes black can answer with 20 different moves (20*20=400).
How is RoCE different from other chess engines?
Roce generates most of the time only legal moves unlike most other chess engines which usually depend on pseudo move generation. While legal move generation is rather timeconsuming it simplifies also some things. Mate and stalemate can be detected by the move generator already and information regarding mobility is always up to date.
Why do chess engines generate pseudo legal moves?
The reason chess engines generate pseudo legal moves is to save the time checking to see if there is a discovered check (which is costly) and may not even be required is there is a “cut-off”. So the test for the discovered check is often carried out as part of the “Make-Move” routine.