I made a program to find craziest sacrifices in a row. Here is what it found
"Aren't those 2 bishops our last hope? Surely not, we can sacrifice them to create a perfect checkmate with our last 2 pieces remaining. And extra queen won't save our oponent."Appetiser
Hello everyone!
I am going to provide some technical information about my project below, so if you are not a chess developer, and just want to see the unique brilliant sequences, that you will not find anywhere else, just scroll to the games!
Take a note that no AI was used to generate the text in this post, so they might be some typos.
How I started my journey
It first started at a point where chess become more than just a game for me. I wanted not only to play, but also see what information I could get from my games. I downloaded all my games from all the accounts I've ever had on chess.com, lichess.org, and all the games I played offline against bots using chessbase Fritz software. Luckily, they all store the date and the exact time when were the games played. So I sorted them all using python script, with the help of python-chess module. I already had the understanding in how chess engine uci-protocol works, so creating a script that could "talk" with them wasn't a hard task. This is where things start to get interesting...
What data can I extract from my games? (base move annotations)
With the script that uses Stockfish, or any other uci engine I could get the evaluation after all moves, which means that since stockfish is practically perfect, the difference of evaluations of the position before, and after the move is played is exact loss of a move. Of cource all blunders are different, you can just hang your queen, or a sophisticated checkmate in 10, but to the perfect chess machine - they are all the same. So using this metric, I could already build chess review, that identifies most time of move annotations, depending of how much centipawns they lose. There are also some techinal things like cutting the loss of a move if a position is hopeless regardless (f. e. loss from -10 to -15 isn't as bad as from +3 to -2). This potentially helped me to find the worst and best games played by me.
What I decided to do improve the analysis? (advanced move annotations)
The "game review" could already identify and distribute from each others blunders, mistakes, inaccuracies, good moves, excellent ones, and best ones. (Yes, I decided to use chess.com metrics).
However I also decided to implement another idea I had, - great move. If a move is not a capture (to avoid simple recaptures being flagged as great moves), and better than other moves by a big margin, and also we are not losing, then the move is great. And that leads to implementing a miss move. If the best move had "great" annotation, then bluders and mistakes turn to misses. It's kinda self-explanatory, we have missed the oportunity. Theoretical (Book) moves also wasn't hard to implement. In fact, I made them personalised. If the move is seen more than 3 times in my games, that means that it is theoretical. This led to some checkmating patterns in endgame also be flagged as book moves, which in my opinion is pretty cool.
What was still missing? (Brilliant moves finder) + DISCLAIMER
DISCLAIMER: I know that some people are sceptical about brilliant moves. Some say it is biggest scam of 21st century and was invented by devil himself to take away money from chess players. My position is, that we shouldn't bring too much attention to the move annotations. Sure, move could be brilliant, however we shouldn't consider it the best move that we have ever seen, or to be something truly beautiful. In my view it's just a sacrifice of material which is also a good move. Nothing special (however you will see that things that it found were very beautiful).
Finding brilliant sacrifices is hard for a program. First of all, for me brilliant move is not only a sacrifice. There is very beautiful definition of brilliant move: "A brilliant move is a move that breaks chess rules". F. e. sacrifice breaks a rule that says that we shouldn't give away material. But there are more to it, f.e. Karpov's Nb1!! which in my opinion is even better than any sacrifice, is brilliant because it breaks a rule of not moving pieces back. But those are very hard to identlify. So we stick to sacrifices. It is not easy to distribute sacrifice from a trade sometimes, the positions where piece was trapped/forked no matter what, and my programm, after days of testing still from time to time marks brilliant to a non-brilliant move. However it mistakes pretty rarely.
What Have I found?
After analysing all of my games, which I played around 18.5k in around 4 years, I have found that I've played around 24000 great moves (3.1%), and around 1000 brilliant moves (0.1%). I also found out that I missed around 3000 brilliant moves, which the engine recommended me.
I've then seen around 100 of them, and most are truly brilliant, with some exceptions. However the more I saw them, the less brilliant they seemed to me, and I needed to somehow show the best sacrifices. But there are many brilliant, and making top 10 would be very hard.
What I decided to do? How to create top 10?
So I decided to check brilliancy of a move, after my brilliant move, and oponent capturing the piece, (the next move that stockfish recommends). And in 70 cases out of 4000 there was 2nd brilliant in a row. And exactly one position when 3 moves in a row were brilliant. And I'm excited to share it with all of you. But before, I will show you the best 2 move sequences that my program found. Some were pretty thematic, others were on the cosmic level. They all are taken from my games only.
Brilliant combinations, that I have missed:
I will go from the decent ones, to the most brilliant ones.
Both rooks sacrificed. First one is fairly simple, but trust me, it's only gonna get more brilliant.
What could be more beautiful then sacrificing both pieces to open up the king? Well, many things. however I still decided to put it here. This is one of the simplest ones there.
What could be more basic than a greek gift? Promise you, after this one, things are about to get surprising.
Another boring checkmate. Knight and rook sacrificed. If you are still there, you will not regret it. Things are about to get crazier soon.
This is the first one that can really be called brilliant in my opinion, partly because one sacrifice requires the calculation of another.
This one is just beautiful. Pretty easy to spot though. Have you seen this coming?
Let's now move to non-obvious checkmates in 3. How sharp are your eyes?
Can you spot this one?
Things are about to get spicier now! How do we get to the oponent's king? Especially if after Rxf4 they are gonna take with the e pawn?
You probably haven't seen this one coming, have you?
Did I make you smile yet? Because next ones gonna blow your mind.
But for now, white to move, checkmate in 3.
Beautiful tactical decision that solves the position? Who needs rooks by the way?
Should we move our knight away from being taken? Or should we sacrifice it, and then another one?
This one is deep. If you are a good player, try to find it by yourself, you will feel good if you do, and if not - don't be sad, I missed it too in my game.
Aren't those 2 bishops out last hope? Surely not, we can sacrifice them to create a perfect checkmate with out last 2 pieces remaining. And extra queen won't save our oponent.
Alright, if you are still there, this will blow your mind. Those are the ones that only stockfish understands. I can't explain it, but for some reason the best moves here are to give away our two knights???
Black has so many pieces protecting their king, surely no sacrifice works here. Right?
And the last one, with 3 pieces sacrificed. Please, take a note that black doesn't have to capture the bishop, However after Kg8 we have Re6 with crushing initiative.
Actually, this is gonna be the last one, I completely forgot about it! What's crazy is that both piece taking our rook allow promotion of our pawn!
I wish atleast one of those made you smile.
I think I did pretty good job, I found good combinations only out of my own games, it was challenging, yet rewarding. This is how much you can get just from around 18.5k games, which is a bit less than a million chess moves. Now imagine what can we find if we analyse all lichess games? There would be 6,7,8 and more brilliancies in a row. But that's impossible to do. Did you enjoy the study?
I don't plan to publish my code for now, it has too many inconsistencies, however I might do it one day, when I will make a program out of it.
Have a great day everyone, make sure to leave a comment if you still have any questions.
And if you are still there, I decided to include a bonus, I decided not to publish this positions at first, but maybe someone will like it?
Bonus 1
Bonus 2 (I decided not to include it in main thread, since this combination, as beautiful as it is, only leads to win of a single pawn)
Bonus 3 (This one, I just frankly didn't understand at all, but stockfish recommends giving away 2 exchanges in a row)
!!! UPDATE !!!
My program kept working, since I uploaded that article, analysing my friend's games. And it kept finding more and more brilliant moves.
And I am very happy to announce them to you all!
When the king has no protecters...
Unexpected interference! (feel free to analyse the position deeper on your own)
Crazy 2 rooks sacrifice by stockfish!
Edit* Thank you all for the support in the comments, I am really happy that my project got so much attention of good people!
I might add more beautiful positions there in the future, so make sure to come back to this article in a week!
