ChessGate — Grandmaster personalities built from real game analysis, not engine tweaking (free)
Moderator: Ras
-
mclane
- Posts: 18969
- Joined: Thu Mar 09, 2006 6:40 pm
- Location: US of Europe, germany
- Full name: Thorsten Czub
Re: ChessGate — Grandmaster personalities built from real game analysis, not engine tweaking (free)
I do especially like that there is now a style of GM Daniel Naroditsky.
What seems like a fairy tale today may be reality tomorrow.
Here we have a fairy tale of the day after tomorrow....
Here we have a fairy tale of the day after tomorrow....
-
Chessgate
- Posts: 7
- 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)
Thank you for the feedback and the endorsements
.
There is now a new page to the Chessgate web app where one can find more info on the origins of the project, as well as some example games from a tournament organized by Spacious Mind:
https://playchessgate.com/interview
Best regards
Arne
There is now a new page to the Chessgate web app where one can find more info on the origins of the project, as well as some example games from a tournament organized by Spacious Mind:
https://playchessgate.com/interview
Best regards
Arne
-
OttoLau
- Posts: 35
- Joined: Wed Oct 22, 2025 7:10 pm
- Location: Finland
- Full name: Otto Laukkanen
Re: ChessGate — Grandmaster personalities built from real game analysis, not engine tweaking (free)
Hello Arne, do you fear chess cheaters could use these personalities online to try to bypass the detection systems? If they play as similarly as humans, wouldnt that be an issue to consider?Chessgate wrote: ↑Fri Mar 27, 2026 11:03 am Thank you for the feedback and the endorsements.
There is now a new page to the Chessgate web app where one can find more info on the origins of the project, as well as some example games from a tournament organized by Spacious Mind:
https://playchessgate.com/interview
Best regards
Arne
-
Chessgate
- Posts: 7
- 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)
Hey Otto,
The cheating issue in online chess is really an issue in itself, which I have not considered at all to be honest . I see absolutely no use in using an engine to cheat my way into having some digital numbers as a rating on an hosted platform, which does not really bring any value. But maybe I am too naive in that. Ther is no real connectivity to the outside built in atm either. S o no, I dont have any real concern there.
The cheating issue in online chess is really an issue in itself, which I have not considered at all to be honest . I see absolutely no use in using an engine to cheat my way into having some digital numbers as a rating on an hosted platform, which does not really bring any value. But maybe I am too naive in that. Ther is no real connectivity to the outside built in atm either. S o no, I dont have any real concern there.
-
towforce
- Posts: 12931
- 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)
Hmmm... what if you were running a chess channel and needed credibility to get viewers?
I think most cheating detection is based on counting shallow tactical errors, which engines rarely make: does ChessGate make them?
Human chess is partly about tactics and strategy, but mostly about memory
-
Chessgate
- Posts: 7
- 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)
Hi Otto,
that’s a fair question, and I think it depends on how one looks at the playing characteristics.
The system is based on Top Player game data, so the baseline behaviour is relatively stable and avoids obvious tactical mistakes. There is also a safeguard layer which checks that plan-driven moves do not immediately fail tactically.
However, this does not make it equivalent to a classical engine. The move selection is constrained by plan structures and style rules, and the overall strength depends quite heavily on depth settings. If you reduce depth, you start to see more human-like inaccuracies at the tactical level but the plan and style would still be coherent .
Another practical limitation is calibration. The interaction between plan selection and engine depth is not linear, so it is actually quite difficult to tune the system to a specific strength in a controlled way. We are still working on that ourselves. Its also a bit of a different system: In the desktopp app, you can swith the engines under the personality layer. And reduce elo strength by reducing depth of the 10 multipv propositions. But it is still hard to calibrate. Here a 1600 elo reduced Smyslov almost knocked out the Stockfish 2000 (UCI Limitstrength) emulation on the Mephisto Phoenix in 15 moves... but he did NOT find the right continuation (15 Bf6!!) and then ultimately lost the game!
So you know, it would take some nerves to bet the future of your Video Channel on this still dynamic system
[pgn][Event "ChessGateAnalyzed Game"]
[White "Smyslov 1606"]
[Black "Stockfish 2000"]
[Site ""]
[Round ""]
[Annotator "ChessMind + Stockfish"]
[Result "*"]
[Date "2026.02.20"]
[PlyCount "91"]
1. e4 { [+0.34] } e6 { [+0.47] ?! } 2. d4 { [+0.44] } d5 { [+0.42] } 3. Nc3 { [+0.44] } Bb4 { [+0.59] ?! } 4. e5 { [+0.65] } c5 { [+0.55] } 5. a3 { [+0.58] } Bxc3+ { [+0.63] } 6. bxc3 { [+0.63] } Ne7 { [+0.61] } 7. a4 { [+0.38] ?! } Nbc6 { [+0.40] } 8. Nf3 { [+0.45] } Bd7 { [+0.83] ?! } 9. Be2 { [+0.63] } b6 { [+0.91] ?! } 10. O-O { [+0.87] ?! } Na5 { [+1.28] ?! } 11. Ba6 { [+0.87] ?! } O-O { [+1.02] ?! } 12. Bd3 { [+1.00] } h6 { [+0.90] } 13. Ng5 { [-1.29] BLUNDER! Better: Kh1 } (13. Kh1 { Better } )hxg5 { [-1.40] } 14. Bxg5 { [-1.35] } Qe8 { [+3.86] BLUNDER! Better: f5 } (14... f5 { Better } )15. Qg4 { [+0.00] BLUNDER! Better: Bf6 } (15. Bf6 { Better } )Ng6 { [+0.15] ?! } 16. f4 { [-0.39] MISTAKE! Better: Bf6 } (16. Bf6 { Better } )c4 { [+0.98] MISTAKE! Better: f5 } (16... f5 { Better } )17. Be2 { [-0.83] BLUNDER! Better: f5 } (17. f5 { Better } )Nc6 { [+0.22] MISTAKE! Better: Nb7 } (17... Nb7 { Better } )18. Bf6 { [+0.14] } Nb8 { [+0.21] } 19. Qg5 { [+0.42] } Bxa4 { [+0.28] } 20. Rf3 { [+0.16] } gxf6 { [+0.10] } 21. Qh6 { [+0.23] } Qe7 { [+0.14] } 22. Raf1 { [-2.20] BLUNDER! Better: Rh3 } (22. Rh3 { Better } )Bxc2 { [-2.23] } 23. f5 { [-2.99] } exf5 { [-3.23] } 24. Rh3 { [-3.45] } Rc8 { [-2.79] ?! } 25. Qh7+ { [-3.05] } Kf8 { [-3.36] } 26. Bh5 { [-3.56] } Qe6 { [-3.07] MISTAKE! Better: Nd7 } (26... Nd7 { Better } )27. Bxg6 { [-3.15] } Nd7 { [-3.28] } 28. Rxf5 { [-3.35] } Ke7 { [-3.31] ?! } 29. Bxf7 { [-4.19] } Qxf7 { [-4.10] } 30. exf6+ { [-4.09] } Ke8 { [-4.21] } 31. Re3+ { [-4.48] ?! } Be4 { [-4.32] } 32. Qh8+ { [-4.46] } Qf8 { [-4.51] } 33. Qh5+ { [-4.79] } Kd8 { [-4.76] } 34. Rxd5 { [-4.74] } Bxd5 { [-4.73] } 35. Qxd5 { [-4.78] } Qxf6 { [-4.66] } 36. Re6 { [-4.68] } Qf4 { [-4.17] MISTAKE! Better: Qf7 } (36... Qf7 { Better } )37. h3 { [-4.70] MISTAKE! Better: h4 } (37. h4 { Better } )Rab8 { [-4.32] ?! } 38. Rg6 { [-5.17] } Qe3+ { [-5.39] } 39. Kh2 { [-5.61] } Qe7 { [-5.58] } 40. Kh1 { [-5.76] MISTAKE! Better: Re6 } (40. Re6 { Better } )a5 { [-4.58] BLUNDER! Better: b5 } (40... b5 { Better } )41. g3 { [-7.08] BLUNDER! Better: Re6 } (41. Re6 { Better } )Qe1+ { [-7.17] } 42. Kh2 { [-7.30] } Qd2+ { [-7.43] } 43. Kg1 { [-8.28] MISTAKE! Better: Qg2 } (43. Qg2 { Better } )Qd1+ { [-8.36] } 44. Kh2 { [-8.47] } Qc2+ { [-8.55] } 45. Kg1 { [-8.83] ?! } Qxg6 { [-8.88] } 46. Kf1 { [-9.65] MISTAKE! Better: Qg2 } (46. Qg2 { Better } )*
[/pgn]
that’s a fair question, and I think it depends on how one looks at the playing characteristics.
The system is based on Top Player game data, so the baseline behaviour is relatively stable and avoids obvious tactical mistakes. There is also a safeguard layer which checks that plan-driven moves do not immediately fail tactically.
However, this does not make it equivalent to a classical engine. The move selection is constrained by plan structures and style rules, and the overall strength depends quite heavily on depth settings. If you reduce depth, you start to see more human-like inaccuracies at the tactical level but the plan and style would still be coherent .
Another practical limitation is calibration. The interaction between plan selection and engine depth is not linear, so it is actually quite difficult to tune the system to a specific strength in a controlled way. We are still working on that ourselves. Its also a bit of a different system: In the desktopp app, you can swith the engines under the personality layer. And reduce elo strength by reducing depth of the 10 multipv propositions. But it is still hard to calibrate. Here a 1600 elo reduced Smyslov almost knocked out the Stockfish 2000 (UCI Limitstrength) emulation on the Mephisto Phoenix in 15 moves... but he did NOT find the right continuation (15 Bf6!!) and then ultimately lost the game!
So you know, it would take some nerves to bet the future of your Video Channel on this still dynamic system
[pgn][Event "ChessGateAnalyzed Game"]
[White "Smyslov 1606"]
[Black "Stockfish 2000"]
[Site ""]
[Round ""]
[Annotator "ChessMind + Stockfish"]
[Result "*"]
[Date "2026.02.20"]
[PlyCount "91"]
1. e4 { [+0.34] } e6 { [+0.47] ?! } 2. d4 { [+0.44] } d5 { [+0.42] } 3. Nc3 { [+0.44] } Bb4 { [+0.59] ?! } 4. e5 { [+0.65] } c5 { [+0.55] } 5. a3 { [+0.58] } Bxc3+ { [+0.63] } 6. bxc3 { [+0.63] } Ne7 { [+0.61] } 7. a4 { [+0.38] ?! } Nbc6 { [+0.40] } 8. Nf3 { [+0.45] } Bd7 { [+0.83] ?! } 9. Be2 { [+0.63] } b6 { [+0.91] ?! } 10. O-O { [+0.87] ?! } Na5 { [+1.28] ?! } 11. Ba6 { [+0.87] ?! } O-O { [+1.02] ?! } 12. Bd3 { [+1.00] } h6 { [+0.90] } 13. Ng5 { [-1.29] BLUNDER! Better: Kh1 } (13. Kh1 { Better } )hxg5 { [-1.40] } 14. Bxg5 { [-1.35] } Qe8 { [+3.86] BLUNDER! Better: f5 } (14... f5 { Better } )15. Qg4 { [+0.00] BLUNDER! Better: Bf6 } (15. Bf6 { Better } )Ng6 { [+0.15] ?! } 16. f4 { [-0.39] MISTAKE! Better: Bf6 } (16. Bf6 { Better } )c4 { [+0.98] MISTAKE! Better: f5 } (16... f5 { Better } )17. Be2 { [-0.83] BLUNDER! Better: f5 } (17. f5 { Better } )Nc6 { [+0.22] MISTAKE! Better: Nb7 } (17... Nb7 { Better } )18. Bf6 { [+0.14] } Nb8 { [+0.21] } 19. Qg5 { [+0.42] } Bxa4 { [+0.28] } 20. Rf3 { [+0.16] } gxf6 { [+0.10] } 21. Qh6 { [+0.23] } Qe7 { [+0.14] } 22. Raf1 { [-2.20] BLUNDER! Better: Rh3 } (22. Rh3 { Better } )Bxc2 { [-2.23] } 23. f5 { [-2.99] } exf5 { [-3.23] } 24. Rh3 { [-3.45] } Rc8 { [-2.79] ?! } 25. Qh7+ { [-3.05] } Kf8 { [-3.36] } 26. Bh5 { [-3.56] } Qe6 { [-3.07] MISTAKE! Better: Nd7 } (26... Nd7 { Better } )27. Bxg6 { [-3.15] } Nd7 { [-3.28] } 28. Rxf5 { [-3.35] } Ke7 { [-3.31] ?! } 29. Bxf7 { [-4.19] } Qxf7 { [-4.10] } 30. exf6+ { [-4.09] } Ke8 { [-4.21] } 31. Re3+ { [-4.48] ?! } Be4 { [-4.32] } 32. Qh8+ { [-4.46] } Qf8 { [-4.51] } 33. Qh5+ { [-4.79] } Kd8 { [-4.76] } 34. Rxd5 { [-4.74] } Bxd5 { [-4.73] } 35. Qxd5 { [-4.78] } Qxf6 { [-4.66] } 36. Re6 { [-4.68] } Qf4 { [-4.17] MISTAKE! Better: Qf7 } (36... Qf7 { Better } )37. h3 { [-4.70] MISTAKE! Better: h4 } (37. h4 { Better } )Rab8 { [-4.32] ?! } 38. Rg6 { [-5.17] } Qe3+ { [-5.39] } 39. Kh2 { [-5.61] } Qe7 { [-5.58] } 40. Kh1 { [-5.76] MISTAKE! Better: Re6 } (40. Re6 { Better } )a5 { [-4.58] BLUNDER! Better: b5 } (40... b5 { Better } )41. g3 { [-7.08] BLUNDER! Better: Re6 } (41. Re6 { Better } )Qe1+ { [-7.17] } 42. Kh2 { [-7.30] } Qd2+ { [-7.43] } 43. Kg1 { [-8.28] MISTAKE! Better: Qg2 } (43. Qg2 { Better } )Qd1+ { [-8.36] } 44. Kh2 { [-8.47] } Qc2+ { [-8.55] } 45. Kg1 { [-8.83] ?! } Qxg6 { [-8.88] } 46. Kf1 { [-9.65] MISTAKE! Better: Qg2 } (46. Qg2 { Better } )*
[/pgn]
-
AdminX
- Posts: 6386
- Joined: Mon Mar 13, 2006 2:34 pm
- Location: Acworth, GA
Re: ChessGate — Grandmaster personalities built from real game analysis, not engine tweaking (free)
Very Nice! Thanks, I just added your website to my favorites.Chessgate wrote: ↑Fri Mar 20, 2026 3:25 pm 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
"Good decisions come from experience, and experience comes from bad decisions."
__________________________________________________________________
Ted Summers
__________________________________________________________________
Ted Summers
-
AdminX
- Posts: 6386
- Joined: Mon Mar 13, 2006 2:34 pm
- Location: Acworth, GA
Re: ChessGate — Grandmaster personalities built from real game analysis, not engine tweaking (free)
I need to discover the fonts you use, but I can tell you it is working with Wine on Linux.
"Good decisions come from experience, and experience comes from bad decisions."
__________________________________________________________________
Ted Summers
__________________________________________________________________
Ted Summers
-
Chessgate
- Posts: 7
- 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)
Thanks , I am glad you like the project!
Some new Players just joined our Chessgate Family: Adolf Anderssen, Mikhail Botwinnik, Akiba Rubinstein, Aron Nimzowitsch, Richard Reti, Jan Timman and Mikhail Tchigorin. They are fresh form the construciton line, so we will see how this goes, happy to hear your feedback
Some new Players just joined our Chessgate Family: Adolf Anderssen, Mikhail Botwinnik, Akiba Rubinstein, Aron Nimzowitsch, Richard Reti, Jan Timman and Mikhail Tchigorin. They are fresh form the construciton line, so we will see how this goes, happy to hear your feedback