Most "play against Fischer" programs just reduce Stockfish's strength and call it a personality. ChessGate works completely differently — and I'd like to explain exactly how.
The architecture
A custom 170KB C engine (PVS, LMR, null move, razoring, aspiration windows, magic bitboards) provides MultiPV 10 candidate moves. A 12-layer personality system then selects the final move based on historical style data extracted from thousands of real games through a 13-stage pipeline.
The key insight: we don't match positions. We match characteristics. Just like identifying a Monet painting — you don't compare it pixel by pixel to known works, you look for soft brush strokes, light effects, water themes. ChessGate extracts characteristics from the position and matches them against 60,000+ strategic plans per player across 6 levels of abstraction:
Exact pawn structure hash matching
Strategic theme detection (outpost occupation, file control, king attack, passed pawn)
Opponent weakness matching (isolated pawns, weak squares, exposed king)
Harmonics profile — 10 numerical position metrics weighted per personality
Causality chains — statistical cause-and-effect relationships between themes (e.g. in Karpov's games, pawn storm → minority attack at 3.2x normal frequency)
Plan memory continuity — active plans persist across moves
Why the games feel different
The system never asks "what's the best move?" It asks "which of these 10 good moves would this specific player have chosen?" Within a strict safety threshold (25-45cp depending on game phase), the personality selects based on style compatibility — and falls back to engine best only when forced.
Tal's causality chains weight initiative and sacrifice patterns heavily. Karpov's weight pawn structure and space. The same pipeline produces genuinely different behavior because the underlying data is different.
Current results
Running in an independent cross-platform tournament organized by spacious_mind alongside Anaconda 2.0.1, PocketShredder 1.0, ChessGenius 2.003, Rebel 12, The King 2.55. Early results:
Tal beat Anaconda 2.0.1 — exchange sacrifice move 21, bishop underpromotion move 67
Smyslov beat The King 2.55 — knight-for-bishop trade move 19, bishop dominated for 40 moves, Rf1# move 65
Tarrasch drew PocketShredder — voluntarily gave up exchange for bishop pair, held to repetition
12 personalities from La Bourdonnais (1830s) to Karpov. Completely free, no download, no registration.
Play online: https://playchessgate.com
Happy to answer technical questions.
Arne Bailliere / DCS Analytics
ChessGate — Grandmaster personalities built from real game analysis, not engine tweaking (free)
Moderator: Ras
-
Chessgate
- Posts: 3
- Joined: Mon Mar 09, 2026 12:43 am
- Full name: Arne Bailliere
-
Graham Banks
- Posts: 45544
- Joined: Sun Feb 26, 2006 10:52 am
- Location: Auckland, NZ
Re: ChessGate — Grandmaster personalities built from real game analysis, not engine tweaking (free)
Will you be releasing as a standalone engine with option personalities?
gbanksnz at gmail.com
-
Chessgate
- Posts: 3
- Joined: Mon Mar 09, 2026 12:43 am
- Full name: Arne Bailliere
Re: ChessGate — Grandmaster personalities built from real game analysis, not engine tweaking (free)
Hello Graham !
Thank you for your question. The Chessgate Program is available as a Windows standalone verison at
Its still Beta butworks quite fine. . You will find out that you can run the personality layer with any engine as a backbone.
You can choose to run it on Stockfish, Caissa or the in house developed ultimate engine in C (174 kb) This engine is a special development to provide sound moves the style layer can pick from.
There is also another program you can download, the retro Pioneer 2 Soviet Chess Computer, the computer Botvinnik wanted to build but the hardware did not allow a the time. This offers Soviet commentary on every move it plays. The levels up to the Karpov Boss levels are an in house developed Python engine that is very pleasant to play agains as a human at various strength levels . Some people even say it is the most enjoyable program to play against.
You can also play it live for free at play.pioneer2chess.com .
For both Programs we had the help fo the German Chess Computer Community and legend Thorsten Czub did the testing.
More info can be found at https://playchessgate.com/how-it-works
Have fun and best regards ,
Arne Bailliere
Thank you for your question. The Chessgate Program is available as a Windows standalone verison at
Its still Beta butworks quite fine. . You will find out that you can run the personality layer with any engine as a backbone.
You can choose to run it on Stockfish, Caissa or the in house developed ultimate engine in C (174 kb) This engine is a special development to provide sound moves the style layer can pick from.
There is also another program you can download, the retro Pioneer 2 Soviet Chess Computer, the computer Botvinnik wanted to build but the hardware did not allow a the time. This offers Soviet commentary on every move it plays. The levels up to the Karpov Boss levels are an in house developed Python engine that is very pleasant to play agains as a human at various strength levels . Some people even say it is the most enjoyable program to play against.
You can also play it live for free at play.pioneer2chess.com .
For both Programs we had the help fo the German Chess Computer Community and legend Thorsten Czub did the testing.
More info can be found at https://playchessgate.com/how-it-works
Have fun and best regards ,
Arne Bailliere
-
tapio
- Posts: 97
- Joined: Thu May 30, 2024 10:33 am
- Full name: Adsche Tönnsen
Re: ChessGate — Grandmaster personalities built from real game analysis, not engine tweaking (free)
LOL, soviet chess computer is fun, well done.
-
abgursu
- Posts: 103
- Joined: Thu May 14, 2020 3:34 pm
- Full name: A. B. Gursu
Re: ChessGate — Grandmaster personalities built from real game analysis, not engine tweaking (free)
[pgn][Event "Pioneer 2 Soviet Chess Computer"]
[Site "play.pioneer2chess.com"]
[Date "2026.03.22"]
[Round "-"]
[White "ABGursu"]
[Black "Pioneer 2 (Hard)"]
[Result "1-0"]
[GameId "HLXKtXhg"]
[WhiteElo "?"]
[BlackElo "?"]
[Variant "Standard"]
[TimeControl "-"]
[ECO "D01"]
[Opening "Rapport-Jobava System"]
[Termination "Unknown"]
[Annotator "lichess.org"]
1. d4 { [%eval 0.15] } 1... Nf6 { [%eval 0.15] } 2. Nc3 { [%eval -0.02] } 2... d5 { [%eval 0.0] } 3. Bf4 { [%eval -0.1] } 3... e6 { [%eval -0.05] } { D01 Rapport-Jobava System } 4. e3 { [%eval -0.22] } 4... Nc6 { [%eval 0.25] } 5. Nf3 { [%eval 0.12] } 5... Bb4 { [%eval 0.29] } 6. Bd3 { [%eval 0.17] } 6... Ne4 { [%eval 0.53] } 7. Bxe4 { [%eval 0.11] } 7... dxe4 { [%eval 0.22] } 8. Nd2 { [%eval 0.21] } 8... f5 { [%eval 0.71] } 9. Qh5+ { [%eval 0.54] } 9... g6 { [%eval 0.61] } 10. Qh6 { [%eval 0.63] } 10... Be7? { (0.63 → 1.90) Mistake. Qe7 was best. } { [%eval 1.9] } (10... Qe7 11. h4 Rg8 12. Qg5 Bxc3 13. bxc3 b6 14. Qxe7+ Nxe7 15. c4 Ba6 16. O-O-O) 11. Nc4?! { (1.90 → 1.28) Inaccuracy. Nb5 was best. } { [%eval 1.28] } (11. Nb5 Bf8 12. Nxc7+ Qxc7 13. Qxf8+ Rxf8 14. Bxc7 b6 15. a3 Ba6 16. O-O-O Rc8) 11... a6? { (1.28 → 2.52) Mistake. Bf8 was best. } { [%eval 2.52] } (11... Bf8 12. Qh3 Bb4 13. Ne5 O-O 14. Qg3 Nxe5 15. Bxe5 Bd7 16. h4 Ba4 17. h5) 12. Rd1?! { (2.52 → 1.64) Inaccuracy. O-O-O was best. } { [%eval 1.64] } (12. O-O-O Bf8 13. Qh3 Qe7 14. Qg3 Qb4 15. Ne5 Na7 16. a3 Qe7 17. h4 Nb5) 12... Nb4?! { (1.64 → 2.49) Inaccuracy. Bf8 was best. } { [%eval 2.49] } (12... Bf8 13. Qh3 Bb4 14. O-O Bxc3 15. bxc3 b5 16. Ne5 Nxe5 17. Bxe5 O-O 18. Qg3) 13. Rd2? { (2.49 → 0.76) Mistake. Qg7 was best. } { [%eval 0.76] } (13. Qg7 Bf6 14. Qxc7 Qxc7 15. Bxc7 Bd8 16. Bxd8 Kxd8 17. a3 Nc6 18. Nb6 Rb8) 13... Bf8?! { (0.76 → 1.81) Inaccuracy. Nd5 was best. } { [%eval 1.81] } (13... Nd5 14. Ne5 Nxf4 15. Qg7 Nxg2+ 16. Kf1 Rf8 17. Kxg2 Bd6 18. Qxh7 Bxe5 19. dxe5) 14. Qh3 { [%eval 1.71] } 14... Bg7 { [%eval 2.18] } 15. Be5?! { (2.18 → 1.00) Inaccuracy. Qg3 was best. } { [%eval 1.0] } (15. Qg3 Nd5 16. Nxd5 Qxd5 17. b3 b5 18. Ne5 Bb7 19. h4 Rg8 20. c4 Qd8) 15... O-O?! { (1.00 → 1.92) Inaccuracy. Qe7 was best. } { [%eval 1.92] } (15... Qe7 16. Qg3 Nd5 17. Bxg7 Qxg7 18. Ne5 Bd7 19. Nxd5 exd5 20. h4) 16. g4?! { (1.92 → 1.25) Inaccuracy. Bxg7 was best. } { [%eval 1.25] } (16. Bxg7 Kxg7 17. Qg3 Bd7 18. h4 b5 19. Ne5 Be8 20. h5 g5 21. a3 Nd5) 16... b5 { [%eval 1.42] } 17. Bxg7 { [%eval 1.45] } 17... Kxg7 { [%eval 1.56] } 18. Ne5 { [%eval 1.43] } 18... Rb8?! { (1.43 → 2.25) Inaccuracy. Bb7 was best. } { [%eval 2.25] } (18... Bb7 19. Rg1 Qe7 20. Qg3 Nc6 21. h4 f4 22. Nxc6 Bxc6 23. exf4 Kh8 24. a3) 19. Rg1 { [%eval 2.17] } 19... Bb7 { [%eval 2.4] } 20. g5 { [%eval 2.2] } 20... Kg8 { [%eval 2.39] } 21. Qh6 { [%eval 2.44] } 21... Qe7 { [%eval 2.34] } 22. h4 { [%eval 2.53] } 22... Nc6 { [%eval 2.44] } 23. h5 { [%eval 2.34] } 23... Nxe5 { [%eval 2.45] } 24. dxe5 { [%eval 2.42] } 24... Qf7?! { (2.42 → 3.43) Inaccuracy. Qg7 was best. } { [%eval 3.43] } (24... Qg7 25. hxg6 hxg6 26. Rh1 Rf7 27. Ne2 Qxh6 28. Rxh6 Rg7 29. Nf4 Bd5 30. Nxd5) 25. hxg6 { [%eval 3.38] } 25... hxg6 { [%eval 3.96] } 26. Rh1 { [%eval 3.94] } 26... Qg7 { [%eval 3.82] } 27. Ne2?! { (3.82 → 3.02) Inaccuracy. Qxg7+ was best. } { [%eval 3.02] } (27. Qxg7+ Kxg7 28. Rd7+ Rf7 29. Rh7+ Kxh7 30. Rxf7+ Kg8 31. Rxc7 Bd5 32. Ne2 Bxa2) 27... Rbd8?! { (3.02 → 3.87) Inaccuracy. Rf7 was best. } { [%eval 3.87] } (27... Rf7 28. Nf4 Re8 29. Nxg6 Qxh6 30. gxh6 Bd5 31. Rd1 Kh7 32. Nf4 Rg8 33. b3) 28. Nf4 { [%eval 3.88] } 28... Rxd2 { [%eval 4.04] } 29. Kxd2 { [%eval 3.98] } 29... Rd8+ { [%eval 3.87] } 30. Ke2 { [%eval 3.91] } 30... Bd5 { [%eval 3.86] } 31. b3 { [%eval 3.82] } 31... Rd7 { [%eval 3.69] } 32. Nxg6 { [%eval 3.43] } 32... c5 { [%eval 3.88] } 33. Qh8+ { [%eval 4.21] } 33... Qxh8 { [%eval 4.18] } 34. Rxh8+ { [%eval 4.14] } 34... Kg7 { [%eval 3.82] } 35. Rh7+ { [%eval 3.06] } 35... Kxh7 { [%eval 3.6] } 36. Nf8+ { [%eval 3.39] } 36... Kg7 { [%eval 3.23] } 37. Nxd7 { [%eval 2.73] } 37... Kg6?! { (2.73 → 4.04) Inaccuracy. c4 was best. } { [%eval 4.04] } (37... c4 38. Nf6 cxb3 39. cxb3 Bc6 40. Nh5+ Kf7 41. Nf4 b4 42. Kf1 Bb5+ 43. Kg2) 38. Nxc5 { [%eval 3.93] } 38... a5 { [%eval 3.33] } 39. a3 { [%eval 3.21] } 39... Kxg5 { [%eval 3.04] } 40. Na6 { [%eval 2.67] } 40... a4?! { (2.67 → 3.83) Inaccuracy. Bc6 was best. } { [%eval 3.83] } (40... Bc6 41. c4 bxc4 42. bxc4 f4 43. Nc5 Kf5 44. Nb3 Bb7 45. Nxa5 Ba6 46. Kd2) 41. bxa4 { [%eval 3.74] } 41... Bc4+?! { (3.74 → 4.74) Inaccuracy. bxa4 was best. } { [%eval 4.74] } (41... bxa4 42. Nc5 f4 43. Nxa4 f3+ 44. Kd2 Kf5 45. Nc5 Kxe5 46. a4 Kd6 47. Nb3) 42. Ke1?! { (4.74 → 3.70) Inaccuracy. Kd2 was best. } { [%eval 3.7] } (42. Kd2 bxa4 43. Nc5 Ba2 44. Kc3 f4 45. Kd4 f3 46. Nxe4+ Kg4 47. Nd2 Kh3) 42... bxa4 { [%eval 3.14] } 43. Nc5 { [%eval 3.84] } 43... f4 { [%eval 4.66] } 44. Nxa4?! { (4.66 → 3.43) Inaccuracy. Nxe4+ was best. } { [%eval 3.43] } (44. Nxe4+ Kg4 45. Kd2 Bb5 46. Kc3 Kf3 47. Kd4 fxe3 48. fxe3 Be8 49. Nc5 Ke2) 44... fxe3?! { (3.43 → 4.41) Inaccuracy. Kf5 was best. } { [%eval 4.41] } (44... Kf5 45. Kd2 Kxe5 46. Kc3 Bd5 47. Nb6 Bc6 48. Nc4+ Kf6 49. exf4 Kf5 50. Kd4) 45. fxe3 { [%eval 3.76] } 45... Bd5?! { (3.76 → 5.79) Inaccuracy. Kf5 was best. } { [%eval 5.79] } (45... Kf5 46. Nb6 Bb5 47. c4 Bc6 48. Kd2 Kxe5 49. c5 Kf6 50. Kc3 Ke7 51. Kb4) 46. Nb6 { [%eval 5.4] } 46... Bc6 { [%eval 5.53] } 47. a4 { [%eval 5.22] } 47... Kg4 { [%eval 6.01] } 48. a5 { [%eval 6.11] } 48... Kf3 { [%eval 6.89] } 49. Kd2 { [%eval 7.02] } 49... Bb7 { [%eval 6.7] } 50. c4 { [%eval 6.62] } 50... Kg4 { [%eval 7.42] } 51. Kc3 { [%eval 7.11] } 51... Kf3 { [%eval 7.31] } 52. Kd4 { [%eval 6.96] } 52... Ba6 { [%eval 7.26] } 53. c5 { [%eval 7.41] } 53... Bb7 { [%eval 9.64] } 54. Nd7 { [%eval 9.35] } 54... Kg4 { [%eval 9.45] } 55. Nb8 { [%eval 8.95] } 55... Kg3 { [%eval 10.14] } 56. a6 { [%eval 9.49] } 56... Bxa6? { (9.49 → Mate in 10) Checkmate is now unavoidable. Bd5 was best. } { [%eval #10] } (56... Bd5 57. c6 Kf2 58. c7 Bb3 59. c8=Q Kg3 60. Qc1 Kg4 61. Kc5 Kf5 62. Qf1+) 57. Nxa6 { [%eval #9] } 57... Kg4 { [%eval #9] } 58. c6 { [%eval #8] } 58... Kf3 { [%eval #8] } 59. c7 { [%eval #7] } 59... Kg4 { [%eval #6] } 60. c8=Q { [%eval #6] } 60... Kg3 { [%eval #5] } 61. Kxe4 { [%eval #4] } 61... Kf2 { [%eval #4] } 62. Qxe6 { [%eval #5] } 62... Ke1 { [%eval #3] } 63. Qa2 { [%eval #2] } 63... Kd1 { [%eval #2] } 64. Kd3 { [%eval #1] } 64... Kc1 { [%eval #1] } 65. Qc2# { White wins. } 1-0
[/pgn]
That was a fun game to play against Pioneer! I also tried Morphy on ChessGate, because I studied Morphy a lot of times when I was serious about my chess, and it's safe to say that it was a successful adaptation of Morphy into an engine, it actually felt like a Morphy game. I will definetely try the other personalities as well, but for now, congratulations!
[Site "play.pioneer2chess.com"]
[Date "2026.03.22"]
[Round "-"]
[White "ABGursu"]
[Black "Pioneer 2 (Hard)"]
[Result "1-0"]
[GameId "HLXKtXhg"]
[WhiteElo "?"]
[BlackElo "?"]
[Variant "Standard"]
[TimeControl "-"]
[ECO "D01"]
[Opening "Rapport-Jobava System"]
[Termination "Unknown"]
[Annotator "lichess.org"]
1. d4 { [%eval 0.15] } 1... Nf6 { [%eval 0.15] } 2. Nc3 { [%eval -0.02] } 2... d5 { [%eval 0.0] } 3. Bf4 { [%eval -0.1] } 3... e6 { [%eval -0.05] } { D01 Rapport-Jobava System } 4. e3 { [%eval -0.22] } 4... Nc6 { [%eval 0.25] } 5. Nf3 { [%eval 0.12] } 5... Bb4 { [%eval 0.29] } 6. Bd3 { [%eval 0.17] } 6... Ne4 { [%eval 0.53] } 7. Bxe4 { [%eval 0.11] } 7... dxe4 { [%eval 0.22] } 8. Nd2 { [%eval 0.21] } 8... f5 { [%eval 0.71] } 9. Qh5+ { [%eval 0.54] } 9... g6 { [%eval 0.61] } 10. Qh6 { [%eval 0.63] } 10... Be7? { (0.63 → 1.90) Mistake. Qe7 was best. } { [%eval 1.9] } (10... Qe7 11. h4 Rg8 12. Qg5 Bxc3 13. bxc3 b6 14. Qxe7+ Nxe7 15. c4 Ba6 16. O-O-O) 11. Nc4?! { (1.90 → 1.28) Inaccuracy. Nb5 was best. } { [%eval 1.28] } (11. Nb5 Bf8 12. Nxc7+ Qxc7 13. Qxf8+ Rxf8 14. Bxc7 b6 15. a3 Ba6 16. O-O-O Rc8) 11... a6? { (1.28 → 2.52) Mistake. Bf8 was best. } { [%eval 2.52] } (11... Bf8 12. Qh3 Bb4 13. Ne5 O-O 14. Qg3 Nxe5 15. Bxe5 Bd7 16. h4 Ba4 17. h5) 12. Rd1?! { (2.52 → 1.64) Inaccuracy. O-O-O was best. } { [%eval 1.64] } (12. O-O-O Bf8 13. Qh3 Qe7 14. Qg3 Qb4 15. Ne5 Na7 16. a3 Qe7 17. h4 Nb5) 12... Nb4?! { (1.64 → 2.49) Inaccuracy. Bf8 was best. } { [%eval 2.49] } (12... Bf8 13. Qh3 Bb4 14. O-O Bxc3 15. bxc3 b5 16. Ne5 Nxe5 17. Bxe5 O-O 18. Qg3) 13. Rd2? { (2.49 → 0.76) Mistake. Qg7 was best. } { [%eval 0.76] } (13. Qg7 Bf6 14. Qxc7 Qxc7 15. Bxc7 Bd8 16. Bxd8 Kxd8 17. a3 Nc6 18. Nb6 Rb8) 13... Bf8?! { (0.76 → 1.81) Inaccuracy. Nd5 was best. } { [%eval 1.81] } (13... Nd5 14. Ne5 Nxf4 15. Qg7 Nxg2+ 16. Kf1 Rf8 17. Kxg2 Bd6 18. Qxh7 Bxe5 19. dxe5) 14. Qh3 { [%eval 1.71] } 14... Bg7 { [%eval 2.18] } 15. Be5?! { (2.18 → 1.00) Inaccuracy. Qg3 was best. } { [%eval 1.0] } (15. Qg3 Nd5 16. Nxd5 Qxd5 17. b3 b5 18. Ne5 Bb7 19. h4 Rg8 20. c4 Qd8) 15... O-O?! { (1.00 → 1.92) Inaccuracy. Qe7 was best. } { [%eval 1.92] } (15... Qe7 16. Qg3 Nd5 17. Bxg7 Qxg7 18. Ne5 Bd7 19. Nxd5 exd5 20. h4) 16. g4?! { (1.92 → 1.25) Inaccuracy. Bxg7 was best. } { [%eval 1.25] } (16. Bxg7 Kxg7 17. Qg3 Bd7 18. h4 b5 19. Ne5 Be8 20. h5 g5 21. a3 Nd5) 16... b5 { [%eval 1.42] } 17. Bxg7 { [%eval 1.45] } 17... Kxg7 { [%eval 1.56] } 18. Ne5 { [%eval 1.43] } 18... Rb8?! { (1.43 → 2.25) Inaccuracy. Bb7 was best. } { [%eval 2.25] } (18... Bb7 19. Rg1 Qe7 20. Qg3 Nc6 21. h4 f4 22. Nxc6 Bxc6 23. exf4 Kh8 24. a3) 19. Rg1 { [%eval 2.17] } 19... Bb7 { [%eval 2.4] } 20. g5 { [%eval 2.2] } 20... Kg8 { [%eval 2.39] } 21. Qh6 { [%eval 2.44] } 21... Qe7 { [%eval 2.34] } 22. h4 { [%eval 2.53] } 22... Nc6 { [%eval 2.44] } 23. h5 { [%eval 2.34] } 23... Nxe5 { [%eval 2.45] } 24. dxe5 { [%eval 2.42] } 24... Qf7?! { (2.42 → 3.43) Inaccuracy. Qg7 was best. } { [%eval 3.43] } (24... Qg7 25. hxg6 hxg6 26. Rh1 Rf7 27. Ne2 Qxh6 28. Rxh6 Rg7 29. Nf4 Bd5 30. Nxd5) 25. hxg6 { [%eval 3.38] } 25... hxg6 { [%eval 3.96] } 26. Rh1 { [%eval 3.94] } 26... Qg7 { [%eval 3.82] } 27. Ne2?! { (3.82 → 3.02) Inaccuracy. Qxg7+ was best. } { [%eval 3.02] } (27. Qxg7+ Kxg7 28. Rd7+ Rf7 29. Rh7+ Kxh7 30. Rxf7+ Kg8 31. Rxc7 Bd5 32. Ne2 Bxa2) 27... Rbd8?! { (3.02 → 3.87) Inaccuracy. Rf7 was best. } { [%eval 3.87] } (27... Rf7 28. Nf4 Re8 29. Nxg6 Qxh6 30. gxh6 Bd5 31. Rd1 Kh7 32. Nf4 Rg8 33. b3) 28. Nf4 { [%eval 3.88] } 28... Rxd2 { [%eval 4.04] } 29. Kxd2 { [%eval 3.98] } 29... Rd8+ { [%eval 3.87] } 30. Ke2 { [%eval 3.91] } 30... Bd5 { [%eval 3.86] } 31. b3 { [%eval 3.82] } 31... Rd7 { [%eval 3.69] } 32. Nxg6 { [%eval 3.43] } 32... c5 { [%eval 3.88] } 33. Qh8+ { [%eval 4.21] } 33... Qxh8 { [%eval 4.18] } 34. Rxh8+ { [%eval 4.14] } 34... Kg7 { [%eval 3.82] } 35. Rh7+ { [%eval 3.06] } 35... Kxh7 { [%eval 3.6] } 36. Nf8+ { [%eval 3.39] } 36... Kg7 { [%eval 3.23] } 37. Nxd7 { [%eval 2.73] } 37... Kg6?! { (2.73 → 4.04) Inaccuracy. c4 was best. } { [%eval 4.04] } (37... c4 38. Nf6 cxb3 39. cxb3 Bc6 40. Nh5+ Kf7 41. Nf4 b4 42. Kf1 Bb5+ 43. Kg2) 38. Nxc5 { [%eval 3.93] } 38... a5 { [%eval 3.33] } 39. a3 { [%eval 3.21] } 39... Kxg5 { [%eval 3.04] } 40. Na6 { [%eval 2.67] } 40... a4?! { (2.67 → 3.83) Inaccuracy. Bc6 was best. } { [%eval 3.83] } (40... Bc6 41. c4 bxc4 42. bxc4 f4 43. Nc5 Kf5 44. Nb3 Bb7 45. Nxa5 Ba6 46. Kd2) 41. bxa4 { [%eval 3.74] } 41... Bc4+?! { (3.74 → 4.74) Inaccuracy. bxa4 was best. } { [%eval 4.74] } (41... bxa4 42. Nc5 f4 43. Nxa4 f3+ 44. Kd2 Kf5 45. Nc5 Kxe5 46. a4 Kd6 47. Nb3) 42. Ke1?! { (4.74 → 3.70) Inaccuracy. Kd2 was best. } { [%eval 3.7] } (42. Kd2 bxa4 43. Nc5 Ba2 44. Kc3 f4 45. Kd4 f3 46. Nxe4+ Kg4 47. Nd2 Kh3) 42... bxa4 { [%eval 3.14] } 43. Nc5 { [%eval 3.84] } 43... f4 { [%eval 4.66] } 44. Nxa4?! { (4.66 → 3.43) Inaccuracy. Nxe4+ was best. } { [%eval 3.43] } (44. Nxe4+ Kg4 45. Kd2 Bb5 46. Kc3 Kf3 47. Kd4 fxe3 48. fxe3 Be8 49. Nc5 Ke2) 44... fxe3?! { (3.43 → 4.41) Inaccuracy. Kf5 was best. } { [%eval 4.41] } (44... Kf5 45. Kd2 Kxe5 46. Kc3 Bd5 47. Nb6 Bc6 48. Nc4+ Kf6 49. exf4 Kf5 50. Kd4) 45. fxe3 { [%eval 3.76] } 45... Bd5?! { (3.76 → 5.79) Inaccuracy. Kf5 was best. } { [%eval 5.79] } (45... Kf5 46. Nb6 Bb5 47. c4 Bc6 48. Kd2 Kxe5 49. c5 Kf6 50. Kc3 Ke7 51. Kb4) 46. Nb6 { [%eval 5.4] } 46... Bc6 { [%eval 5.53] } 47. a4 { [%eval 5.22] } 47... Kg4 { [%eval 6.01] } 48. a5 { [%eval 6.11] } 48... Kf3 { [%eval 6.89] } 49. Kd2 { [%eval 7.02] } 49... Bb7 { [%eval 6.7] } 50. c4 { [%eval 6.62] } 50... Kg4 { [%eval 7.42] } 51. Kc3 { [%eval 7.11] } 51... Kf3 { [%eval 7.31] } 52. Kd4 { [%eval 6.96] } 52... Ba6 { [%eval 7.26] } 53. c5 { [%eval 7.41] } 53... Bb7 { [%eval 9.64] } 54. Nd7 { [%eval 9.35] } 54... Kg4 { [%eval 9.45] } 55. Nb8 { [%eval 8.95] } 55... Kg3 { [%eval 10.14] } 56. a6 { [%eval 9.49] } 56... Bxa6? { (9.49 → Mate in 10) Checkmate is now unavoidable. Bd5 was best. } { [%eval #10] } (56... Bd5 57. c6 Kf2 58. c7 Bb3 59. c8=Q Kg3 60. Qc1 Kg4 61. Kc5 Kf5 62. Qf1+) 57. Nxa6 { [%eval #9] } 57... Kg4 { [%eval #9] } 58. c6 { [%eval #8] } 58... Kf3 { [%eval #8] } 59. c7 { [%eval #7] } 59... Kg4 { [%eval #6] } 60. c8=Q { [%eval #6] } 60... Kg3 { [%eval #5] } 61. Kxe4 { [%eval #4] } 61... Kf2 { [%eval #4] } 62. Qxe6 { [%eval #5] } 62... Ke1 { [%eval #3] } 63. Qa2 { [%eval #2] } 63... Kd1 { [%eval #2] } 64. Kd3 { [%eval #1] } 64... Kc1 { [%eval #1] } 65. Qc2# { White wins. } 1-0
[/pgn]
That was a fun game to play against Pioneer! I also tried Morphy on ChessGate, because I studied Morphy a lot of times when I was serious about my chess, and it's safe to say that it was a successful adaptation of Morphy into an engine, it actually felt like a Morphy game. I will definetely try the other personalities as well, but for now, congratulations!
-
chrisw
- Posts: 4835
- Joined: Tue Apr 03, 2012 4:28 pm
- Location: Midi-Pyrénées
- Full name: Christopher Whittington
Re: ChessGate — Grandmaster personalities built from real game analysis, not engine tweaking (free)
Easy to claim, difficult to prove
-
Chessgate
- Posts: 3
- Joined: Mon Mar 09, 2026 12:43 am
- Full name: Arne Bailliere
Re: ChessGate — Grandmaster personalities built from real game analysis, not engine tweaking (free)
And even harder to build
as you most certainly know, Chris. The most intensive part is running the data pipeline extraction for each eprsonality . But that expensive to calculate knowledge is then available later through fuzzy matching and databse lookups . Maybe some proof can be offered by the multi Platform tournament Spacious Mind is running, ther will be 817 games in total.
This being said, he is now also the main tester since all these games are firsts , first time the Personality Layer and the 174 kB Engine in C work together for a lot of personalites . There was no way for me to test it all since the peraonality / plans layer runs independently form the engine underneath as long as it enables 10 MulitPV , and with the depth reduction and engine selection , this offer in theory endless possibilities. you can reduce the engine depth and still get coherent human play at lower elo levels like 1600 and 1800, because the compressed extracted knowledge built from the personality database and the causal link detection form the full backwards game analysis of a personalitys full career , offer some crystallized depth of knowledge that does not depend on pure calculation when moves are boosted and selected.
The result is (hopefully) that hobby and club players can experience what is it is like to vs coherent karpov style or fisher style players at their own level, ( setting elo levels by reducing depth but the plan layer and style formulas still work, they then just work with the 10 move suggestions provided by the engine at lower depth) without te engine introducing random blunders or shuffling to lose tempi as now often happens with Uci Limitstrength options , since it will always follow one or more plans, contrary to when engines use UCI limitstrength.
But since this is a new kind of system the calibration of the reduced depth and the plan layer is still an issue since it seems to play a lot stronger than an pure depth limited engine due to the plan layer.
There is already a 17 page thread on this in the german chess computer community forum with lots of example games. But i dont want to post external links here.
It is quite transparent to get an idea of the process , as the engine output window offer a peak into the reasoning and the interaction between the personality code and the engine subprocess, also when playing in chessgate online. Hope this helps Best regards. Arne
This being said, he is now also the main tester since all these games are firsts , first time the Personality Layer and the 174 kB Engine in C work together for a lot of personalites . There was no way for me to test it all since the peraonality / plans layer runs independently form the engine underneath as long as it enables 10 MulitPV , and with the depth reduction and engine selection , this offer in theory endless possibilities. you can reduce the engine depth and still get coherent human play at lower elo levels like 1600 and 1800, because the compressed extracted knowledge built from the personality database and the causal link detection form the full backwards game analysis of a personalitys full career , offer some crystallized depth of knowledge that does not depend on pure calculation when moves are boosted and selected.
The result is (hopefully) that hobby and club players can experience what is it is like to vs coherent karpov style or fisher style players at their own level, ( setting elo levels by reducing depth but the plan layer and style formulas still work, they then just work with the 10 move suggestions provided by the engine at lower depth) without te engine introducing random blunders or shuffling to lose tempi as now often happens with Uci Limitstrength options , since it will always follow one or more plans, contrary to when engines use UCI limitstrength.
But since this is a new kind of system the calibration of the reduced depth and the plan layer is still an issue since it seems to play a lot stronger than an pure depth limited engine due to the plan layer.
There is already a 17 page thread on this in the german chess computer community forum with lots of example games. But i dont want to post external links here.
It is quite transparent to get an idea of the process , as the engine output window offer a peak into the reasoning and the interaction between the personality code and the engine subprocess, also when playing in chessgate online. Hope this helps Best regards. Arne
-
towforce
- Posts: 12916
- Joined: Thu Mar 09, 2006 12:57 am
- Location: Birmingham UK
- Full name: Graham Laight
Re: ChessGate — Grandmaster personalities built from real game analysis, not engine tweaking (free)
That's a VERY STRONG endorsement!abgursu wrote: ↑Sun Mar 22, 2026 9:33 amThat was a fun game to play against Pioneer! I also tried Morphy on ChessGate, because I studied Morphy a lot of times when I was serious about my chess, and it's safe to say that it was a successful adaptation of Morphy into an engine, it actually felt like a Morphy game. I will definetely try the other personalities as well, but for now, congratulations!
I personally would not recognise the style of a great human chess player, but it reminds me of when Franz Huber launched CB-EMU, which runs the programs of the great chess computers from the golden age. At first it didn't make sense to me, but I downloaded it and tried a couple of the chess computers I had bought. I knew in a heartbeat it was the real deal, and now I understand that this program actually plays the exact moves that the original machines would play.
This cannot, of course, be said of a human, because we are non-deterministic: we would play a different move on a different day. But I do "recognise your recognition".
Human chess is partly about tactics and strategy, but mostly about memory
-
towforce
- Posts: 12916
- Joined: Thu Mar 09, 2006 12:57 am
- Location: Birmingham UK
- Full name: Graham Laight
Re: ChessGate — Grandmaster personalities built from real game analysis, not engine tweaking (free)
One more thing: great chess players don't choose their moves on the basis of surface patterns in the position - their brain contains a deep model of the game. For any given human player, there simply aren't enough games to study for it to be possible to work out these deep models with any degree of accuracy - especially when this model is changing over time.towforce wrote: ↑Sun Mar 22, 2026 1:50 pmThat's a VERY STRONG endorsement!abgursu wrote: ↑Sun Mar 22, 2026 9:33 amThat was a fun game to play against Pioneer! I also tried Morphy on ChessGate, because I studied Morphy a lot of times when I was serious about my chess, and it's safe to say that it was a successful adaptation of Morphy into an engine, it actually felt like a Morphy game. I will definetely try the other personalities as well, but for now, congratulations!![]()
I personally would not recognise the style of a great human chess player, but it reminds me of when Franz Huber launched CB-EMU, which runs the programs of the great chess computers from the golden age. At first it didn't make sense to me, but I downloaded it and tried a couple of the chess computers I had bought. I knew in a heartbeat it was the real deal, and now I understand that this program actually plays the exact moves that the original machines would play.
This cannot, of course, be said of a human, because we are non-deterministic: we would play a different move on a different day. But I do "recognise your recognition".![]()
This makes it all the more impressive that someone who has studied Morphy says that it feels right.
Now do the same thing for financial markets and go and get rich!*
*this won't actually work: the players are changing all the time, and there's not enough data to calculate who's playing and what their trading policies are.
Human chess is partly about tactics and strategy, but mostly about memory
-
towforce
- Posts: 12916
- Joined: Thu Mar 09, 2006 12:57 am
- Location: Birmingham UK
- Full name: Graham Laight
Re: ChessGate — Grandmaster personalities built from real game analysis, not engine tweaking (free)
Found myself dwelling on this. Off topic for chess, so I'm continuing in the AI forum - link.
Human chess is partly about tactics and strategy, but mostly about memory