How can I get a chess engine to play custom chess variants, for example Los Alamos chess, anti-chess, or chess where pawns can only advance one square?
1 Answer
Your best bet is Fairy-Stockfish, which is built on Stockfish 14 and supports dozens of piece and board variants, including custom variants! For example, here is how the "Indian Great Chess" variant, played on a 10x10 board, is defined:
# Indian great chess
# https://www.chessvariants.com/historic.dir/indiangr1.html
[indiangreat]
pieceToCharTable = PNBRQ..VW.........G..Kpnbrq..vw.........g..k
pawn = p
knight = n
bishop = b
rook = r
queen = q
king = k
archbishop = v
chancellor = w
amazon = g
maxRank = 10
maxFile = 10
startFen = rnbqkgvbnr/ppppwwpppp/4pp4/10/10/10/10/4PP4/PPPPWWPPPP/RNBVGKQBNR w - - 0 1
promotionRank = 10
promotionPieceTypes = q
doubleStep = false
castling = false
Here is a custom variant where pawns cannot advance two squares:
[singlestep:chess]
doubleStep = false
[Title "A sample game: depth 30"]
[FEN "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1"]
[Event "Single step pawns: Fairy Stockfish 14 Depth 30"]
[Site "https://lichess.org/study/bFDVIuGM/LcTmHREr"]
[White "Fairy Stockfish 14"]
[Black "Fairy Stockfish 14"]
[Result "1/2-1/2"]
[UTCDate "2023.01.08"]
[UTCTime "03:38:53"]
[Variant "Standard"]
[ECO "A00"]
[Opening "Mieses Opening"]
1. d3 Nf6 2. Nf3 d6 3. Bf4 Nbd7 4. h3 g6 5. e3 Bg7 6. c3 O-O 7. Be2 b6 8. O-O Bb7 9. Bg3 Re8 10. Nbd2 e6 11. d4 e5 12. Bh4 h6 13. a3 a6 14. Nh2 h5 15. Re1 d5 16. Qc2 Qe7 17. dxe5 Nxe5 18. Nhf3 Rac8 19. Rad1 Nxf3+ 20. Nxf3 Qc5 21. Nd4 c6 22. Nb3 Qf8 23. Nd2 Re6 24. Bg5 b5 25. a4 Qc5 26. axb5 axb5 27. Qb3 Qb6 28. c4 Nd7 29. cxd5 cxd5 30. Qxb5 Qxb5 31. Bxb5 Nc5 32. Rb1 Rb6 33. Bf1 Ne6 34. Bh4 Rc2 35. Nf3 Rcxb2 36. Rxb2 Rxb2 37. Bg3 d4 38. Nxd4 Nxd4 39. exd4 Bxd4 40. Kh2 Kf8 41. Kg1 Rc2 42. Bd6+ Kg8 43. Bg3 Rb2 44. Kh2 h4 45. Bxh4 Bxf2 46. Bxf2 Rxf2 47. Kg3 Rd2 48. h4 Bd5 49. Be2 Rb2 50. Bf3 Bxf3 51. Kxf3 Kg7 52. g3 Kf6 53. g4 g5 54. h5 Rb4 55. Re4 Rb3+ 56. Re3 Rb1 57. Kg3 Ra1 58. Rc3 Kg7 59. Rc4 Ra3+ 60. Kf2 Rb3 61. Rc5 Rb4 62. Rxg5+ Kh6 63. Ra5 Rxg4 64. Kf3 Rb4 65. Kg2 f6 1/2-1/2
-
10x10 board is called Dashpad. Indian game was called Dhyut or Shadyantra but what is in Fairychess is not ancient Indian Chess. Jan 10 at 6:13