Let's say the value of a piece that moves and captures in the same way is known. Then a similar piece that can move in the same way as the piece of known value, but which cannot capture, and consequently cannot check or checkmate a king is probably less valuable than the piece it has similar moves to, although a piece that cannot capture could still be useful for blocking the movement of other pieces. Similarly if there was a type of piece that could capture like a chess piece with known value, but which could only move when capturing, then it probably wouldn't be as valuable as said piece as it would not be capable of moving to attack another piece without capturing something first. Of course something that moves like a queen but cannot capture would probably be more valuable than something that moves like a rook but cannot capture. Similarly something that captures like a rook but can only move to capture would probably be more valuable than something that captures like a knight but can only move when capturing.

So if the value of a given piece is known, whether it be a standard piece or fairy piece, is there an algorithm to find the value of a similar piece that can move but not capture, or piece that can only move when capturing?


3 Answers 3


Fairy-stockfish can help you with this. You can define pieces you described. To find the optimal piece values, depends on your starting position and board size. Create some start positions, do some engine vs engine matches to optimize piece values. You can do trial and error but can be automated.

I make a sample start position. Check the startFen below.

enter image description here

Per fairy-stockfish variants specs, the following is its definition that can be added in variants.ini file.

pieceToCharTable = PNBRQ......T.C.D.E...Kpnbrq......t.c.d.e...k
customPiece1 = e:mN
customPiece2 = c:cN
customPiece3 = t:mB
customPiece4 = d:cB
startFen = rdeqkctr/ppnbbnpp/2pppp2/8/8/2PPPP2/PPNBBNPP/RDEQKCTR w KQkq - 0 1 
pieceValueMg = e:200 c:250 t:200 d:250
pieceValueEg = e:80 c:200 t:80 d:200

Notice the customPiece definition.

e is piece type, m=move without capture, N=knight
The mN is called the betza notation.
c is piece type, c=capture, N=knight, cannot move to empty square
B is the bishop that cannot capture.
B is the bishop that can capture, but cannot move to empty sq.

You can define any startpos, board size, piece types and others.

Read the betza to define how the piece moves.

Sample game

[Event "Computer Chess Game"]
[Site "?"]
[Date "2022.12.05"]
[Round "2"]
[White "crazy2"]
[Black "crazy1"]
[Result "0-1"]
[TimeControl "120+1"]
[Variant "crazy"]
[VariantMen "P:fmWfceFifmnD;N:N;B:B;R:R;Q:Q;T:mB;C:cN;D:cB;E:mN;K:KO2"]
[FEN "rdeqkctr/ppnbbnpp/2pppp2/8/8/2PPPP2/PPNBBNPP/RDEQKCTR w KQkq - 0 1"]
[SetUp "1"]

r d e q k c t r
p p n b b n p p
. . p p p p . .
. . . . . . . .
. . . . . . . .
. . P P P P . .
white to play
1. e4 d5 2. d4 e5 3. Ne3 a5 4. a4 Be6 5. Nf5 Bxf5 6. exf5 Na6 7. Qb3 Ra7 8.
h4 h5 9. Nd3 Nd6 10. Nf2 exd4 11. cxd4 Nb4 12. Th2 b6 13. Nd3 Na6 14. Nf2
Qc7 15. Nd1 Nb4 16. Qe3 c5 17. Nc3 Kd8 18. Ra3 c4 19. Kf2 Qc6 20. Kg1 Rd7
21. f4 Ne8 22. Tg3 Na6 23. Ra2 Bb4 24. Bf3 Nac7 25. Qe2 Ed6 26. Bxh5 Ee4
27. Bg4 Nd6 28. h5 Re7 29. Qd1 Kc8 30. Tf2 Qd7 31. b3 Kb7 32. Rh3 Ka7 33.
bxc4 Bxc3 34. Bxc3 Nxc4 35. Qb3 Ne8 36. Bf3 Dxf4 37. Dxe4 dxe4 38. Be2 Ncd6
39. d5 Qb7 40. Bb5 e3 41. Bc6 Qa6 42. Te1 Qc4 43. Qxc4 Nxc4 44. Ee2 Ned6
45. Rc2 Tf7 46. g4 Kb8 47. Kg2 Re4 48. Rc1 Rh6 49. Rd1 Ne5 50. Bxe5 fxe5
51. Rb1 Rb4 52. Rxb4 axb4 53. Kf3 b3 54. Ec3 e4+ 55. Ke2 Nc4 56. Cxe3 Ne5
57. Bb5 Kc7 58. Eb1 Kd6 59. Bc4 b2 60. Kd1 Kc5 61. Kc2 Kd4 62. Tb4 Nxc4 63.
Cxc4 Kxc4 64. Rc3+ Kxd5 65. Rc8 Rc6+ 66. Rxc6 Kxc6 67. Kxb2 Kc5 68. Te1 Kd4
69. Kb3 Kd3 70. Kb4 Td5 71. Kb5 e3 72. Kxb6 Ta8 73. a5 Ke2 74. Ea3 Kxe1 75.
a6 Kd2 76. Ec2 e2 77. Ee1 Kxe1 78. h6 gxh6 79. Ka7 Kd2 80. Kxa8 e1=Q 81.
Kb7 Qe4+ 82. Kb6 Qb4+ 83. Kc6 Kd3 84. g5 Kc4 85. f6 Qb5#
{Xboard adjudication: Checkmate} 0-1
  • You leave out the most interesting part. The OP didn't ask about accuracy, ... but I suspect he want to reach a value with an accuracy of at least 10 centipawns, and also one that is stable enough to be reached even if you try a dozen independent attempts (i.e. you don't want a local best value, but a global one). Without that, I don't think the 'method' is complete. . Another issue is how much the calculated value is affected by other engine settings: I'm inclined to suspect the value would not be 'value for piece X', but 'value for piece X, and settings A1, and A3. It is a start, though.
    – user30536
    Dec 5, 2022 at 20:15
  • Do not suspect, let the OP talk.
    – ferdy
    Dec 6, 2022 at 2:00
  • Are the different values of the same type of piece indicating uncertainty in its value, or do they indicate that the pieces have different values in different situations, or do they indicate different degrees of accuracy with one set of values being more accurate than the other, or do they indicate something else that I didn't think about? Dec 6, 2022 at 4:41
  • Normally pawn is 100cp, knight is 300cp, bishop is 300cp, rook is 500cp, queen is 1000cp. These values may differ from engine to engine. A knight that cannot capture is <find the optimal value> based from the start position of the game that you define. A knight that can capture is <find the optimal value>, etc. These piece values are fixed from the start of the game. This is what we are trying to optimize. In the engine, you can add positional evaluation of course, like piece_square_table_bonus where a piece in the center may have different value than the same piece located at the edge.
    – ferdy
    Dec 6, 2022 at 4:57
  • Thank you! I'm also wondering how to find the value of compound pieces that have a larger range than the pieces they're a compound of combined, such as a piece that can move 1 square diagonally or jump 3 squares laterally. Dec 6, 2022 at 19:10

This doesn't tell you that actual value of said pieces, but you can expect any such piece to be worth far less then a pawn. https://www.chessvariants.org/d.betza/chessvar/ghost.html Here is a chess variant called "The Black Ghost". It's a variant where, to balance out whites first move advantage, black is given a piece that can move ANYWHERE, but can't capture. And in that variant, the "ghost" is generall worth less then a pawn.

So your example pieces are going to be worth far less.


Assessing the relative values of kinds of piece is already tricky because, as a game progresses, more and more units get captured, so the power of the remaining ones changes. The size of the change depends on the nature of the piece's move: bishops gain much power from diagonals opening; knights, less so.

If a piece can only move if it captures, it gets weaker because opportunities to capture anything get fewer and further between. Compare such a piece to a hopper (e.g. a grasshopper, or the cannon in xiangqi), which may move with or without capturing on its arrival-square, but must leap over another unit in order to reach that square.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.