As you know, LiChess Tools is my own Chromium browser extension for lichess.org, adding a lot of stuff to it. Recently, from version 2.2.0 on, I've added a new feature called Show Pawn Structures. This post explains in detail what it is, what it does and how it does it.

Pawn Structures

What is a pawn structure? The configuration of pawns on the chessboard. Because pawns are the least mobile of the chess pieces, the pawn structure is relatively static and thus plays a large role in determining the strategic character of the position. It is a powerful chess concept that is mostly ignored on amateur level and I've met 2000+ rated players who didn't know what that was. Not that I know, either, which is why I got so excited to build this feature because it would further chess understanding and learning. With different structures come medium term plans, so instead of having the opaque engine recommendations of making one move or another, you will have a general idea on where to take the game to.

The above is the chess definition of the concept, though. In order to work with it in an algorithm it has to be clearly defined. The difficulty here lies in the fact that while the pawn structure is "relatively static" its meaning is not. While you will be shown a specific pawn configuration in the context of a named structure, it would be implied that other similar configurations also belong. That similarity being not precise, but something nebulous related to the general ideas and themes that are made possible by the structure.

Feature requirements

The purpose of the feature is to determine the pawn structure of a position in either game analysis, analysis board, studies, TV games and mini-games (the things that appear when you hover on a playing user link or in the Current Games section), then display it, similar to the Show Opening feature. The reasoning here is that one can learn to classify positions and thus know the general plans that apply in the situation.

Technical details

There is a list of pawn structures that LiChess Tools supports. The list is at the end of this post. In order to the structure I created a textual representation of them, that looks something like this: 312100TX 0X0210 2020 XXLXXX XXXXXX XXXX. A bit daunting, but the most important part is the first group of characters: 312100TX.

The idea is that the first characters are the most significant, so similar pawn structures would start with the same letters and digits, even if they diverge later on. Based on the structures detailed by various books on the matter, I've considered that the position of the d-pawn is the most significant, followed by the e and c pawns, then the pawn majority on the White and Black sides, followed by the other pawns: f,b,g,a,h. The final part is doubled or triple pawns, which most of the time is irrelevant.

So let's get back to the complicated string above: 312100TX 0X0210 2020 XXLXXX XXXXXX XXXX (we will assume White board orientation)

  • 312 - my pawn position on the d,e,c files: d5 (3 squares forward), e3 (1 square), c4 (2 squares) - the possible characters for this group are X (missing pawn), 0 (unmoved pawn), 1,2,3 (squares the pawn is forward from its starting position)
  • 100 - their pawn position on the d,e,c files: d6, e7, c7
  • TX - the majority on the queenside and kingside: T (they) have majority on the queenside, and equality on the kingside - the possible characters for this group are M (me), T (them) or X (neither)
  • 0X0 - my pawn position for the f,b,g files
  • 210 - there pawn position for the f,b,g files
  • 20 - my pawn position for the a,h files
  • 20 - my pawn position for the a,h files
  • XXLXXX XXXXXX XXXX - similar to above groups, doubled or tripled pawns - X for no, L for yes

Most pawn structures are exclusively about the position of the c,d and e file pawns, therefore the first group of characters will be the most determining one. This may change in the future, perhaps, as better chess players than me will point out issues with this system, but for the moment this is how it works.

Based on this string we can compare the current pawn position to the one of the named pawn structures. There are three options in the Preferences for this feature:

  • Enabled - if this feature is on or off
  • Only named structures - will only display the named structures if enabled. If not, then the name will be displayed as the most significant group of characters in the structure representation. On mouseover, the title will show the entire thing as well as the most similar named structure found.
  • Fuzzy - if this feature is on, then a structure will be considered named if 90% similar to the standard one.

The feature will invert the structure and look for a name there if not found for your own orientation. If a name is found there, "(R)" will be added to the name. 

Note that the most named structures are represented by the most significant group only, and only several of them by the first two or three groups of characters. The rest is ignored.

Similarity

Now, how do we compute the similarity? It's a work in progress, but at the moment it works like this:

  • the number of common characters on the same position from the beginning of the text are counted as 1
  • the number of other common characters on the same position (so after any position where the characters were different) are counted as 0.8
  • the number of positions where the current structure has pawns on squares that may allow moving them on the named structure square for that position (so where the value is numerical and smaller than the numerical value of the named structure) are counted as 0.2
  • the percentage of the resulting sum from the characters counted is returned as the result

Example: Carlsbad vs Slav
21X2X0TM
21XX11TX
11100280 (8 denotes 0.8 and 2 denotes 0.2 here) = 4/8 = 50%

It may be that this is not the best way and it might be changed in the future.

List of structures

A small note on naming: different sources name these differently or don't recognize them as structures at all. I did what I could to give a short identifiable name to each position, but I think sooner or later I will have to restrict the number of names, rather than increase it. We'll see.

So here is the list of pawn structures recognized by LiChess Tools (v2.2.3):

The links above are also used in LiChess Tools and are mostly from Wikipedia, but also some approximations or just other random sites because there are no links for many of the Flores structures. I would be very happy if someone would help me clean these up.

Hope this explains everything. Enjoy!

and has 0 comments

Intro

If you are like me, you enjoy chess as a viewer, people sharing their experiences, games and traps and gambits and drama and all of that at the same time. If you are like me, you are addicted to YouTube. Hi, I am Siderite and I am an addict. Yet even the most manic consumer can't keep up with everything out there, so here is My List @2023 of TOP FUN YouTube channels related to chess.

Now, because I list them, I will have to define what fun means. Of course, it's MY fun. You might enjoy something else.

Also, I am a chess noob, so a channel like GM Daniel Naroditsky's (which in my opinion is the best chess channel out there or close to it) flies right over my head. Plus he makes one hour plus videos. Who has time to watch those at twice the speed?

Also twitch, live streams and all that jazz get really old really fast for me. I don't have the time and availability, plus it's a lot of talk. The amount of useful and/or fun information per unit of time is really low. So no.

What is left are charismatic people who are passionate about chess and present it in a way that is both concise and entertaining. And before I list them, let's all take a moment of silence for vampirechiken - may it rise from the dead - Jonathan Schrantz's personal YouTube channel which until recently has been mainly about chess and then suddenly was not. Zolpi, we miss you!

The contestants

OK, let's name our contestants, in no particular order. Then rank them for fun!

Daniel Naroditsky - GM Daniel Naroditsky is an amazingly smart guy. He is also nice and very articulated. His content is well structured, concise and cleared of unnecessary pauses. And yet he is almost always posting one hour and a half videos! Really great guy.

Eric Rosen - Eric Rosen is a very fun person, while also being reasonable, kind and very talented. This International Master of chess singlehandedly made the Stafford Gambit famous (well, again, after Stafford's YouTube channel lost a lot of viewers). Unfortunately, his video editor was also Jonathan Schrantz and, hopefully coincidentally, but I wouldn't hold my breath, the rate and quality of the videos decreased when that guy quit chess.

GothamChess - Talking of stridency, Levy Rozman's channel is very popular, but I don't watch him often, regardless of how loudly he sacrifices rooks. One of the most famous chess YouTube channels, it features a lot of chess analysis, chess news and something called Guess the ELO where fun is made of low rated players. It has the most click bait titles ever and every video thumbnail is properly a face contorted by an acceptable online emotion like :-O, with glowing eyes and a fire background. Because science, bitch!

Remote Chess Academy - Who is GM Igor Smirnov? He is a very charismatic Ukranian chess Grandmaster who likes to make clickbaity videos about chess traps and openings. The content is often simplified for the low rated players and sometimes it is repeated over multiple videos. Think those horribly titled TOP BEST LIST of anything. Who does that? But the guy is fun. His content, though, is pure monetizable output, nothing personal.

John Bartholomew - You can't think of the Scandinavian opening and not think of International Master John Bartholomew. He had a stint in which he was popularizing the opening (team Scandi!🔥🔥🔥). He is also a very nice guy. His content nowadays, though, is a lot of him playing lower rated players in "rating ladder" videos. But I like the guy.

Hanging Pawns - Stjepan Tomic is a regular chess player. His dream is to become a GM, therefore he plays all of these classical games and does analysis on them. His content is very educative, not always entertaining, yet very personal. I think his own displeasure on losing keeps him from winning a lot of times.

Miodrag Perunovic - The Butcher of chess is a very talented International Master. His videos are mostly theoretical and he presents everything with great certainty. Well, he makes it work, because how am I going to disagree with anything he says? He is entertaining, but also pretty high level.

Adamisko šach - Adam Prikler has one of the most promising channels out there. He invents these crazy gambits and traps and his videos are really fun and funny. They are mostly niche, unknown stuff, so the content is also very educative as well as entertaining. Watch out for this guy, he's going to be big!

Anna Cramling - Anna is the young and beautiful daughter of two grandmasters: Pia Cramling from Sweden and Juan Manuel Bellón López from Spain. She's fun, creating popular content, but I feel she is more focused on the popularity than the chess. She is very natural, though, and I like watching her personal story videos.

BotezLive - Alexandra and Andreea Botez are two famous chess playing sisters of Romanian origin. Unfortunately, poor Alexandra somehow managed to have her name associated with hanging queens. It's called the Botez gambit, while not being a gambit at all, just a horrible blunder. Still, even bad publicity is publicity. I don't really watch them. They are cute, but the content is often live and with a lot of dialogue and loud stuff. Very watched channel, though.

Dina Belenkaya - Do not mess with Dina. She is part Russian, part Israeli. A WGM, she is partly fun, partly annoying with her focus on over the board banter. Her content is also focused on popularity, mostly over the board games all over the world.

IM Alex Banzea - Alex is a Romanian YouTuber. He has all kinds of stuff: theory, own games, rating climbs. He is good, but I don't watch him much.

kingscrusher - Tryfon Gavriel is a British CM and total chess enthusiast. If YouTube would be a kingdom, Kingscrusher would be old school royal family. He has been around for a long time and he loves chess. His videos are usually game analysis.

GM Huschenbeth - Niclas Huschenbeth is a German GM. His channel is in German. I don't watch him much now, but I used to when he first started. His content is about a lot of things, but pretty high level.

GMHikaru - Hikaru who? I like Nakamura as a person, but I don't really enjoy his channel style. It's mostly live, Twitch like stuff, only recorded for YouTube. Obviously one of the best players in the world, but still making accessible content.

FM William Graif - FIDE Master Will Graif is a young passionate gambiteer and his videos are usually short and entertaining. A proponent of gambits like the Von Popiel and Busch Gass gambits, he is a very smart player.

ChessNetwork - No one knows who Jerry actually is. He spends all day playing chess and creating videos on YouTube. Another true passionate of the game. His content is extremely informative and intelligent, but a bit high level.

PowerPlayChess - GM Daniel King is obviously strong, but also very articulate and seems very nice. His channel features a lot of detailed chess game analysis and puzzles, as well. I like him.

Volclus - Who is Volclus, or - how I like to call him - "the son of Jerry"? No one knows. He seems like another YouTuber mining for content, but oh boy the work he puts into some of these videos. Have you seen the 11 hours video of all gambits? He made it. And he's rather fun as well.

ChessGeek - This is another young guy on a YouTube channel, but his content is very high value, especially in terms of theory, pawn structures, openings and so on. I like the clear enunciation and obviously the theoretical stuff, but it's pretty over the top. It takes work to get all that.

GingerGM - Grandmaster Simon Williams is a strange beast. He is funny, he is charismatic, he is obviously good at chess, but he is still in the shadows of YouTube, even if most people have heard of him in the community. His content is mostly his own games and speedruns, but also some course material.

GMNeiksans Chess - Grandmaster Arturs Neiksans is a Latvian grandmaster with awesome skill. He is also very nice and his content is really high quality. Unfortunately, it is also often long form and high level. He stopped making videos on YouTube about six months ago, so I don't know if he'll ever restart.

I guess I could go on a bit, but I don't really watch all of these channels and googling for others that I don't know would just eat away all my off screen time. It's time for the ranking! Do I have an objective algorithm for ranking these? Hell, no! I said it was all about fun. If someone could quantify fun they would be rich. I... am not rich.

The results

So here is a list of the channels I watch most and enjoy the most:

Honorable mentionkingscrusher - he is an amazingly nice guy and his knowledge of chess just pours out of him. I just don't watch his channel that much.

Fifth placeAnna Cramling - I wish Anna luck on her chess career and I like her energy and root for her to become better.

Fourth placeRemote Chess Academy - OK, Igor's like the KFC of chess content creators, but those buckets of traps are delicious. Yumm!

Third placeAdamisko šach -  I can't admire enough the effort put in the videos as well as in the research, and then only presented with so much gusto. And that evil laughter, man!

Second placeEric Rosen - I used to watch all of his videos as soon as they came out, but as I said, the quality and frequency have gone down a bit. Otherwise he would have probably been the first.

And the winner is... FM William Graif - I am having so much fun watching him play the gambits and being so cavalier about it. He knows so much and yet he plays with so much joy.

Final words

Please leave a comment with what you like to watch. I am always curious to find new interesting and passionate people.

Have fun!

and has 0 comments

I am here to show you how to install whatever UCI compatible external engine you want and run it directly into the lichess.org web site. The feature is still in alpha state (that means they guarantee nothing and have a lot more work on it), but it works pretty well.

Long story short

Here are the steps you have to follow:

  • Go to fitztrev's lichess-tauri (Lichess Local Engine) GitHub project, to Releases
  • Download the newest version of the app (at the moment of writing version 0.0.5) for your operating system
  • Run the installer and run the application
  • Log in to Lichess
  • DO NOT click on the Install Stockfish 16 button
  • Download the version of Stockfish (or any other UCI-compatible engine) that works best on your machine
  • Only then click on the Or add your own engine → button
  • Choose a descriptive title for the engine
  • Click on the Select button in the Binary section
  • Select the binary file for your preferred engine
  • Now you can go to lichess.org and select whatever engine you configured in the Analysis/Study hamburger menu on the right side (bottom)

Short story long

Here are the steps you have to follow, with pretty pictures and extra information. Also a video at the end.

Go to the Releases of the Lichess Local Engine GitHub project

Go to this link: Releases.

Click on the title of the latest version (which should be on top).

Download the newest version of the app (at the moment of writing version 0.0.5) for your operating system

For this example, if you are on Windows, you should select the Lichess.Local.Engine_0.0.5_x64-setup.exe. 

Run the installer and run the application

Next, next, next:

Login to lichess

In order for this to work, the application needs access to the Lichess API, which functions with OAuth2 to authorize you. All you have to do is click on Log in with Lichess and follow the instructions.

DO NOT click on the Install Stockfish 16 button

Now you should be in the Add a chess engine section. While you can just click on Install Stockfish 16 and not care about things, choosing the engine that works best for your machine will save you a lot of time and resources. Besides, if you are reading this and installing Lichess External Engine, then you probably already have some chess GUI and some engines that you've installed before.

That is why I recommend you just add those or download them and then add them.

Download the version of Stockfish (or any other UCI-compatible engine) that works best on your machine

For example, the Stockfish engine download site shows this:

For me, the best verison is the AVX2 version while the one embedded with Lichess External Engine is probably the most compatible one. Note that there are specific binaries for particular CPU architectures. Just choose the best one for you.

Click on the Or add your own engine → button and set up your engine

The only important part for now is the title, so choose one that is telling you exactly what you've got. For example Stockfish 16 AVX2, because as new engine versions come up, you will perhaps have more versions of the same brand. The architecture is also relevant, as you may forget in a year or so which one was best for your machine.

Now click on Select and choose the binary file for your preferred engine.

Go to Lichess

You can use this external engine in the Analysis page or in a Study, where the same analysis control is being used, but I recommend you use it in Study because whenever you change the analysis engine the page refreshes, which in Analysis is deleting the moves you've made so far. BTW, shameless plug: if you had installed the LiChess Tools browser extension, then the PGN of the moves remains stored in the textarea under the board in the Analysis page and you can just reload it, no harm done.

The choice for engine is in the options menu of the Analysis, which can be opened with the hamburger menu button on the bottom of the move list.

  

So under the ENGINE MANAGER section you can select which engine you prefer.

Possible issues

You are now ready to do analysis with the new engines. However, since it is in alpha, there are some issues that have not been resolved and you might find them annoying.

  1. the engine doesn't know when to stop for some engines
    • this works fine with Stockfish, but not with Rybka 4.1, for example. 
    • let say you open an analysis page, import a game, start analysing, then stop. You would expect the engine to stop, too, but it doesn't. Closing the window doesn't help, because it's the Lichess External Engine application that runs it and it doesn't yet have a Cancel Analysis button.
    • the same applies to selecting other moves in the Lichess move list. The engine keeps analysing the previous move and it fails to connect to refresh the current move.
    • the solution is to close and restart Lichess External Engine, then enable analysis.
  2. the page gets refreshed whenever you change the engine
    • I am sure they are going to change this in the future, but at the moment this means it's better to use Studies, as they persist the moves in the list. Or LiChess Tools, of course.
  3. there are some people complaining that only the main moves (moves in the mainline) are getting analysed, otherwise the engine freezes
    • this was not my experience. Yet, in some cases, when the position had a cloud cache, I had to press the + sign (that runs the local analysis anyway) twice. It may be my setup, since I am also running LiChess Tools, but it wasn't that annoying. Just press multiple times if you see it doesn't work.
  4. when going deeper on cloud evaluations, there is no visible feedback
    • this affects me directly, because the engine is running, the page shows nothing and LiChess Tools is trying to go deeper all the time. But the engine is working in the background, doing who knows what.
  5. the server is sometimes unavailable
    • 503 errors from the server. I am sure they are working on features and it will happen a lot. However the client code doesn't handle that very gracefully.

Conclusion

I am sure that all of these issues will be resolved in time. I am so happy to see this feature, as the normal JavaScript Stockfish 14+ engine was extremely slow compared to the version run natively on my machine. Of course, there might still be the case that you want to continue the analysis on dedicated tools, but so far I am so in love with Lichess that I want to do everything there and share stuff with others.

In order for the developers to solve these issues, feedback is VERY important, so don't be shy and leave comments of all the issues you encounter and all the features you want to see and all improvements you can think of.

I leave you with a video from US Chess: John's How-To's: Using Engines on Lichess

[youtube:k4aXwk_VQVw]

and has 0 comments

Intro

The Grob Attack, named not after the word grob (coarse, rough. uncouth, rude, crude), but from Swiss IM Henri Grob, who analysed and played it his entire career, is defined by the opening move 1. g4?. That's not a question, that's the mistake sign for a move in PGN syntax. Lichess sets it automatically on any analysis as the computer evaluation goes to -1.5. The opening's Wikipedia page opens with a quote from IM John Watson who calls it "masochistic", a move that could only appeal to people who enjoy pain.

And yet, the statistics of this opening tell a different story altogether.

Stats

For the entirety of the games in the Lichess stats, the Grob opening loses more than it wins, but it's 47% wins vs 49% losses. And once you refine the search, things become more interesting. Let's remove the 400 rating player bracket. Suddenly it's 48-48. Let's remove the 1000,1200 and 1400 bracket: 49-47; it's winning! OK, maybe we should look at every bracket in isolation (and imagine Hans Rosling presenting):

  • 400: 40-54, a massive loss which influences the entire statistic, even if it can hardly be called chess at that rating.
  • 1000: 43-52, amateurs do not do well starting with such a move, obviously.
  • 1200: 46-50, at this level chess is real, but Grob still loses.
  • 1400: 47-49, same as the general statistic. What is going on?
  • 1600: 50-47, a massive jump!
  • 1800: 49-47, is this an opening that only works between 1600-1800?
  • 2000: 49-47, a rating I can only dream of for myself and Grob is still ahead!
  • 2200: 48-47, what?!
  • 2500: 47-47, at the highest level of chess, 2500+, people win as much as they lose with this opening.

From now on we will stick to all chess games over 1600 rating, for quality, and without Ultrabullet, which is not chess.

You will say: you can always start with the Grob and transpose into one of the more common openings. I mean, people probably don't play 1. g4 d5 - the Grob gambit, they don't follow with 2. Bxg4 c4 - the Fritz gambit, right? You would be wrong. That's the most played line and the line that Stockfish would go for. And guess what, the winning statistics change to 56-40 after this sequence of moves, even while the evaluation is -1.7!

But, you will say, you're probably not looking at the Masters database for a reason. I am sure there is a refutation for it! Well, yes, Stockfish seems to think so, yet at every level this opening seems to be slightly better for White. Even at 400-1000 rating level once it reaches this Fritz gambit position the win ratio is 56-42 while at 2500+ rating (2000 games) it's almost equal.

So why does it happen? Why is Grob so successful? I am going to tell you. It's because Black doesn't play c6 and doesn't protect the d5 pawn. Or they blunder a piece :) That's the prize in this opening. You either get d5 or pivot immediately to another plan as White, and you better defend it as Black. And most of the moves to maintain the advantage feel unnatural to humans.

Then why does White lose if this is so good? Usually because they lose tempi. This opening is like the movie Crank, you have to move or die. Nc3 is essential, d3 to free the bishop and if somehow Black blocks the h1-b8 diagonal, then Nf3 or Ne2 is again necessary. But will you have time to make three development moves after your queen did everything while Black developed? 

I will begin, unusually, in Grob style, with the Stockfish refutation. It's interesting, but hardly easy to "feel" it as a human being. I will then continue with the general plans. Then show you twelve different traps, the first being the main line!

Refutation

At the beginning of the game, right after 1. g4c6 is a completely dumb move as it loses all White advantage. It doesn't develop and blocks an important development square. What about after 2. Bg2? It still loses a point in evaluation because White can now protect the g4 pawn. But after 2...Bxg4 3. c4, the move 3...c6 is what Stockfish recommends while also being the most played move at 2500+ levels. It's such an ugly move, though. Who, having not been studying this opening, would move a pawn to block the natural development square of the knight, delaying king castling even more, moving another non central pawn?

  Well, one might argue that after the next best moves 4. cxd5 cxd5 the square is freed, so no biggie. But after 5. Qb3, Nc6 is still not available because b7 is hanging. Better defend it, right? Wrong! 5...Nf6 is the best move by far according to Stockfish, defending d5. So the continuation must be 6. Qxb7, right? Wrong again. 6. Nc3 for White, attacking d5, inviting d4. That move would be disastrous, leading to +4.5 eval since Black cannot save its rook. So what is the best move here? Nc6 is top 2, finally playable, but White will scoop that d5 pawn.

The second top 2 move is 6...e6. Another pawn move. The d5 pawn must be defended! Or rather, the diagonals to f7 and b7. The computer can't really decide on which of these moves is better, but more often than not it says e6 is superior to Nc6.

Can you reach this point and not consider this opening exciting?

Let's take a step back and check that b7 pawn. Can't we take it with 6. Qxb7? We push the knight to a more passive square which also blocks the Black queen's defense of d5, we gain a pawn, we block the rook since it has to guard a7, nothing can attack our queen. And indeed, it's the closest best move. However, the moves Nc3 and d3 are essential for White in most lines at some point or another. Let's be adventurous and kill the b7 pawn, followed by 6...Nd7 only move. The computer eval is still... -2. Stockfish is certain Black is better, because White has only developed a queen and fianchettoed a bishop, while Black has one center pawn, two knights and a bishop out and two open files for the rook.

7. Nc3 is the only move now. Develop as fast as possible. Black has the initiative, you have to take it back. If we take the d5 pawn now, with the bishop, we lose the bishop when the rook attacks the queen. Qc6 is met with Rc8 which either loses the queen or leads to mate.

So 7. Nc3 Rb8, attacking the queen and leaving the a7 pawn undefended. Should we play Qc6 like a computer or take the pawn? Not that much difference in eval, let's take the sucker! We are being greedy. 8. Qxa7 e5. Only move!

Why didn't e5 work a move before? Because our queen was attacking d5. Remember d5? Black has sacrificed the a7 pawn to protect d5 and we went for it!

But... d5 is still undefended. Both knight and bishop attack it, while the Black queen is blocked by the knight we force-moved there. Why not 8...e6, then? Wouldn't that free the bishop and also defend d5? Because Black's best play here is to try to coral the White queen. Black is still better with e6, but with less than a pawn. A move like e6 allows Qe3, escaping from the war zone into the safety of its troops. e5 on the other hand leads to a fork after Qe3, winning the knight. 

So we take another pawn! 9. Nxd5, so juicy! White is two pawns up, including d5, yet the eval is now -2.4 ?!

This line is not the Stockfish main line, but it's pretty damn close. All Black moves are computer generated while for White I've selected slightly (<0.2 eval difference) worst moves, but more greedy.

This position is amazing! Look at it! The Black queen side is devastated, White plays with just three pieces, both kings are in the center and with no prospect to castle any time soon, if ever, and the only centralized minor piece White has is about to get captured. It's, again, the only move to maintain the advantage, even if it exchanges a minor piece whilst two pawns down. Black cannot stand before two heroes on the board! So many unnatural looking moves just to keep that -2 advantage for Black. If you didn't read this post, you would never have made them, right? So, 9...Nxd5 10. Bxd5.

Black is now using its initiative to explode outwards. 10...Bc5, with tempo, attacking the White queen. The hunt begins! Qa4 and Qa6 are the only available moves, we use Qa4, best, for pinning a knight to the king and long-attacking the bishop. Rb4 is the best move, attacking the queen again and protecting the bishop in the process, yet the second best move is more positional: Bf5, taking the c2 square from a retreating queen. But we go with the best 11...Rb4. What is White to do?

The queen can retreat into a pin (Qa3), hide itself between Black pieces (Qc6) or stick itself right in, with Qa8, which is actually the best. All others are mistakes. This is the price of the hero queen: once cornered her skill and power does not matter, she will be hounded by minor pieces until she dies. The only solution, exchange itself for the enemy queen: 12. Qa8! There are tears in my eyes. I loved that queen! But the rook interferes again: 12...Rb8. Only move! Any other move brings the eval from -2.7 to 0 or better for White. The queen survives, as it retreats again at Qa4 and forces black to go with the positional move Bf5 instead or accept a draw by repetition.

14. Nf3 and White is finally getting out other pieces. Black's queen hunt failed, they castle short, bringing the king to safety. Yet our hero queen is not done. She follows the Black queen in a quest for mutually assured destruction: 15. Qh4. When having material advantage, exchange stuff. If the Black queen were to capture, the eval would go to +1 for White. So 15...Be7 16. Qh5 {attacking the bishop} Bg6 {attacking the queen} 16. Qh3 e4 {attacking the knight} 17. Bc6 {attacking another knight} Nc5 18. Ne5 Qd6 {attacking both knight and bishop if knight leaves} 19. Qg3 {defending the knight which defends the bishop} 

It's madness. After 20 moves the position looks like this: White has a queen and two minor pieces out. Every other pawn and piece on the board (including the king) have not moved at all. It's like White is playing blitz... krieg! Time is all that matters. If White loses tempi, they are lost. Black, on the other hand, is two pawns down, has all pieces out, the king castled, a pawn well advanced into White territory. Evaluation is now -3.5.

This is the "refutation" of the Grob Fritz gambit: a very positional computer-like play that no human would use or, if so, would actually enjoy playing.

The first chapter in the study below is the cinematic version of what I wrote above.

Plans

Every good opening has a plan. The Grob has some, but they are crude, coarse, uncouth, perhaps even rude. It counts on the fact that the opponent will either drop a piece, fumble their rook or trap their knight or even their queen. The goal of the opening is to equalize, winning the game is just the cherry on the cake. Here are some ideas for White:

  • invite the opponent to overextend pieces to places they are not so well suited for, then isolate or even trap them
  • harass the queen side, thus keeping the king side locked
  • prepare very long range attacks, from the fianchettoed bishop and the wayward queen, giving the opponent chances to hang pieces
  • always attack the rook in the corner, but the objective is not to actually take it, but to distract
  • once the light squared bishop is spent or neutralized, switch to attacks on the semi-open g-file
  • after the queen has stopped attacking by herself, the queen-side knight is essential to support her retreat or subsequent attacks
  • once material advantage has been secured, the position is probably bad, so exchange pieces as much as possible
  • this is NOT a king attacking opening, instead it is a royal killing spree attempting to get opponents out of preparation and into a bloody melee
  • there are two endgames with the Grob: the first phase, where we hope to distract and severely wound our opponent, then the actual end game, where we must convert the situation to a win

Check out the chapter Plans in the study above for examples of some of these ideas.

Traps and all kinds of fun

I've identified twelve traps, I am sure there are more, which stem from the Grob opening. There is a chapter for each of them in the study above, which is much better enjoyed on the Lichess website. There are some openings that really get one out of the Fritz gambit or even most ideas Grob, but I didn't see any reason why this opening would not be viable. Think of it as the Death Star: in order to refute it you must fly into a very tight canyon, defended by laser canons, and fire into an exhaust pipe, otherwise all is lost.

The master player who made use of this opening a lot, winning many games, is Michael Basman. Check out his games to see how a real pro does it.

Check out the Romford Countergambit chapters. It is a fun response to the Grob and a friend of mine has prepared a detailed video on it, which you can check out below, so expect a battle of openings!

[youtube:crRlcJNqk3s]

Hope you had fun!

and has 0 comments

Intro

  I developed an extension for Chromium based browsers that enhances and expands the functionality of the lichess.org web site. Called LiChess Tools, it has so many features that I am sure people are overwhelmed by them and don't know how to use them all. In this blog post I will explain what the Explorer Practice feature is and how it can help anyone master any opening. Let's dive in.

Long story short

  In order to do this you need:

  • a Chromium-based browser like Chrome, Brave, Kiwi and so on. (the latter also works on mobile devices while allowing browser extensions)
  • installing the LiChess Tools extension in it (don't worry, it's completely free, ad free, spam free, open source, MIT licensed)
  • go to the lichess.org website to the Analysis board or Study pages
  • open the Opening Explorer and click on the little button on the top left side to enable Explorer Practice

  Explorer Practice is exactly what it sounds like: it uses the information from the Explorer database to play the moves of the opposing side. This works for the Masters tab, for the Lichess tab (where you can select the type of game and player level range as well) and even for the Player tab, where you can train to play as or against a specific lichess player. You can even play against yourself! How cool is that?

  At the very end, when you reach a position not in the lichess database, a computer evaluation will reward you with a smiley for your efforts. This feature, like all other LiChess Tools features, are fully customizable on the Lichess Preferences page.

Short story long

  So let's go through a concrete example. As a total chess noob, I want to learn an opening that will take everyone by surprise. I will probably not find a lot of informational videos about it, since it's so rare no one knows about it. I will not find books or blog posts about it, either. All I have to go for is a name: Grob's Attack! It sounds so cool that I am ignoring its entry in Wikipedia that says:

International Master (IM) John Watson writes, "As far as I can tell, 1. g4 is competitive with 1. h4 for the honour of being White's worst first move. Against an informed or skilled opponent, it is simply masochistic."

  Let's follow the steps then. You obviously have a browser and you have installed LiChess Tools already. So let's open lichess.org:

  The simplest way to start is to go to the Tools menu -> Analysis board. Just clicking on the Tools menu gets us there. The same things work for a Study chapter, with the difference that the Study feature will preserve your moves (so you can create a repertoire as you play) and also it will show the Explorer moves. Using the Analysis board is considered more of a fun game, so the Explorer moves are hidden while Explorer Practice is enabled. Let's open Analysis:

  The Opening Explorer is a Lichess feature that tries to find the current position in the database and display the most common moves, winning statistics and recent notable games that reached it. You toggle it by clicking its button  or by the key shortcut E.

  Note the little tab-like button on the top-left corner of the explorer, the one with a target hit by an arrow (). It will toggle the Explorer Practice feature provided by LiChess Tools. You can also use the key shortcut shift-L, to align with the lichess L shortcut which toggles the computer evaluation.

  Before we enable Explorer Practice, though, we must choose our opponents. Since I am a noob I don't want to test my opening against grandmasters, only other amateur players, so I am going to have to select the range of players and type of game I am looking for. You do that by clicking on the small cog button on the top-right of the Explorer window (). This allows us to select, let's say, players up to 1400 rating and only in blitz games. You can, of course, leave all games on, but be warned, dedicated players often play bullet and ultrabullet to hone their skills and selecting those types of games will increase the level of difficulty, while also providing a lot more games to choose for.

  Now we are ready. Close the Explorer settings and click on the Explorer Practice button. As explained before, the list of move statistics disappears, but we can finally test our opening. Move 1. g4, which defines the Grob opening. There! Black moved automatically. And not some computer brilliancy, 20 moves deep and impenetrable even when they try to make a bad move. No, these are actual human moves.

  Once you finish the available moves, a smiley (sad or happy) will be your reward.

  Oh no! I am such a noob.

  Play again and again and again and learn how other people react to your moves. But sometimes you need some computer evaluation. Guess what? You can play the moves while the computer evaluation is running! It's not cheating, you are not actually playing, you are learning! Compare any move you make with the computer evaluation, learn what is best when you are not sure how to continue.

  In the end, remember that all feature of LiChess Tools are customizable in the Preferences page. You can turn them on, off or choose various parameters for them. For the Explorer Practice you can turn it on/off, but also can choose whether to show the smileys at the end of a run.

What then?

  If you trained the opening in a Study chapter, you now have a huge branching repertoire PGN chapter. You can start to analyse it for patterns. Use another cool LiChess Tools feature: auto evaluation. Just right click on any of the moves and select Evaluate terminating moves. The local browser engine will start analysing all of the last move of every branch and write a comment with the computer eval. Now you can see how successful you've been.

  Also, if take back the last move before you ran out, you usually get just one or a few games in that position. Looking at the rating of the players can give you an idea of your current chances against opponents of that level.

  Are you kicking ass? Maybe it's time to increase the level of your opponents! Or maybe it's time to select that friend of yours who always beats you at chess and train against his signature moves!

  Good luck and let me know how it went! I love to get feedback from people.

  If you got this far, I will gift you a warning and a bonus game from a practice session. The warning is that I've been playing around with Explorer Practice and it is very addictive! Be warned :) And now the game:

LiChess Tools is a Chromium-based browser extension (meaning Chrome, Brave, Edge, Kiwi - which also works on mobiles - and others, as long as they have a Chromium version equal or higher to 111) that extends the functionalities of the lichess.org web site. This page is the user manual for the extension, cataloguing all of its current features and explaining how to use them.

All of the features below can be individually turned on or off from the Preferences menu, the LiChess Tools menu entry. Note that many of the options will be hidden until you toggle Advanced Preferences - these features will be marked with Advanced in the category section.

Here are the available features in LiChess Tools v2.3.27 in the order of decreasing approximate importance:

Add me to LiChess Tools team

category: Community
values: Hide forum entry - defaults to empty

This will add a new forum entry in the forum list from where you can join the LiChess Tools users team or, once joined, you can participate in the extension community.

This feature was defaulted to on in v2.3.1 and some people noted that automatically joining someone to a team, thus advertising this extension on the timeline for all your friends is unethical. I agree, so I removed that implementation. Initially I thought that you either get a mandatory "do you want to...?" popup or an optional out from the team, so less of a hassle and didn't consider the messages in the timeline. 

Sorry to all the people that felt slighted by the original design!

Options:

  • Hide forum entry - If set, this will remove the forum entry suggesting you join the LiChess Tools users team

Being part of the team will be advertised on your public profile as well as on your friend's timelines. That is great for LiChess Tools, so if you want to support the extension, please consider joining.

I don't plan to spam anybody in the team, just use it to announce various changes to the extension. Which are a lot and happen all the time and might be construed as spam... OK, I will not spam you much. And also I would like to hear from you, maybe even (gasp!) form a community that will take this further than my meager imagination could take it.

While in the team, feel free to talk to the other users, ask for features, complain, all the jazz. Use the team's forum as one would use the official Lichess Feedback forum. Only less divisive :). And don't worry, the team is called L1Chess Tools because Lichess forbids the text "lichess" in the team's name, not because I plan a L2Chess Tools team or whatever.

Although that is an idea...

Extended interactive lessons

category: Study
values: Play all variations/Show score/Study links in comments in same window/Play again from where you entered Preview mode - defaults to Play all variations, Show score, Study links in comments in same window

This feature may be the flagship of the extension, as it allows you to play an Interactive lesson chapter by going through all variations instead of just the mainline. The default lichess behavior is to only follow the mainline, considering all sidelines as bad. With the new behavior all moves in the PGN tree are good, while the ones missing are bad. You can mark the bad variations with glyphs (good move, mistake, blunder, etc.), for example, to indicate if a move is bad or good, but you can continue playing it to see why. 

There is a mechanism to choose what the computer will play next as your opponent. It uses the number of branches in 8 ply (4 chess moves for both players) to determine which is more probable. This value can be changed (see Next move probability depth feature) For example if you have something like 1. e4 (1. d4 d5 2. Nc3 (2. Nf3)) 1... e5 2. Nf3, the mechanism will see that there are two possible branches for d4 as opposed to one for e4, so it will choose d4 66% of the time. The probability can be changed manually by adding a comment in the move with the format prc:<number>, where the number is a percentage between 1 and 100. (ex: prc:90) Also, if set in the Transpositions behavior feature, the moves can be picked from moves following transposing positions. 

When hints are not provided by the study creator, one will be generated to show how many possible moves are available.

There is also a system to compute accuracy when playing an interactive lesson by counting the good and the bad moves. This will be displayed as a percentage at the end of the lesson and can be turned off by option.

The lichess UI remains the same, therefore the area in which to explain why any other move is wrong only appears on mainline moves. That is why this feature also adds a context menu item (Explain why other moves are wrong) for nodes in interactive lessons to enable editing that information. As usual, when a "bad" move is made (meaning a move not in the PGN), the text to be displayed to the user will be taken from the first next move from the current position. Therefore in order to make this work you have to right-click that node and explain why bad moves are wrong. This might be a bit counterintuitive, as you may have several moves following the current position, but the explanation has to be set to the first next move.

This feature also adds a header like Extended Interactive Lesson over the edit controls specific to interactive lessons. They usually take a lot of space, so clicking on this header will hide/show them. This allows people to edit Interactive Lesson chapters just as comfortable as normal ones.

Options:

  • Play all variations - enables the Extended mode for interactive lessons, allowing you to play all variations with the computer picking random moves from the ones available in the PGN
  • Show score - shows the score at the end of the lesson. One can disable this to reduce frustration or for other reasons.
  • Study links in comments in same window - this makes links from move list comments which lead to studies open in the same window. The reason for this is that you want to continue a variation that is split into multiple chapters or that leads to another study in the same window, especially in Extended Interactive Lesson mode. Now you can utilize this with the Bookmarks option of the Move List Options feature to jump from move to move and chapter to chapter.
  • Play again from where you entered Preview mode - this feature is disabled by default. It remembers the position where you entered Preview mode for an Interactive Lesson and, when the lesson ends, the Play again button will take you back to that position instead of the first move in the chapter. Obviously, this only works for creators or contributors to studies.

These options are also available in the action menu (hamburger button) of the Analysis board when in a study chapter that is of type Interactive Lesson. This allows to quickly enable/disable just these relevant settings.

Notes:

  • one can play all variations of an interactive lesson with multiple branches only with the LiChess Tools extension installed, so if you create such a lesson only people with the extension can enjoy it. It would be nice to let everybody know that in a comment if you share it.
  • asking to show the next move will show arrows of all possible next moves. Be warned that pressing the button is seen by the scoring system as a fail.

Extended interactive lesson flow

category: Study - Advanced
values: Sequential/Spaced Repetition - defaults to none

Work in progress!

This feature allows you to play Extended Interactive Lessons variation by variation. When any of these options are enabled, the chapters that had variations played will have a small progress indicator in the chapter item in the chapters list. When all variations have been played a reset prompt will appear. You can also manually reset the played variations from the chapter edit dialog for the studies you can modify and from the reset button on the chapter item for the ones you can't.

Options:

  • Sequential - this will force playing extended interactive lessons variation by variation, in order
    • if you make any mistakes, you will start over
    • if you don't play from the very beginning of the variation, it will not count
  • Spaced Repetition - this will force playing extended interactive lessons variation by variation, randomly, based on success or failure
    • if you finish a variation successfully, the time until you can play it again will double
    • if you finish it with mistakes, the time until you can play it again will become two days
    • if you don't play from the very beginning of the variation, it will not count  
  • Both - this will behave as Spaced Repetition, but will take variations in order
    • the distinction is small, but it matters to some players to get the first variation that can be played

Notes

  • The default replay interval is one day.
  • This is a work in progress. It might not work exactly as you expect it. Please report any issues to me.

Ctrl-right to play random next move from list

category: Analysis/Study
values: yes/no - defaults to yes

This feature will allow you to play a random move by pressing Ctrl-right. There is a mechanism to choose what the computer will play next as your opponent. It uses the number of branches in 8 ply (4 chess moves for both players) to determine which is more probable. This value can be changed (see Next move probability depth feature) For example if you have something like 1. e4 (1. d4 d5 2. Nc3 (2. Nf3)) 1... e5 2. Nf3, the mechanism will see that there are two possible branches for d4 as opposed to one for e4, so it will choose d4 66% of the time. The probability can be changed manually by adding a comment in the move with the format prc:<number>, where the number is a percentage between 1 and 100 (ex: prc:90). Also, if set in the Transpositions behavior feature, the moves can be picked from moves following transposing positions. 

Ctrl-left works almost like the left key, going to the previous position, but in this case it will go to the position you came from, not from the previous position on the line you've jumped to.

Notes:

  • if set in Transpositions behavior, Ctrl-right may choose a move from another line, but made from the same position, which means that going "back" will go to the previous position in the current line, not the original one. Use Ctrl-Left to return to the position you jumped from. 
  • the keyboard shortcuts will be shown in the keyboard help popup if this feature is enabled

Behavior of transpositions

category: Analysis/Study - Advanced
values: exclude if same line/don't add identical next moves/play moves from transpositions - defaults to none

This feature determines what a transposition is for other features that use transpositions. The options are:

  • exclude if same line - two identical positions in the same PGN will not be considered transpositions of one another if they are in the same line of moves (one came before the other) (see Highlight moves in analysis and Show next moves from transpositions)
  • don't add identical next moves - when showing next possible moves at the bottom of the move list, if adding them from transposing positions, don't add the same move twice (see Show next moves from transpositions)
  • play moves from transpositions - when picking a next move to play, use transposing positions as well (see Ctrl-right to play random next move from the list and Extended Interactive Lessons)
  • none - when none of the values above are selected, any two identical positions will be considered transpositions, the move list can show multiple identical moves if they are coming from different transpositions/lines and the extension will not pick next moves using transpositions.

Next move probability depth

category: Analysis/Study - Advanced
values: equal/one move/two moves/three moves/five moves - defaults to 4 moves (8 ply)

This configures the mechanism calculating the probability of a next move in the PGN (see Extended Interactive Lessons and Ctrl-right to play random next move from list). The default value goes 4 moves for each player to see how many branches follow. It will then weigh each next move in the list based on that. If you want to turn this off completely, just select equal, which means it will not look at following moves at all. 

Variation arrows from transpositions

category: Analysis/Study - Advanced
values: yes/no - defaults to yes

This feature is showing variation arrows for transpositions, as defined in the Transpositions behavior feature.

PGN Editor

category: Analysis
values: yes/no - defaults to yes

This feature adds a new entry in the Tools menu called PGN Editor. Clicking on it will open a text editor where PGNs can be pasted, manipulated and copied from.

Functionalities:

  • Merge - this button will take multiple games in PGN format and merge them into as little games as possible. For example, all games starting from the same position can be merged into one. Also, games that start from a position present in another game will be merged there. Games starting from positions not present in the others cannot be merged.
    Example: 
    Original PGN content:
    1.e4 e5
    
    1.e4 d5
    
    After merge:
    1. e4 e5 ( 1... d5 ) *
    ​
  • Normalize - this button will, for each game in the PGN, take all moves made from a particular board position in any variation and group them in the first occurrence of that position.
    Example:
    1. e4 (1. d4 e5 2. e4 a5) 1... e5 2. d4 h5 
    
    (After both paths e4 d5 d4 and d4 d5 e4 the same position is reached (a transposition). In the original PGN the first path move from the common position is 2...h5 and in the second path 2...a5.)
    
    Normalizing this will result in:
    
     1. e4 ( 1. d4 e5 2. e4 ) 1... e5 2. d4 h5 ( 2... a5 ) 
    
    (both a5 and h5 moves from the mainline position, while the d4 path will stop at the common position, with no following moves.)
  • Split - this button will, for each game in the PGN, split each variation into their own games. Example: 1. e4 e5 ( 1... d5 ) will be split into 1. e4 e5 and 1. e4 d5
  • Search - this button will prompt for a string, then search the games for it.
    • The string can be part of a FEN or a PGN (wildcards * for anything and ? for one character are supported)
    • Another option is to search for PGN tags, like this: Black=totalnoob69 or Opening=Elephant Gambit.
    • Yet another option is to search for ply (half-moves), like this: ply=10, ply<30, ply>15

The games that match will have a new PGN tag added (called Found) in the text area and also will be copied to the clipboard. Searching will remove previous search Found PGN tags. 
Do not use full FEN strings, only the first four elements (board, who's turn it is to play, castling and en passant square) are supported (no clock values)

  • Examples:
    • searching for rnbqkbnr/pp2pppp/2p5/3p4/2PP4/5N2/PP2PPPP/RNBQKB1R b KQkq - 1 3 will fail (because it has half clock and ply at the end)
    • searching for rnbqkbnr/pp2pppp/2p5/3p4/2PP4/5N2/PP2PPPP/RNBQKB1R b KQkq - would work for the games that reach that position
    • same for:
      • rnbqkbnr/pp2pppp/2p5/3p4/2PP4/5N2/PP2PPPP/RNBQKB1R - FEN search
      • pp2pppp - FEN search
      • rnbqkbnr/*/2p5 - FEN search
      • 5?2 - FEN search
      • ECO=C40 - PGN tag search
      • c4 c6 - PGN search
      • ply=10 - search games with exactly 10 ply (5 moves for each side)
      • ply>30 - search games with more ply than 30
      • ply<20 - search games with less play than 20
  • Result - this button will remove all games that are not marked with a Found tag and remove the Found tag from those found. The flow is: you press Search, it finds some games and marks them with a Found tag, you press Result and only the found games remain in the text area.
    • Warning! If you have not searched for anything before (or if you press the button twice), it will clear the text area
  • Cut - this button will remove things based on the prompt you give it:
    • if it contains "tags" it will remove all tags from games
    • if it contains "comments" it will remove all comments from games
    • if it contains "annotations" it will remove all annotations from games
    • if it contains "ply <some value>" it will remove everything after the specified number of ply (half moves), on every branch, in every game
    • the above patterns can be combined
    • Example: tags, comments, annotations, ply 10
  • Count - this button will count the number of games and total number of moves in them
  • Cancel - this button will cancel the current operation (for example when trying to merge tens of thousands of games, it may take a while)
  • Copy - this button copies the content of the text area in the clipboard
  • Upload - this button will ask for a file to upload to the text area (dragging files and dropping themdirectly to the text area works as well)
  • Download - this button will download the content of the text area as a pgnEditor_<currentTime>.pgn file
  • Undo - this button will undo the changes in text area (equivalent to pressing Ctrl-z)
  • Redo - this button will redo the changes in text area (equivalent to pressing Ctrl-y)

Notes:

  • Normalize changes the flow of the moves. Don't expect the normalized PGN to have the same structure as the original. This functionality is particularly for grouping the moves from a particular position in one place.
  • Tag search will search the exact string in the tag, no wildcards supported, but will ignore whitespaces.
  • Tell me if you want better search systems implemented, like regular expressions or searching of moves anywhere in the PGN or something like that.

Enhanced PGN import

category: Analysis
values: yes/no - defaults to yes

Another important feature of LiChess Tools, this one makes changes to the import mechanism in the Analysis board page. You can now import multiple PGNs at the same time and they will get merged into a single one. It is great for creating repertoires, analyzing the games of a specific player or creating Extended Interactive Lessons. From the Analysis board you can go to options and turn it into a study.

As part of this you will also get the Escape key functionality for the FEN and PGN inputs, blurring the input and allowing key shortcuts again.

Notes:

  • the import mechanism in Analysis board ignores comments from the PGNs. This is a lichess limitation and to get around it I would have to rewrite the entire thing. I may do that, but it's not planned.
  • the import in Analysis board is different from the one in Studies. The one in Analysis board is client based, while the one in Studies is on the server. That is why I can only alter the one in Analysis board.
  • there is no logical limit to how many PGNs to import, but the Analysis board has a limit of about 5000 moves. Also, the API to turn it into a study has a size limitation, so if you try to turn a huge analysis to a study and it fails, know that it is too big. Highlighting moves on huge PGNs also is slow. So use with care.
  • From v2.1.21 the merge mechanism will check if the PGNs start from different positions and only merge what starts from the same position. Previously the merge seemed to be working, but it made no sense from the standpoint of PGNs, resulting in an invalid PGN that cannot be loaded.

Friends box

category: Friends
values: Default/Menu/Open/Hidden - defaults to Menu

This has evolved a lot. Originally it was automatically opening the friends box, but then several requests came that complained about the placement of the friends box and how distracting it was. So the current version of the feature can either:

  • Default - the default behavior of the friends list: stays in the bottom-right corner, only updates when opened, which requires a user click.
  • Button- the friends box is removed and replaced with a friends button, similar to the Notifications one. It will update in real time with the number of friends online and will change color when any one of them is playing.
  • Menu - the friends box is removed and replaced with a friends menu. It will update in real time with the number of friends online and will change color when any one of them is playing. It will also show the number of playing friends in a small blue square.
  • Open - the default behavior of the friends list, but it will open automatically when loading the page
  • Hidden - the friends list will disappear completely

Notes:

  • clicking on the main menu item directly will open the friends page, but not on mobiles
  • when the width of the page goes under 972px, menus are grouped under a hamburger menu. The Friends menu will disappear and become a button in that case.

Live friends page

category: Friends
values: yes/no - defaults to yes

This is linked to the Friends box feature. The default behavior is to load whatever list of friends you have and then leave it at that. This feature will update the friends list in real time, while also allowing filtering by who is online, who is playing and (if player voice alerts are enabled) which player is muted. 

Each player will have a TV icon as well and (if player voice alerts are enabled) a mute/unmute button to include them in the alerts. (see Sound and voice alert with friends start playing)

From version 2.3.27, a cell showing the last time the player was active will be displayed.

Sound and voice alert when friends start playing

category: Friends
values: Ultrabullet/Bullet/Blitz/Rapid/Classical/Standard only- defaults to none

This feature will beep and spell out the player name and type of game they started. The type of the game can be chosen from the values. The definition of the game type comes from lichess, which assumes a typical game will be around 40 moves.

You can also choose which specific players to have the alert for, by going to the friends page and clicking the mute buttons. (see Live friends page)

If you select Standard only, then the alerts will only be sounded for the Standard variant of the game.

Notes:

  • Chromium (and other) browsers disallow sounds from page load until the user does something like click on the page. In case an alert is attempted and audio is not allowed a red icon will appear next to the top buttons, which will disappear once the audio is allowed again.
  • The audio icon is part of lichess, which will also display it once sound is attempted but not allowed. At this time, the lichess icon will NOT disappear unless you click on it, different from how LiChess Tools uses it for alerts.
  • If you are playing a game on another tab, the sounds will not be played if the Quiet mode on all tabs feature is enabled.

Practice against moves from Opening Explorer

category: Analysis/Study
values: yes/no - defaults to yes

This is another great feature that allows you to play against whatever is selected in the Opening Explorer. Select masters to play against the best players, select Lichess and select the range of player to train against and select specific users to test your strategies against their played games. The feature can be turned on/off not only from Preferences, but also from the Explorer config screen.

In order to use this feature you need to go to the Analysis board or a study, open the Explorer and click on the icon next to the Masters tab, the one that looks like an arrow hitting a target.

One extra feature of this tool is making a random Explorer move if clicking on the total row on the bottom. It effectively makes a move as if Explorer Practice is enabled and it's the computer to move.

The feature is unavailable in the Analysis screen of a running game.

Notes:

  • you can toggle Explorer Practice by clicking on the arrow in the target button, but also with shift-L, to make it easier to switch between computer evaluation and the practice mode
    • the keyboard help popup shows this shortcut if the feature is enabled
  • the moves in the explorer window will get hidden in Analysis board, but not in studies. The motivation being that one is more like a game, with no lasting effects, the other is research.
  • if the Show emojis when out of moves feature is enabled in Explorer Practice options, then at the end of a run, when there are no more moves available in the Explorer for the feature to make, a quick computer analysis will be run to show you a smiley (happy or sad).

Explorer Practice options

Options for the Explorer Practice feature:

  • Show emojis when out of moves - set by default - will run a short computer analysis when out of moves in Explorer Practice, then show an happy/sad emoji based on the eval.
  • Click Explorer Σ to make a move - set by default - clicking on the Total row in Explorer will make a random move, weighted by the probabilities of the move (basically a one turn Practice move)
  • Show opponent name - disabled by default - this will show a name next to the move made by the computer, giving you a hint about who played the same move in the same position

Highlight moves in analysis

category: Analysis/Study - Advanced
values: Last move in each variation/Not commented last moves/Transpositions to current move/Highlight board when out of main line/Highlight variation depth - defaults to Last move in each variation, Not commented last moves, Transpositions to current move

This feature will highlight moves in the analysis move list. Each option highlights a specific thing:

  • Last move in each variation - for each branch, highlights the last move
  • Not commented last moves - for each branch, highlights the last move that has no comment or is not a mate
  • Transpositions to current move - highlights positions that are identical to the current one in the same PGN (see Behavior of transpositions to change what the extension considers a transposition)
  • Highlight board when out of main line - dims the board a little when moving out of main line (similar to chess.com)
  • Highlight variation depth - it will change the display of the moves so that they have different colors depending on the variation depth level.
    • this replaced the Move colorizer theme that existed until version 2.3.
    • Warning: this may have adverse performance effects on really large PGNs (like 1000+ moves)

Extra context menu options

category: Analysis/Study
values: Copy branch as PGN/Engine evaluation for last moves/Highlight all transpositions/Remove superfluous/Show context menu when no moves - defaults to Copy branch as PGN, Engine evaluation for last moves, Remove superfluous, Show context menu when no moves

This feature will add extra options to the Analysis board/Study move list context menu. The options are:

  • Copy branch as PGN - this works in Analysis board and Studies and turns all the previous moves of the line you are in, plus all the branches after the move, into a PGN in your clipboard.
    • If you press the Shift key when clicking on Copy branch as PGN the copied PGN will start from current position, not from the beginning of the original chapter.
    • If you press the Control key when clicking on Copy branch as PGN each variation branch will be copied as a separate PGN.
    • If you press the Alt key when clicking on Copy branch as PGN then the PGN will get copied only to the current position.
    • You can use it to split large PGNs by copying variations into their own chapters, then maybe deleting them from the original one.
  • Engine evaluation for last moves - this works only for Studies, because it involves move comments. It will go through all of the uncommented last moves and create a comment in the form eval:<evaluation> using the local computer engine. The evaluation will stop at the engine depth selected in Preferences (see Custom analysis engine depth).
  • Highlight all transpositions - this works for both Analysis board and Studies and highlights all moves that have transpositions. You can configure what a transposition is in Preferences (see Behavior of transpositions)
  • Remove superfluous - for purposes of saving space, this removes the following entries from the context menu:
    • Annotate with glyphs - there is a button for this under the board
    • Comment on this move - there is a button for this under the board
    • Copy variation PGN - LiChess Tools already provides a better version
  • Show context menu when no moves - this allows for showing the context menu when there are no moves in the tree. When the board starts from a FEN position, there is a little ... element that you can right-click. When the board is completely empty, there is a row that highlights when you hover and you can right-click for the context menu.

Move assistant

category: Analysis/Study
values: yes/no - defaults to yes

This feature will add a little eye icon button in the computer evaluation window, next to the settings. Clicking this button will enable the Move assistant, which will show, when selecting a piece, the evaluation on each possible destination square. This is not meant to replace, but be complementary to the computer analysis.

Move assistant is persistent on page reloads.

Once a piece is selected, the background engine will run on one or two CPU threads with 64-128MB for hash - depending on device capabilities - for 90 seconds and then stop. During that time the color of the squares will be updated as the evaluation changes. 90 seconds corresponds to a depth of about 20 on my older laptop in a middlegame position. Unselecting pieces will stop the processing.

Obviously, this consumes processor power, so if you are on a mobile device it will consume battery. Running both local computer analysis and Move assistant will use CPU for both processes. Opening multiple analysis browser tabs will use resources for each tab in which a piece is selected.

Sometimes destination squares will not be colorized. For example, this is the case for mate threats, where moves that do not interfere with the mate will not be evaluated. 

Custom analysis engine depth

category: Analysis/Study - Advanced
values: a number representing the depth - defaults to empty

This feature will allow you to set a depth level for the computer engine. If the current move has a smaller depth level (let's say it was cached in the cloud with that level) it will start the local computer evaluation. Once it reaches the set depth, the engine will stop. You can restart the analysis by pressing the little + button next to the computer engine depth indication.

This feature is also used as the level at which to consider evaluation done for the Engine evaluation for last moves option (see Extra context menu options)

This feature is also used in Practice, where it controls the level of play (See Custom analysis engine options)

Custom analysis engine options

category: Analysis/Study - Advanced
values: Always use local engine for evaluation/Apply in Practice mode - defaults to none

This feature controls the behavior of the analysis engine used in Analysis board and Studies.

Options:

  • Always use local engine for evaluation - Use this option to never show computer evaluations from the cloud. For example if you want to not see evaluations over a certain level or in practice mode. You can also toggle this on/off from the Analysis board hamburger menu.
  • Apply in Practice mode - Use this to apply both the custom engine depth and the no cloud option before in Practice mode. This means you can play against a computer of your own level and ignore cloud and table bases. You can also toggle this on/off from the Analysis board hamburger menu.

Show next moves from transpositions

category: Analysis/Study - Advanced
values: yes/no - defaults to yes

When you get to a certain position in the PGN which has transpositions, the next moves from those transpositions will be displayed under the move list, just like for a fork into multiple variations. You can configure what a transposition is, as well as if you want multiple identical moves to be shown or not and if the moves in this list should be considered by Ctrl-right and Extended Interactive Lessons in Preferences (see Behavior of transpositions)

Extra key shortcuts

category: Analysis/Study - Advanced
values: yes/no - defaults to yes

this feature adds extra key shortcuts to the Analysis board/Studies:

  • first it changes the functionality of the i, m and b keys to work in Analysis board as well as Studies and to use all variations, not just the main line as the original lichess behavior. The functionality of these keys is to jump to the next inaccuracy, mistake or blunder, respectively
  • it adds the same functionality to Alt-i, Alt-m and Alt-b, only for the opponent
  • g and Alt-g cycle through good/brilliant/interesting moves
  • it adds the ability to select any of the moves in the available moves lists:
    • press . (dot) and then a digit and it will make to the nth next move available in the PGN (see Transpositions behavior if you want to select moves from transpositions, too)
    • press Ctrl-. and then a digit and it will make to the nth next move available in the computer evaluation list
    • press Shift-. and then a digit and it will make to the nth next move available in the opening explorer list
  • ` (the key before 1) and then f will freeze/unfreeze the board - this means you can still move pieces, but the board will appear as when it was frozen. Helps with visualization.

Notes:

  • the keyboard help popup now shows all of these shortcuts if the feature is enabled

Additional glyphs

category: Study - Advanced
values: yes/no - defaults to yes

This feature displays an extra # glyph on mate moves. Also it enlarges glyphs on mobile devices.

Notes:

  • The lichess UI allows for multiple glyphs on the same move. The one shown on board will just be the first one in the list.
  • Originally this feature was created to show annotations that lichess was not showing. From September 2023 lichess started natively showing all annotations, therefore eliminating the need for much of the functionality of the feature.

Extra analysis charting

category: Analysis/Study - Advanced
values: Material/Principled/Max tension/Max potential/Find interesting moves/Chart smoothing/on Eval gauge - defaults to Material, Principled, Max tension, Find interesting moves, Chart smoothing, on Eval gauge

This feature is adding extra lines on the computer analysis chart. In the search for good/great/brilliant moves - as shown on chess.com and requested by a lot of players, the lines drawn over the normal computer eval chart are meant to give some indication of what is going on without asserting an exact significance of the values. The lines are purposefully left without explanation, in the hope that players recognize some aspects of the game in the numerical values charted and their intersection.

For example, many of the moves generally considered brilliant see a steep increase in evaluation, but a steep decrease in material and/or principled position, indicating a sacrifice or an unnatural seeming move that wins the game.

If Find interesting moves is enabled then an extra entry in the analysis summary shows the total of interesting/good/brilliant moves in the PGN. The feature will also attempt to find such moves automatically, but that's an experimental feature at the moment.

Options:

  • Material - green dashed line shows a more classical material difference between the sides
  • Principled - blue dashed line shows how principled the position is. This means stuff like square control, freedom of movement, developed centralized pieces, etc, but excepting material value.
  • Max tension - red dotted vertical line shows the point of maximum tension in the game. Tension here is defined as the total material that can be captured by both sides in just one move.
  • Max potential - green dotted vertical line shows the point of maximum potential (similar to tension, but it superficially looks at capture chains)
  • Find interesting moves - if enabled, this will show good/brilliant/interesting moves in the analysis summary as a link that cycles through them. It will also automatically find some categories of interesting moves and mark them with !? glyphs (if not already annotated). The glyphs added by this algorithm will be temporary (not persisted on the server).
  • Chart smoothing - if this is enabled, temporary spikes in the charts will be removed. Example: you take a bishop with a knight, the material jumps 3 points in your favor, but the next move the opponent takes your knight, so the material goes back to 0. The smoothing function will attempt to remove these meaningless jumps in material. 
  • on Eval gauge - if this is set, two lines (one green and one blue) will appear on the evaluation gauge when it is visible, changing with the values of material and principled values, respectively.

Notes:

  • I called it "interesting moves" because there is no objective good/brilliant move algorithm. I will continue to work on it in the future.

Learn from your mistakes in Studies

category: Study - Advanced
values: yes/no - defaults to no

This feature will add a Learn from your mistakes button for study chapters that have a server computer analysis, just like for game analysis. It's a bit hackish, but it should work fine.

Change chapter names from PGN tags

category: Study - Advanced
values: yes/no - defaults to yes

This feature will give you the option to quickly change the name of a study chapter to either the content of its Event PGN tag or the White and Black PGN tags combines when editing the chapter. Sometimes people want to import a series of PGNs into a study, but only the first chapter gets a proper naming from the PGN tags, the rest getting the default Chapter 2, Chapter 3... etc name. With this you can go to each of them, edit them by clicking the cog button next to their names, then choosing with one click the name the chapter should have.

Study chapter navigation controls

category: Study - Advanced
values: yes/no - defaults to yes

This feature will add a set of buttons at the end of the chapter list in a study. The buttons allow to navigate to the first chapter, previous chapter, random chapter, next chapter and last chapter respectively.

Sticky study Preview mode

category: Study, Interactive Lesson chapters - Advanced
values: yes/no - defaults to yes

This feature will keep you in Preview mode as you move from one Interactive lesson chapter to another. As one trains using interactive lessons, at the end of one they are presented with the option to move to the next chapter. The default lichess behavior is to show you the chapter in edit mode (assuming you are the owner or a contributor) which requires you to press the Preview button all the time to continue training, after also having seen the move list. Now you can press Preview once and play chapter after chapter with no hassle.

From version 2.1.51 on, this is preserved also between page reloads, so you will have to manually unset Preview mode to edit a study Interactive Lesson.

Show game opening names

category: General
values: yes/no - defaults to yes

This feature will load the lichess opening name for games and display it. When watching a game or analyzing it, the opening will be shown under the player names. For mini-games (the tiny ones that appear when hovering over a game link or put somewhere on the page) it will appear at the bottom. For Analysis board, if the wiki side is empty, it will show the opening there, assuming the position is in the local cache.

In the very rare cases where the same exact position is found with colors reversed, the name of the opening will appear with a little (R) at the end.

This should work for Analysis Board, Game analysis, Studies, TV games, Board Editor, Broadcasts, Swiss tournaments, etc.

Show pawn structures

category: General
values: Enabled/Only named structures/Fuzzy search - defaults to Only named structures/Fuzzy search 

This feature, similar to Show game opening names, shows the pawn structure of the current game position. Because it's all very local, with no API requirements, it also works for current game pages.

An entire blog post about it can be found here: The Pawn Structure feature in LiChess Tools

Options:

  • Enabled - enables or disables the feature - disabled by default.
  • Only named structures - show only structures with names. This is enabled by default, but of course will not work unless enabling the whole feature. If you disable this, you will see a very technical name for each and every move.
  • Fuzzy search - this will show named pawn structures within a certain proximity. It helps to determine the general structure, even if it might not be totally accurate.

Notes:

  • This feature has a lot of potential, as the pawn structure is something that informs medium to long term plans. Knowing these will help you grow a lot as a chess player.
  • If the pawn structure is named, it will show as a link which can be clicked to learn more.
  • If the structure is not found in the available list, it will be searched from the opponent's perspective, in which case it will be shown with a (R) at the end if found

Show player country flags

category: General
values: yes/no - defaults to yes

A very early feature of the extension, it has also evolved a lot. The latest version is much more efficient in terms of how it gets the data from the server and adds flags to almost every place where a user link is shown. I am aware that this might be distracting and I am planning some detailed values to choose how wide spread the flags will be. Also, did you notice the flags are lazily flapping in the wind?

In order to not use too many resources, the flags for players are cached for 10 days. If you want to clear the cache, go to Preferences and turn it off and on again.

Better exported board image

category: Analysis/Study/Board editor - Advanced
values: yes/no - defaults to yes

This feature will override the default share Board button in studies, SCREENSHOT button in the board editor and add a SCREENSHOT button to the analysis board. When clicked, the button will export not only the board position, but also the arrows and anything else drawn on the board in the current position. You retain the original behavior by right-clicking the button and opening in a new tab or window.

Autosave analysis for reload

category: Analysis - Advanced
values: yes/no - defaults to yes

This happened to me a lot of times: I am analyzing something and I accidentally swipe the touchpad or press some key that reloads the page. All my work is gone! This feature keeps track of the latest modifications of Analysis board PGN and reloads it on page load. It is your choice if you want to import it or not by going to the PGN text area and clicking the Import PGN button.

Notes:

  • The saved PGN as well as the Analysis board import text area content will be overwritten by whatever move you make, so if you fail to import the PGN and make a move, you lose the data. 

Opening explorer player features

category: Analysis/Study - Advanced
values: Me button to switch to your player - defaults to Me button to switch to your player

This feature controls the choice of the player in the Opening Explorer.

  • Me button to switch to your player - adds a tab next to Masters database, Lichess and Player named Me. If you click on it the choice of the player will toggle from your user to the last selected user.  The button can be shown/hidden from the Explorer config screen as well. 
  • Ability to remove players from the name list - adds the ability to delete players from the list of username previously chosen in the player tab
    • Lichess implemented this feature natively so it was removed from LiChess Tools in v2.1.21

Notes:

  • The Me button will appear only if you have any another players configured for the Player tab name list

Toggle snapshots of Explorer settings

category: Analysis/Study - Advanced
values: yes/no - defaults to yes

This feature will add a new button called Snap! in the Explorer settings of the Lichess database tab. This will allow to save the current Explorer settings under a name, then quickly toggle between the various sets saved by clicking on the same tab, which will now change text to reflect the name of the selected "snap". You can easily delete existing snaps and create others.

Note:

  • This started as disabled by default, but it was so useful that I've decided to enable it.

Various TV options

category: TV
values: Link for current TV game/Bookmark for current TV game/Streamers current games/Friends current games/Previous two games in player TV - default to all

This feature has been introduced in version 2.2.0 to merge four existing tools for TV with the same functionality. Make sure you review your Preferences.

Options:

  • Link for current TV game - adds a link to the currently played game in TV on the title, just like in Analysis mode
  • Bookmark for current TV game - adds the ability to bookmark a currently playing game by hovering the mouse next to the game title
  • Streamers current games - adds a Streamers tab in the Current Games page where you can see the games of all currently playing streamers
  • Friends current games - adds a Friends tab in the Current Games page where you can see the games of all currently playing players that you follow
  • Previous two games in player TV  - In category TV (when you are watching Blitz games for example) you get a list of two previous games in that category under the main playing board. For player TV, when you go to a specific player to watch their games, this is missing. This feature will add the two previously played games by the player you are watching.

Previously viewed game menu item

category: TV - Advanced
values: yes/no - defaults to yes

This feature adds an extra menu item in the Watch menu that will take you to the previously seen chess game. Just opening any game will consider it as watched. If you go to the previously watched game, then clicking on the menu item again will take you to the game you watched before that, and so on. The total number of remembered games is 10.

Pin broadcasts and studies to home page

category: General- Advanced
values: yes/no - defaults to yes

This feature will add a red pin to the studies and broadcasts tabs on the top left, right after the search icon. Click on this pin to pin/unpin the study or broadcast to the home page. All the things you pinned will be added to the spotlights area of the main page (top left corner)

Last visited study menu

category: Study - Advanced
values: yes/no - defaults to yes

This feature adds an extra menu item in the Learn menu that will take you to the previously visited study. Just opening any study will consider it as visited.

Styling for study comments

category: Study
values: yes/no - defaults to yes

This feature adds the ability to style the comments in your PGNs. You can choose between a number of styles that you can place anywhere in a comment with cls:<styleName>. It also adds a new button next to the comment button in a study chapter (a quill in an inkwell) that with cycle through all of the classes at the very beginning of the comment to the current move. The usable classes are: red, orange, yellow, green, lightgreen, cyan, lightblue, blue, violet, magenta, pink, underline, strikethrough, italic, bold, cursive and nothing or clear to clear existing class. (ex: cls:red will make the rest of line of the comment red)

Notes:

  • the name of the class declares the intent, not the actual result of the styling. Given that there are dark and light themes on lichess, the styles have been updated to be readable in both situations, using shadows or slightly different colors.
  • the style of the comment will only be visible to you and people with LiChess Tools installed. All others will see cls:blue or whatever in the comment.
  • you can actually put anything as the class name and the comment will be put inside a span with the class lichessTools-<your class name>, which allows you to customize your style even more with the addition of custom styles from other extensions like Stylus. In this case all people seeing the comment would also need the custom styling.

Show the order of arrows and circles

category: Analysis/Study - Advanced
values: yes/no - defaults to no

This feature shows a number on each drawn shape, so that you can see their order. Sometimes in studies you want to convey the moves that could follow the current position using arrows and circles, but in certain situations the order of the moves is important. Set this to true in order to see which arrow comes first.

Ctrl-Space for best computer move

category: Analysis/Study - Advanced
values: yes/no - defaults to yes

The default functionality of the Space bar in analysis mode is to start the computer engine if not started or play the best move in the computer move list. Because I was often using lichess with YouTube in another tab, pressing Space accidentally was always an annoyance. This feature changes the shortcut to Ctrl-Space.

Notes:

  • A previous version of the feature was using Shift-Space, but it would overlap with a lichess feature.

Clear chapter artifacts

category: Study - Advanced
values: yes/no - defaults to yes

This feature allows you to choose which artifacts to clear from only the current study chapter. To use it, click on the cog button next to the chapter name and, instead of the Clear annotations button now you get the choice of just comments, glyphs (good move, bad move, that kind of thing) and drawn shapes (circles and arrows) as well as all of the above. There is an extra option of clearing all PGN tags. This feature also adds individual delete buttons to all tags in the current study chapter.

Notes:

  • this only works for the current chapter, as the site does not have access to the moves or tags in the PGNs of other chapters
    • the feature could be modified to work on all chapters, but it would have to first select the chapter, then alter it, which I think is not something that should be done automatically.
  • this works on the client, which means that instead of sending one command to the lichess site, it creates delete requests for each item. If the PGN is large, this can take a long time.

Customize chat buttons

category: Play
values: yes/no - defaults to no

When playing the first few moves and after the game has ended, lichess gives you the option to click on some buttons for some standardized message like Hello, or Have fun! This feature will give you the ability to customize these buttons.

The interface may not be the most intuitive. To edit buttons you click on the little cog button, to exit edit mode you click on the same. This allows altering, adding and deleting buttons. Click on the small X button to enter delete mode, after which you click on buttons to delete them. Delete them all and you get the default buttons back.

In order to add or alter buttons you have to write in the chat text input something like <name>/<message>. Example: hi/Why, hello there, old chap!, which will create a button with the text HI which will send the chat text "Why, hello there, old chap!". In order to add the button, you click the + button. In order to alter an existing button, you click on that button.

Notes:

  • the name of the button can be only 2,3 or 4 characters long.
  • if you attempt to add or edit a button without a recognizably correct input text, the input box will jiggle to let you know you are doing something wrong
  • to edit the end of game buttons you have to reach the end of a game. This may be inconvenient and I am thinking of solutions
  • I am considering expanding this feature with buttons for the duration of the game as well as for spectators. Let me know what you think!

Player lag indicators

category: Play
values: none/bars/chart - defaults to none

This feature adds bars or a chart next to your and your opponent's name showing the lag and server latency. To limit use of server resources, the opponent lag indicator is updated only every 5 seconds, while yours every second or so.

Player warning alert

category: Play - Advanced
values: yes/no - defaults to no

This feature will add a small warning icon next to the opponent's name if the percentage of disconnects for the current time control is higher than 3%. Other warning reasons may be added in the future. The purpose of this is to allow you to abort a game before wasting time on a malicious opponent.

Timeline notifications

category: General - advanced
values: Forum post/Blog post/Lichess announcement/Stream start/Simul create/Simul join/Team create/Team join/Tournament join/Following/Study like/Blog post like - defaults to Forum post/Blog post

This feature will add a notification when there are unread items in your Timeline. The default values include comments on forum or blog posts you follow, forum or blog posts from people you follow. Basically posts that you wouldn't normally be notified about. 

Clicking on the notification will take you to the Timeline page. Opening it from here or anywhere else will consider the items read and so you will not see the notification until new ones turn up.

Notes:

  • there will be no notification if quiet mode is on (meaning you are playing a game or you have quiet mode manually set)

Mobile device features

category: General
values: Evaluation gauge/Hide the octopus mascot/Analysis arrows/Random move button/Scroll lock when playing - defaults to Evaluation gauge, Random move button

This feature alters some behavior specifically for mobile devices. There are Chromium-based mobile browsers, like Kiwi, which accept browser extensions. Enjoy LiChess Tools on mobile installing one and then the extension, then customize the experience with this feature. The options are:

  • Evaluation gauge - makes the evaluation gauge visible even on small screen widths (for mobile)
  • Hide the octopus mascot - hides the octopus mascot that takes a lot of space in Interactive Lessons
  • Analysis arrows - adds a button next to the Explorer and Practice ones that allows for drawing arrows and circles on mobile devices in Analysis board and Studies
  • Random move button - adds a button between the previous and next move buttons that will randomly play a move from the move list (same functionality as Ctrl-right to play random next move from list on desktop)
  • Screen lock when playing - will lock scrolling and zooming on mobiles when playing (or during puzzles). A lock icon will appear as a button on top of the screen that you can tap to temporarily lock/unlock the scrolling on that page (refreshing or going to other screens will again automatically lock the screen unless you unset the value from Preferences).

Notes:

  • Because both the shape drawing and random move buttons take up space, this feature also changes the style of the buttons so that they take two rows of space: the first for utility buttons (left) and the hamburger menu button (right) and the second row for PGN navigation buttons (first, previous, random, next, last move). If none of the two options mentioned are enabled, then the regular "one row for all buttons" style is used.
  • Screen locking when "playing" doesn't necessarily means when playing, but when lichess is in "playing mode". For example that also means when you haven't yet started the game or when you just ended the game or when you are doing puzzles.

Mobile device game features

category: General - Advanced
values: Game arrows/Standard buttons - defaults to none

This feature alters some behavior specifically for mobile devices when in-game. This means playing, or solving puzzles or even watching running TV games. There are Chromium-based mobile browsers, like Kiwi, which accept browser extensions. Enjoy LiChess Tools on mobile installing one and then the extension, then customize the experience with this feature. The options are:

  • Game arrows - adds a button next to the Analysis board one that allows for drawing arrows and circles on mobile devices in games
  • Standard buttons - the default behavior of lichess.org is to hide the move navigation buttons for games on small screens, instead showing one line of PGN with previous and next move buttons on either side. Set this in order to see all buttons (including the Game arrows one above). For normal play this is not necessary, but in puzzles, TV and such screens this is the only way to access the drawing arrows button.

Show evaluation of explorer moves

category: Analysis/Study - Advanced
values: From computer eval/From ChessDb/From Lichess /From winning stats/Rows from eval/Hidden - defaults to From computer eval/From ChessDb

Options:

  • From computer eval - will show the evaluation from the computer engine
  • From ChessDb - will show the evaluation from the chessdb.cn database
  • From Lichess - will show the evaluation from the Lichess evaluation API
  • From winning stats - will compute an evaluation based on the win/draw/loss statistics
  • Rows from eval - will add extra rows with the move and the evaluation if the explorer doesn't contain a line for that move
  • Hidden - hides any evaluation in explorer, but retains the settings if you want to show them again. This option can also be changed from the Explorer settings

This feature will show the move evaluation for Explorer moves. This information is retrieved from three different sources that can be enabled or disabled: the local computer eval, chessDb.cn, the lichess evaluation API and the Explorer stats themselves. If Hidden is set, then the settings for evaluation will remain, but the column will not be shown. The feature can be hidden not only from Preferences, but also from the Explorer config screen.

ChessDb.cn will be used first (if enabled) and then the Lichess eval API, so if you prefer the Lichess API, you should disable ChessDb. In case ChessDb fails for whatever reason, lichess eval API will be used instead. Just note that the Lichess API is limited in how much calls one can make and contains less data than ChessDb.cn.

The statistics eval will only be shown if there are 100 or more games in the lichess database for that move and not all won by one side. Its faded coloring signifies that it's not a true eval, but if enabled can compare with the other values. 

Computer evaluations will have a white color, stats evaluations will have a grey faded color and the cloud evaluations will be slightly blue. If using chessDb, the eval will show either red, green or bright green for bad, good and best moves.

This feature also adds a warning icon on the right side of moves that have large differences between evaluation and winning stats, indicating a possible trap or gambit situation. It also calculates the sharpness of a move, as defined in Evaluating sharpness with Leela’s WDL and adds a blue warning icon on the right side of the move when it's higher than 100.

The feature is unavailable in the Analysis screen of a running game.

Notes:

  • The more lines you have configured on your computer analysis, the more items in the list will be evaluated. Explorer can show 12 moves, for example, while the computer analysis is configured with Multiple lines=2, this means a maximum of 2 items in the Explorer will have an evaluation. With 5, you get 5, assuming the computer moves are in the Explorer list.
  • There is an internal cache of these evaluations, so you can run the computer eval for some moves, then stop it, but when going to those moves you will still see the evaluations as done before at whatever depth was last computed.
  • Take care with stats evals in positions with few games. It might tell you that you are absolutely winning, but that's just because no one played a winning move from that position. That is why eval from winning stats is disabled by default.
  • The evaluations from cloud differ in depth based on how many moves you want to see. For example you could ask for just one move (the best in the position) and it might show you the eval with depth 55, but if you ask for two moves it will give you depth 44, for 20 moves you would get depth 13 or even nothing. To account for this, cloud eval combines the values from two calls: for 5 moves and for 10 moves. Since the cloud data comes from local evals, server evals and different versions of Stockfish and I am combining two different depth evals, take the evaluation as an estimation, not a given.
  • Changing the options for evaluation in Preferences will reset the local cache for each move.
  • Lichess' cloud eval API will return 404 when no data is available, resulting in ugly red network lines and error messages in the browser developer tools. Those are not errors, but there is no way to hide them in Chromium browsers from JavaScript. If it annoys you, you can turn them off from DevTools (see https://stackoverflow.com/questions/4500741/suppress-chrome-failed-to-load-resource-messages-in-console)
  • Depending on how much you do analysis and how overloaded the servers are, cloud eval might start returning 429 errors, meaning the servers report you are abusing them. A warning will appear every minute while that happens. The workaround is to disable From cloud and use just computer eval (which, of course, will also use cloud eval :-P). The configuration on lichess' side, at least for the moment, is 3000 calls per IP address per day. That's a bit low, but it might be enough.
  • If computer evaluation is started and used as a data source, the cloud eval will not be accessed.

Show explorer moves leading to gambits

category: Analysis/Study - Advanced
values: yes/no - defaults to no

This feature adds a new column to the Explorer table showing the number of gambits reachable from the current position and for each move to play. The feature can be turned on/off not only from Preferences, but also from the Explorer config screen.

The feature is unavailable in the Analysis screen of a running game.

Quiet mode on all tabs

category: Play - Advanced
values: yes/no - defaults to yes

When a game starts, lichess sets a quietMode variable to true, instructing various notifications to not be displayed. Unfortunately, that only happens on the page that one plays on. This feature makes all open lichess pages get the value for quiet mode from the same place, so they don't behave inconsistently.

There is also a button added to the lichess menu which can manually enable/disable quiet mode. Warning: once manually enabled, quiet mode will remain on until manually disabled! The normal game playing quiet mode will turn on and off automatically, as before, only it will affect all open lichess pages.

Note:

Colors for shapes on mobile

category: General - Advanced
values: 1/2/3/4 - defaults to 1

This is part of the Mobile Experience feature and it selects the count of colors you can use on mobile to draw arrows and circles. If you only want to turn the drawing mode on/off with a single tap, select 1.

Insert new chapter after current one

category: Study - Advanced
values: yes/no - defaults to yes

This feature adds a button to the create study chapter form with the text Create after current. Using this button instead of the normal Create chapter will create the chapter immediately after the currently selected chapter.

Force add Stockfish 16

category: Analysis/Study - Advanced
values: yes/no - defaults to no

Some browsers have issues with the new Stockfish 16 engine, but these issues are not clearly defined. For example many users of the Brave browser complained of division by zero errors. I use Brave, I've never seen this. Therefore, if you are a user of Brave or some other browser that does not support the Stockfish 16 engine, this will force it to be available. However, the responsibility of enabling this and using SF16 are yours.

Don't worry, there is nothing bad that can happen, you just switch to Stockfish 14 and you're done in case using SF16 doesn't seem to work.

Show PGN in studies

category: Study - Advanced
values: yes/no - defaults to yes

This feature adds a textarea in the study Share tab called PGN. Similar to the one in Analysis board, it will show the PGN text of the current chapter. The PGN will be generated by the same code that generates the one from Extra context menu options and may differ from the one generated by the Copy PGN or Download PGN buttons.

Persist study settings

category: Study - Advanced
values: 'New/edit chapter settings' 'Position/move in the study' - defaults to Position/move in the study

Options

  • New/edit chapter settings - will persist the settings for studies when you create or edit them. Then it will use the same values when creating new studies.
  • Position/move in the study - will remember the position (move in the list) in a study chapter and restore it on page refresh
    • Note that if Lichess does not restore the chapter on refresh (it happens sometimes when the user get disconnected) then this will not work. This just restores the move in the current chapter, it does not change it.
    • Also note that this will not work in Interactive chapters if in Preview move (so if you play them)

Move list options

category: Analysis/Study - Advanced
values: Indented variations/Bookmarks/Expanded move list/Hide left side/Open in new window/Eval button on the right - defaults to Bookmarks

This feature will change the functionality or appearance of the move list in Analysis board. There are already such changes with the Highlight moves in analysis functionality.

Options:

  • Indented variations - this will make even variations that follow in line (when they are less than three, they are displayed one after the other in parentheses, like in a PGN text) show as tree branches, increasing readability and preparing for new features that will use this.
  • Bookmarks - Study only - this will allow for bookmarks, which are very cool (read below), but a bit experimental. Let me know how they could be more of use to you.
  • Expanded move list - Only for desktop resolutions (1260+ px), this feature is removing the left and right margins and expanding the move list to the edge of the screen and also downwards. It is meant to allow analysis on very complex PGNs.
  • Hide left side - Most of the time the left side of the analysis screen is useless: chat, notes, study participants and stuff like that. With this, you can hide that side to gain even more space for the move list. This is intended to be used together with Expanded move list, but you can use it separately as well. 
  • Open in new window - Study only - this adds a small button in the top-right corner of the page, just before the computer evaluation toggle. Clicking it opens a new window with just the analysis tools (move list, computer eval, explorer) that you can move to another monitor, for example, or resize and place wherever you want. Use the study SYNC button to keep the two windows synchronized. (the SYNC button only appears under the board when the study is set to Enable sync)
  • Eval button on the right - this will move the computer evaluation button to the right side of the eval header and also make it a little bit smaller.

How bookmarks work:

  • right-click on a move in a study move list and select Add/Remove bookmark from the context menu
  • put any text in the textbox that appears (or remove it all to delete the bookmark)
  • this will create a bookmark, which serves several purposes:
    • it will show as a named label in the move list (good for naming variations or making the PGN more readable)
    • it will allow to expand/collapse the branch from that move on
    • it will serve as an anchor for URLs to this exact variation
  • for any bookmarked move you can right-click it and get:
    • Collapse/Expand all bookmarks - collapse and expand all bookmarks in the tree
    • Get bookmark URL - will copy to clipboard a URL to that specific move in that specific chapter and study (the link will look like this: https://lichess.org/study/<studyId>/<chapterId>#<bookmark name>)
    • Split chapter here - only if the bookmarked node has children (following moves) - it will create a new chapter with the following moves, then add a comment with the URL to the new chapter. If you want to also delete the following moves, press Shift when you click on the menu item. The confirmation dialog should reflect that moves will be deleted.

Notes:

  • Bookmarks are saved in the comments as bkm:<label>
  • Only you and people with the LiChess Tools extension (and bookmarks enabled) can see and use the bookmarks, the rest will just see the bkm:<label> in the comment
  • Splitting a chapter with Shift-click DELETES THE EXISTING FOLLOWING MOVES from the initial chapter. Don't tell me you weren't warned.

Link to download all studies of a player

category: Analysis/Study - Advanced
values: yes/no - defaults to yes

This feature will add a "Download all studies" link in the studies list section whenever a user is selected in the query. This happens in two situations. Either you went to your studies or you selected the studies of another player. The necessary condition for the link to appear is that the study search query contains "owner:<user>" where <user> is any user id. The link will download one PGN with ALL studies of the selected user that you have access to. Naturally, your studies will all be downloaded. For other users, only the public studies will be downloaded.

Mirror button in Board Editor

category: Board Editor - Advanced
values: yes/no - defaults to yes

This will add a new button to the Board Editor called Mirror which will mirror the position you have currently. Unlike Flip board, it will create the exact same position for the other side, with the exact same valuation and move opportunities.

Custom mini-game size

category: General - Advanced
values: a number - defaults to unset

This feature sets a custom size to mini games, which are the boards that appear when you hover over a playing player link or in the Current Game or Broadcasts section, etc. The default is unset, which keeps the Lichess style. An equivalent numerical value for the default would be around 20. Change the number to increase or decrease the size of mini boards.

Notes:

  • the minimum value that will be taken into account for mini-games is 15. Lower values will only affect the popup board in the computer eval window.

Fix board coordinate position

category: Analysis/Study - Advanced
values: Fix outside coordinates/Larger coordinate font - defaults to Fix outside coordinates

This feature has two purposes. The first is to fix a Lichess bug that doesn't apply the preference for board coordinates on the outside in Analysis/Study. The second is to fix the CSS a little bit and also to enlarge the coordinates font.

Since most people found the larger coordinate font ugly, you have to enable the larger font manually and is disabled by default.

Show dates for Profile slider

category: General - Advanced
values: yes/no - defaults to yes

On the profile of a user there are buttons to select the range of the chart on top of the page. There is also a slider that can select custom ranges and one can also drag the selection on the chart itself. This feature will show the start/end dates selected by either of these methods.

More decimals for computer evaluation

category: Analysis/Study - Advanced
values: yes/no - defaults to no

If you enable this feature, the computer evaluation will show two decimals instead of one when computer engine evaluation is running.

Themes

category: General - Advanced
values: whatever themes are available - defaults to none

This feature will enable/disable various CSS themes. If an external theme (made by someone other than me) it will show attribution in the Preferences page. It will also be the creator's responsibility to maintain it.

Available themes:

  • Performance - performance CSS changes, mainly attempting to remove all animations, which cause slow rendering
  • Just Explorer - will hide the computer eval moves (but not the arrows, if enabled) and the move list when the Explorer is open. This will only be applied for mobile devices
  • Mobile - a lot of style improvements for mobile, especially aimed at studies and interactive lessons
  • Move colorizer - each level of PGN moves is colored slightly differently and comments are italicized
    • Warning: for large move lists this affects the performance quite a lot. The suggestion is to not use it if you have a lot of variations with more than 1000 moves in total.
    • the move colorizer theme has been removed in v2.3 and replaced with the Highlight variation depth feature.
  • Slim arrows - will make arrows less thick: color arrows, variation arrows and computer evaluation arrows.

Notes:

  • Multiple themes can be applied at the same time, but beware of conflicts. 

Wiki pages based on FEN

category: Analysis board - Advanced
values: yes/no - defaults to yes

This feature will show Wiki pages on openings even if the order of the moves changes. Basically, it looks for the Wikibooks Chess Opening page associated with the current position.

Commands

The commands feature is actually a combination of tools that register themselves with the cliCommands tool. This enables you to type / and then a command and execute various functions, besides the standard ones. Since commands are executed manually, they have no visible Preference to disable them.

Here is the list of available commands:

  • board - it will show/hide the board in Analysis mode (Analysis board and Studies). Use this with the Expanded move list and Hide left side options of the Move list options feature to have a move list filling the whole screen (good for presenting, for example).
  • trapvalue - provided the current move is in the Explorer database, this command will calculate the trap value of the current position. For more details on what that means, check out How To Calculate The Trappiest Chess Openings Using The Lichess API
  • copypgn ["fen"] ["separate"] ["tohere"] ["unicode"] - this will copy the moves in the analysis move list (Analysis board and Studies) to the clipboard as the moves reaching the current position and any branching moves from it.
    • if fen is specified, the PGNs will start from the current position with the FEN tag specified
      • same as Shift-click on the Copy PGN menu item 
    • if separate is specified, each variation will be saved as a separate linear PGN
      • same as Ctrl-click on the Copy PGN menu item
    • if tohere is specified, the PGN only copies moves to the current position
      • same as Alt-click on the Copy PGN menu item
    • if unicode is specified, the PGN will have unicode pieces instead of letters
      • note that results in a text that is meant for human readers, no longer a valid PGN
  • readgame [speed] [voice] [instrument] - this will read the game moves from the current position. It will follow only the first variation of every node, ignoring the others.
    • speed is an optional integer number, defaults to 100. Larger values makes the speech faster, lower makes it slower.
    • voice is an optional integer index number, defaults to 0. Changing it will change the voice which reads the moves, depending on your own browser setup.
    • instrument is an optional integer index number, defaults to 0. Changing it will enable a sound to be played in the background, based on the computer evaluation, if the game has been analyzed.
    • example: /readgame 80 2 1
    • this command also adds a feature to read a game in analysis if you add #readgame at the end of the URL (i.e. https://lichess.org/<game id>#readgame or https://lichess.org/<game id>/black#readgame or https://lichess.org/study/<study id>/<chapter id>#readgame etc.)
  • skipmove - this will generate 5 moves (if possible) to reach the same position, but with the other side to play.

Also save options for browser private/incognito mode

category: General - Advanced
values: yes/no - defaults to no

This was a user request to find a way to save the options outside the local browser cache, as he was playing the game from incognito/private browser mode. Since no other solution was better, this saves the options as notes in the first chess game you ever played on lichess. So be careful that this will alter those notes, although I am not aware of many people using the private notes feature.

Notes:

  • be aware that it will alter the private notes of the very first game you played on lichess
  • the extension will use whatever options you have in the browser local cache. Only if they are not there it will take them from the notes. That means that you can do weird stuff like enabling the feature, saving options, disabling it, changing the options and now you will have different settings in normal and incognito mode. So use with care.

Hide score tally crosstable

category: Play - Advanced
values: yes/no - defaults to no

Another user request was to not see the crosstable, the thing that shows how many games you played with the same opponent and what the results and games were. It was intimidating. This feature will blur it out, but allow you to click on it to unblur it. It's a silly feature that may not survive long because there is also the Zen mode lichess option which overlaps this behavior, but it's here for the moment.

and has 0 comments

  So you've been watching someone on YouTube DESTROYING their opposition (note that my use of capitalization and over the top language is ironic here. All this post needed was me making an O face in a picture with a fire background) and you tried to do it, but you just failed miserably. You watch the videos again and again, vaguely remember some lines and it doesn't matter anyway because your opponents play something else than you had prepared for. What to do?

  Well, it's easy with the LiChess Tools browser extension, in 10 easy steps! (again, irony)

Step 0: install the LiChess Tools extension on your Chrome/Brave/Edge/Kiwi/Any other chromium browser.

Step 1: go to lichess.org and export the games of your idol

  • make sure you check the box for Opening, you will need it later

Step 2: remove all the moves after a certain depth, since you want to learn theory

  • this can be done using regular expression search and replace in a decent text editor like Notepad++ (here is a pattern to select all moves after depth 20: 21\.\s+.*?$ which you can replace with nothing)
  • Note that regular expressions look daunting, but are very simple in what they do. The one above looks for 21, a dot, some spaces, then gets everything until the end of the string. If you remove this, you get with the first 20 moves, since lichess exports games as one line.

Step 3: select all the games with required opening

  • again this can be done using regular expressions. Here is a pattern for "Elephant Gambit" games : (\[\w+\s+"[^"]*"\][\s]*)+(\[\w+\s+"Elephant Gambit*"\][\s]*)+(\[\w+\s+"[^"]*"\][\s]*)*\s*1\.\s+.*?$ 
  • Notepad++ has a nice feature of marking all matches and then copying them wholesale (Note that when you copy them, the matches will be separated by four dashes ---- which you will need to remove, just search and replace)
  • the reason I am using the PGN opening name to find what I am interested in is transpositions. Also it makes for easier regular expression patterns. However you can use any search pattern, for example the exact move order to get a position. Just remember that any brackets and dot are special characters in regular expressions, so you have to escape them with a backslash. Example: . (dot) means any character in regular expressions, but \. means an actual dot. 

Step 4: go to lichess.org Analysis and copy paste the games there and import them

  • the enhanced import functionality that will merge multiple games will only work if you install LiChess Tools
  • there might be an error that there are too many PGN moves. In that case, try to import less games (less than 100 usually). This will generate a merged PGN which you then can merge with the other merged PGNs. Anyway, there will always be a maximum move limit imposed by the limitation of lichess
    • the limitation for number of PGNs has been removed in v1.7.4, although I just tried it with about 1000 PGNs (25000 moves!) and the site moves kind of slow. I suggest moderation :)

Step 5: transform the analysis with all the moves into a study

Step 6: examine moves and delete everything after obvious blunders (like hanging pieces)

Step 7: examine moves and remove transpositions, if any

  • transpositions can only be detected after installing LiChess Tools: they will appear highlighted when one of them is the currently selected move

Step 8: examine moves and add glyphs to them (good move, mistake, blunder, etc)

Step 9: edit the chapter and set it to Interactive Lesson

And you're done! All you have to do now is hit the Preview button and play as your favorite chess player. Note that the functionality to play all variations of a PGN is only available, you guessed it, if you install the LiChess Tools browser extension. The glyphs now come in handy, because you see when you are making a mistake or not or when the opponent does it.

Play to the end of a variation, trying to guess what they would play in that position, then exit Preview, mark the ending move with a comment, perhaps an evaluation. Go back in the tree of moves until you get to the first branching and cite the game that was imported from the game explorer window. You do that by clicking the game and choosing the Cite option. Then play again. And again.

Soon you will start to anticipate the style of your preferred chess master and play the same moves. When that happens, go back to the battle field and kick ass!

As an example, you can check out my own study which imports all Jonathan Schrantz (zolpi) Elephant Gambit games: Zolpi's Elephant Gambit , a PGN with 3292 moves from 114 games. I've also added a chapter with only the wins, so you can learn the good moves only :)

That's all! Let me know if you found this use case... well... useful.

  This extension adds a lot of functionalities to your lichess web site. It has so many useful and powerful features! I am very proud of it. The extension is always going to be free, ad-free, donation links free, etc. Yet the only way for it to do what YOU want is feedback. Any feedback! Praise, curses, bug reports, feature requests, use stories, anything. The more you tell me, the more I can improve on this!

  News update: I have merged several TV tools into one, as well as changed the Custom Engine Preferences in version 2.2.0. I removed the Move Colorize theme and replaced it with a feature in the Highlight tool in version 2.3.0. Please review your Preferences.

  I have also written a different page that will function as a user manual, with all the details on features, preferences and what they mean.

  If you are just interested in the list of features, in reversed chronological order, you might want to check out the history file.

  Other stuff:

  • all features have been encapsulated in "tools" in the code
  • all ideas for the future will be rewritten as issues on GitHub, where you can also put feature requests and bug reports
  • A help icon has been added to each of the Preferences to show details on each feature 
  • the extension requires Chrome version 111 or higher

  And now back to our regularly scheduled programming (programming, get it?):

  LiChess Tools (ver. 2.3.24) adds the following features to lichess:

  • play ALL variations in Interactive lesson study chapters!
    • computer is going to play a random move (configurable probability), so you don't need to create a chapter for every small variation
  • PGN editor to merge, normalize, split, count, upload, download, copy PGNs.
  • merge multiple PGNs in analysis import
    • I merged 1000 PGNs with 25000 moves and it worked!
  • automatically open/hide/convert to menu or button the Friends box at page load
    • having the friends box as a menu/button item is really neat
  • sound alert when one of your friends starts playing a game
    • also reading the type of game, so you know if you even want to look at it
    • now there is an option to mute this for individual players in the enhanced friends list
  • ability to randomly play one of the next moves (with configurable probability in comments i.e. prc:66) with Ctrl-Right and go back with Ctrl-Left
  • play against the Opening Explorer (either masters, lichess players or a specific player) in Analysis
  • evaluation of Explorer moves, as well as telling you what move leads to gambits
  • Missed Timeline posts or comments to posts you follow notification
  • screen lock on mobiles while playing (scroll and zoom)
  • find interesting moves and allowing cycling through interesting/good/brilliant moves just like with blunders
  • highlights for the last move of variations (special case for the ones that have no comment and do not end in checkmate) in the analysis/study board
    • you immediately see not only where a variation starts, but also where it ends
  • highlights for the transpositions to the current move in the analysis/study board
    • you won't ever have to worry that you are analyzing the exact same variation but in a different order
    • also you can now show all transposing positions in the PGN
  • new shortcut for playing the next best computer move from Space to Ctrl-Space
    • always annoyed me when I accidentally pressed the key
  • a custom chess engine level
    • if it is idle in a lower state, it runs until it gets to that level
    • this is also used as the required engine level by the study context menu option of commenting all last moves with a computer evaluation
  • custom chess engine options: never use cloud/tablebase, use engine in Practice mode
  • sticky Interactive lesson Preview mode
    • you can now play chapter after chapter without hassle
  • use keyboard shortcuts (i, m, b, Alt-i, Alt-m, Alt-b) for inaccuracies, mistakes and blunders in all variations
    • note that this is a native feature of lichess, but only in your game analyses and only the mainline moves
    • added g and Alt-g to cycle between "positive" moves (good, brilliant and interesting) 
  • show player country flags next to their names
    • if they have their country specified in the profile
    • now you will see flags everywhere. It might break some stuff, so let me know.
  • show the order of circles and arrows in a study/analysis.
    • this is great when you want to understand the order of moves/hints
    • option is off by default
  • a new menu item to open the last viewed TV game
  • show opening names in TV and mini games, as well as Analysis board and Studies
  • many TV options:
    • show history section in player TV (just like for category TV - the two latest games of the player)
    • friends and streamers section in the Current Games tab
    • link and bookmark the current TV game
  • quick button to switch to your player and back in personal opening explorer
  • copy to clipboard branch and continuations from a certain position in analysis/study
    • you can now just pick a variation, copy it in its own chapter, with just a few clicks
    • Shift/Ctrl/Alt change the way this item works
  • available languages: English and Romanian
    • ask for more! I will provide you with the English sentences and the context and you can tell me how it is in your language
  • the options for the extension are in the lichess Preferences section
    • complete integration. The extension popup has no functional role anymore
    • this also means that I will be able to port this to other browsers with minimal effort. Ask if you want this!
  • move options from transpositions to the current position
    • the Extended Interactive Lessons and the Ctrl-Arrow functionalities are also able to choose moves following from this list, as well as the variation arrows
  • automatically evaluate last moves in every variation and store it as a comment
    • the engine level for the evaluation is the same as the custom chess engine level in Preferences 
  • buttons in the study chapter edit form to quickly set the title to the content of the Event or of the White/Black PGN tags
  • set colors/styles to study comments
    • note that these will only be visible to people having the extension installed
  • study chapter navigation controls, including random chapter button
  • auto save and button to reload PGNs in Analysis mode (recover from accidental reloads) 
    • now it automatically copies the last PGN in the PGN box, but you have to manually import it by pressing the button
  • show all transpositions in the analysis/study move list
  • hide the score tally while playing
  • live friends page will update automatically and allow TV view, mute playing alerts and much more
  • global switch to enable/disable extension
  • ability to selectively remove artifacts (comments, shapes, glyphs and PGN tags) from the current study chapter
  • custom chat buttons at beginning and end of play
  • one button delete PGN tags
  • draw arrows and circles on mobile devices (analysis and in-game)
  • extra lines on the game analysis chart
  • menu entry to go to last opened Study
  • study options: persist settings, create chapter after current, show chapter PGN as in Analysis
  • move list options: indented variations shows all variations as tree branches, not inline, expanded move list uses all the space available for the analysis move list and hide left side hides the left side of the analysis window for even more space. Open in new window lets you see the move list in another window that you can move to another monitor. You can have the computer evaluation toggle back on the right side.
  • bookmark study moves, which allows for collapse/expand variations, linking to position, highlight in the move list, getting the bookmark URL from a context menu and split the chapter from any bookmark.
  • Option to not see cloud values in computer evaluation
  • Wiki pages will now load in Analysis regardless of move order
  • Variation arrows for transpositions
  • Show pawn structure names in TV games, mini games, Analysis board and Studies
  • Click on Explorer total row to get a random move
  • Toggle between different Explorer lichess tab settings
  • Custom mini-game size
  • Play again from same position you entered Preview mode in
  • Use Stockfish 16 on Brave browser
  • Learn from your mistakes in study chapters
  • Pin studies and broadcasts to home page
  • Community forum
  • Freeze board keyboard shortcut in Analysis/Study
  • Player lag chart next to player names during play
  • Link to download all studies of a user
  • Show profile chart time range dates in a label
  • Outside board coordinates, even in Analysis/Study, and bigger font.
  • Puzzle statistics in Profile
  • Move assistant shows the evaluation of your selected piece legal moves
  • /commands! Type /help to get a list

  I couldn't wait to share it with you guys. I will be happy for any feedback, suggestions or help.

  I've started a series of use case blog posts, they might show you how to use the extension in real life:

Here are some screenshots, but they don't really tell you the story. You just have to try it.

Good luck using my extension. I am sure I am going to be tinkering with it a bit. Let me know of any problems you have with it.

Other ideas

For readability sake, I've removed all the old ideas from here and moved all of the new ones as GitHub issues. You can go there and add your own!

Q&A

Q: Can you publish your extension code on GitHub?
A: Yes, I did. I could. Probably I will be starting with version 2, which will be a rewrite of a version 1 that has been in use for a while and that people have given me feedback for. As much as I like sharing my code, I really don't want to have to deal with all the GitHub complications right now.

Q: If your code is not on GitHub, it doesn't exist! Also, I looked at your code and it sucks balls!
A: That's not a question. And I agree. But right now I am focusing on features, not quality control. Wait for V2.

Q: How do we contact you with new ideas, bug reports and general roasting of your coding skills?
A: Use this post. This is my personal blog and my preferred method of communication. On top-right you can see a lot of links to various methods of direct communication with me, although I would prefer thoughtful feedback to remain documented here, as comments. You can now also use the GitHub project.

Q: I am addicted to LiChess Tools and I am afraid later on you will fill it with ads, premium features and EULAs that allow you to remove my kidneys. Can you address my fear?
A: Like everything on this blog, it will always remain free. And not free as in "until someone else buys it" or free as in "watch videos and it's free" or free as in "I will fill your screen with junk", but completely utterly free. Like LiChess, I guess. Also, it doesn't connect to any external services or capture any user data. For now! Muhahahaha! Later on it might need some external services for extra features that you ask for, but I hope it doesn't.

Q: How long did it take you to write this?
A: Mostly a week. Following the 80/20 rule, now I have to work at least one more month to make it good. In the end it probably took two months to start and I am still tinkering, but I can only work on it when I get the time. This has been published since the 10th of May 2023 and I am still adding or fixing or changing things. For the cause!

Q: You should write a tutorial on how to use it. Could you make a video of it?
A: I am not a video person. I hope that this post can convey the basic ways in which to use the extension and that the extension itself can be used without the need of a tutorial. Let's work together to make this clear and easy to use for everyone instead. Also, there is now the user manual page. However, I am not adverse to someone who knows how to make videos to make some about LiChess Tools.

Q: Your Extended Interactive Lesson feature is all I had ever wanted from life! But when I am editing the study, I get the same interface as normal studies. Can you fix it?
A: Some parts of LiChess are easy to change, some not so much. Anything related to rendering is a mess to hook to. Additionally, I wouldn't want to have studies that can only be edited and used with my extension. There is a move context menu that allows setting the "explain why any other move is wrong" now. Also you can collapse the controls now, so they don't bother you at least.

Q: So how do I mark the good branches from the bad variations in Extended Interactive Lessons?
A: Any move that is not in the study will be bad. As for the branches that you want to explore specifically, use the annotations (Mistake, Blunder, Brilliant Move, etc) and comments. You can even explore the bad branches in Preview mode this way and learn why they would be bad.

Q: Can you add features to show me what moves to make while playing?
A: LiChess Tools is not a cheating tool. However I try to add as many tools as possible to help you analyze your games after you've played them.

Q: But can you add some features that don't involve cheating for the games that I am playing/watching?
A: Most of the features of LiChess Tools are analysis oriented because analysis is much better exposed than the game code. Because there are a lot of private variables that are not made accessible, it's difficult to selectively change parts of the game interface and any features would have to brutally copy paste and replace some legitimate code bits. I am afraid that until that changes on LiChess, I will not touch that part, mostly because that means I would have to keep score on what they change on the web site and update my extension accordingly. Also, there are some guidelines that expect one to not change the playing interface at all.

Q: How about changing the way LiChess looks?
A: I am not a good visual designer, nor do I do a lot of work on web frontend. There are some extensions that are doing that (like Prettier Lichess, which I used myself, and perhaps you should ask those people for help instead. Also, I am avoiding as much as possible changes to the visual elements of the website specifically because it might interfere with some such extension or custom CSS tool. BTW, if you are working on something like that and find LiChess Tools is interfering with your stuff, let me know. We can figure things out. In v2.0.14 a new Themes tool has been added. I can publish CSS themes this way, but I don't intend to maintain them myself. If you want to see your theme there, contact me. 

Q: OK, you're my new hero. How can I help?
A: Contact me and let's talk. I despise doing anything UI design related, as evidenced by this blog and the extension popup, so maybe you can help there. Also, not a specialist in browser extensions, so any improvements and/or help with other browsers would be welcome.

Q: Yeah, but I can't code. How can I help?
A: Help me by making this extension known. I don't want "marketing", just spread the word. Let people know and if they like it, they will use it. Can't use it if they don't know about it, though, and I am always afraid people think I am spamming them when I try to advertise my work. Make this famous, is it too much to ask?

Q: I use LiChess in my own language and the new features are jarring in English
A: I've implemented the translation mechanism, but I need the texts for the various languages. If you provide them, I will make them available. Each tool starts with something like 

    intl={
      'en-US':{
        'options.general': 'General',
        'openingNameTitle': 'LiChess Tools - opening name'
      },
      'ro-RO':{
        'options.general': 'General',
        'openingNameTitle': 'LiChess Tools - numele deschiderii'
      }
    }

I plan to integrate Crowdin or something like this, but I don't have the time. You can look in Github and either tell me how to translate to your language or even create a Pull Request.

Q: Chrome sucks! Microsoft sold out! Can you make this work for my favorite browser?
A: Short answer: no. Long answer: I want to help people, so the more the merrier, but I also don't have a lot of resources to maintain code on a browser I don't use. Safari is a mess and extensions on it require to have a tool that only works on Macs and they ask you for money. Firefox has less than 5% of the market and refuses to implement the feature that makes LiChess Tools work. Opera already supports Chrome extensions. To be honest, it is not reasonable for me to bother with anything but Chrome. So long answer is also no :)

A: That's not my bug, it comes from LiChess. They have bugs, too.
Q: How could you possibly have answered before I asked the question?

Q: Did you actually think people were going to read this far down?
A: No.

Q: I told about this to all my friends, I came with feedback and constructive criticism and it feels like you ignored me. What gives?
A: For sure I want to take everything into consideration and act on requests as fast as possible, but it might be that I am caught up with something else. I thoroughly intend to give you and the extension as much attention as possible, so maybe make sure I got your message, first.

Hope it helps!

and has 0 comments

Quick update

  I have solved a lot of the issues I have with LiChess with my own Chrome/Edge extension: LiChess Tools. I am very proud of it and I invite you to use it. It even enhances the Interactive lesson mode I describe below to explore ALL variations in the chapter!

  Now back to the original post:

Intro

  It's impossible to play chess and to not have heard of Lichess. It's a website that has started with the lofty goal of providing a completely free and without ads place where people can play chess. One of the features there is called a Study, similar to the chess Analysis board, but allowing for multiple chapters, persistent comments and annotations, a unique URL as well as the possibility of embedding it into a web page.

  There are multiple analysis modes for a chapter: Normal analysis, Practice with computer, Hide next moves and Interactive mode. I think Hide next moves is mainly used for embedding chess puzzles into websites, while Practice with computer is a mode that I have not played with yet. Normal analysis presents the classic board with various tools showing you the moves people of various levels play in a position, a chess analysis engine in the browser as well as a server side analysis that you can run on the main line of a PGN.

  However, I am here to show you how to use Interactive lesson mode, simply and without confusion, to quickly improve your game and perfect your play.

  If want the example study and only then read through the documentation about how it was done, go directly to the Demo.

It's not that

  When I first heard of this option I was elated. I expected to take my very complicated PGN explorations, paste them into the study, then have the computer play the other guy based on the moves in the PGN. And while I still hope the developers of Lichess will create a study mode for a complete PGN, this does not work in Interactive lesson mode yet. I hear that Tarrasch UI does have an option like that, but I haven't used it yet, so maybe I will update this post after I try it. I use Arena Chess GUI as the tool of choice for game analysis on my computer.

  Edit: I've installed Tarrasch and it kinds of works, even if the option is rather primitive. What you do is you take a PGN (like for example the Lichess PGN of all of your games or of another player) and set it up as the opening book. Then you have another option that sets up how many moves to take from the book and then, what percentage of moves to take from the book. So setting the first as a very large number or the percentage at 100 makes the UI play exactly like the other player. However, the problem is that it doesn't save the probability for a user to make a move. It just combines all games PGNs into one big one and plays from it. If I player e4 once and d4 1000 times, the computer will play either 50% of the time. Bummer!

  OK, so maybe it follows the main line, but what if I go into a branch line? Surely it will allow me to continue, because I have marked the good moves as good and the bad moves as bad. Nope! The main line is the only line the Interactive lesson will follow, but you can add other moves which will be automatically considered bad and their comments shown to the user as they try to make them.

  It is called interactive, so maybe it has all kinds of whistles and bells that I can add so that it is more like a fun game! Again, no. Interactive means only that you can learn a specific line by following it ad nauseum, with some helpful graphical hints, comments and annotations baked in. For each line that you want to explore, you have to build a different chapter. And there are a maximum 32 chapters per study. There is no way in which you are making a different move and you get any feedback more meaningful than a prerecorded comment telling you you didn't play the correct move. That being said, when creating a new chapter one can import a PGN containing multiple games. This will create a chapter for each of the games (again, maximum of 32).

  One other glaring limitation of studies in general is that they barely work on the mobile app and Interactive lessons are not even supported there.

But it's that

  But once I found the proper way of using it, I realized that it can actually help me a lot to improve my game. Why? Because it helps with repetition and memory, which is something that I don't really excel in. So here are my recommendations on how to use the tool.

Create a PGN with all the lines that you want to explore

  Yes, I know I said Interactive mode doesn't handle multiple lines, but this is the starting point of your efforts. You need one anyway to first determine what you want to study. Let's say you have learned of the newest tricky gambit line and you want to beat all your friends with it, but you can't practice it without letting them in on it.

  There are multiple ways of generating this source PGN. You can watch your favorite YouTuber going through the variations, create a study and follow their moves in the first chapter. You can start from the Analysis Board and transform it into a Study when you need to add comments and stuff. Don't worry about chapters at this stage. Just build your PGN. You can take your own games in that particular opening or variation and add them to the PGN. You can check out the games of other people or use the Opening Explorer and Tablebase to find the most common moves people play from a position.

  Do add comments and graphical hints as you go along (right click and drag the mouse for arrows, right click on squares for circles, press combinations of Ctrl and Alt for various colors). It will be important later.

Split your PGN into individual lines

  This might feel painful at the beginning, but in order to examine lines from your PGN interactively you need to remove all other moves. You already have your PGN, just add new chapters for each line and use the option to copy from the first chapter. You do this by selecting the chapter you want to copy from, then use the new chapter option. Don't forget to choose Interactive lesson as the Analysis mode (you can copy from the latest added chapter, since it's identical to the first, only it has the Interactive lesson mode already selected). Let's say that you started with a small PGN with a main line and an alternate branch that then splits again later on. That means 3 variations. Copy the PGN into 3 new chapters, then for each one delete all the moves from alternate branches. Keep the first chapter with the compete PGN and the type Normal analysis.

Play chapters repeatedly

  In order to play the chapters yourself, you need to press the Preview button. Alternately, open your study in a browser where you are not logged in on the Lichess site, but that also implies that your study is set to public and updating it as you play will be cumbersome.

  So start playing the chapters, in order or randomly, again and again. You will start to reap the benefits of spaced repetition, without the stress of playing against another person and without getting distracted by other stages of the game.

  Eventually, you will notice some moves that are hard to remember. Exit preview mode by pressing the Preview button again, then add hints, comments, graphical hints, etc. This will help you when you get to the same spot a few weeks later.

Helping yourself and others

  There are several ways to nudge people going through the lesson. Most are helpful, but they can also be detrimental or too revealing.

  You can add a Hint, which will appear if the user gives up and clicks on Hint. They also have the option of seeing the next move, if they really give up. I guess this can be helpful if the hint is vague enough. Something like "move to e4" is the same as the option of seeing the solution, so pointless. Something like "move the queen!" is not much better. However, something that talks about the principles of the position rather than the specifics not only helps cement the theory in the mind of the student, but also helps you, the author, clarify those principles as you search for the correct hint!

  You can make a move for your side then add a special type of comment that will pop up to the user if they play any other move. You can also play different moves in the PGN other than the main move, then add a comment for why that move is not the right one, which will supersede the generic one. For example you could use "Not that move, dummy!" which is not very helpful, but works for a generic message, then play the next best move (or perhaps even a better one, depending on who you're asking) and commenting on it "That's an even better move, but not in the spirit of this opening" or something like that.

  Note that you can add comments for the moves of your side, but that forces the student to press Space to go to the next move, which might get annoying. Alternately, if you write comments on the opponent moves, the annoying pause does not happen, since it's your time to move and you can read it at your leisure.

  Same ideas apply to arrows and squares. You might use them to convey general plans or the very specific plans that follow the very last move in the chapter, perhaps. Show too much and you guide your user towards the move, preventing them from learning. Be consistent with your colors. I personally use the default green for future moves, blue for intentions or plans, red for what the pieces are attacking and yellow as the best move that the opponent should have played, but they did not.

  Annotations are also very helpful, showing the student that the move is good or interesting or brilliant. They come with no extra information and do not pause the lesson.

Extra tools

  There are several things that I found irritatingly missing from the Study feature. However, I've built my own solutions using CJS and Stylish Chrome extensions that allow me to run custom JavaScript and add CSS styles on specific sites. I would still prefer to have those implemented by the Lichess developers, though. I plan a future blog post about those tools, let me know if you're interested.

  One of the tools is knowing what the last moves of variations are. On a large PGN it is hard to see which is which. One needs to know where variations end, whether to further them along or to at least end with a comment. My script adds a CSS class to the last item in a variation and another class if it has no comment attached to it. I see them as brighter and underlined if not commented.

  Another one is handling transpositions. Chess masters of course look at the board and immediately recognize the position they had in a game three years ago when they were playing Magnus Carlsen, but regular people who are trying to cover all the branches of a PGN do not know whether they have reached a position they had before. My script adds a CSS class to all moves that show the same position as the currently active move, but it's not perfect, it only shows the same position that was reached through a different order of moves, not different moves.

  Extracting a line from a PGN would have come handy as well. There is the option to make a variation the main line, but there is no option of removing all branches from it. That will make your initial study creation a bit cumbersome, especially since you are like me, accumulating lines in the PGN and then realizing there is no support for 523 chapters in a study.

  Merging PGNs is also a very good option that as far as I know Lichess is missing. There is the option of adding any game from the Opening explorer and tablebase, but none for your own games or any other random ones. That would also help a lot with studies.

Demo

Below I will share one of my own interactive studies, public and shareable, hoping I will help you guys use this wonderful tool towards great effect. I will use for inspiration one of GM Igor Smirnov's YouTube videos. He is great, but I also used this because he usually shares his lichess studies :)

So these are the steps I followed to create the study:

  1. I took the two games in the study shared by Igor and manually merged them in a single PGN
  2. I created a new study, then pasted the PGN as the first chapter
  3. Doctored the PGN so that I eliminate the transposition at move 4
  4. I watched the video and added new moves from it
  5. I looked for interesting positions in the two games and explored some branches, adding comments related to everything from my own opinions to the evaluation Stockfish gives
  6. Created a new Interactive lesson chapter for each important variation
  7. Went to each chapter and upgraded the specific variation as main line
  8. Removed all side lines in each chapter (perhaps leaving the starting move only, so I can mark it with a special reference to its specific chapter)
  9. Played each chapter again and again, trying to identify the hard to find moves and the general plans of the opening
  10. Shared the study with all of you!

Here is the result:

What to do next

At the beginning, going trough the study, you will first learn the moves, maybe find some places requiring hints or nudging in the right direction. But then you will start to play actual games, using what you've learned, and you are going to get opponents that move completely differently from the main moves. Obviously they are doing something wrong, but you don't know how to punish them.

So here is what you do: you update the original PGN if you want, but then you create a chapter for each of these troublesome lines. You follow them through, using chess engines or some other way of understanding the position: maybe a teacher, or looking at master games or checking the moves statistically played most in that position. Then go back to going through the chapters.

It's that easy. This replaces your passive examination of your games with the active searching for a solution and an even more active playing through it again and again. 

Conclusion

One can use the Interactive lesson mode to do spaced repetition learning, get a feel for new openings or rehearse the positions that give them the most problems. While the current implementation of the feature is very useful as it is, some simple additions would make it much more user friendly. I am still searching for additional tools that would complement this and will update the post as I go along.

Hope it helps! 

and has 0 comments

  I was studying some game openings and I found myself in a position that was reached on LiChess 7 times after 11 moves, starting from the Vienna Gambit. That's the gambit that looks like an improved King's Gambit, with f4 after playing Nc3 first. In fact, one of the 7 games started off as a King's Gambit.

  This position is fascinating. Go on, try to analyze it! Guess the evaluation, try to see the continuations. White to move, obviously, since the king is completely exposed and also in check. Black has 3 extra pawns and a passed pawn one rank from promoting. Can White survive this?

  What if I were to tell you that the computer evaluation for this position is +5 for White? And I am talking 40 ply, not the in page LiChess engine which actually evaluates this at more than +8! The server analysis goes as low as +4.

  I am going to share the study, it has several chapters, one with how to get to this position and another with computer variations (absolutely FILTHY variations - imagine Levy Rozman saying that) and then the games on LiChess at the moment. The computer variations (so best play from Stockfish) all end badly; Black is completely lost. It goes to show the importance of space, development and tempo in chess, much more than the material or even the classical principles we are all used to. Not that they are bad, it's just that they don't always apply.

  Enjoy this amazing position!

and has 0 comments

  In the Vienna game: Copycat variation there is a particular position where Black pins White's queen, but White ignores that anyway to attack the king. Queen sac's are always interesting, but what is more interesting for me is that Stockfish shows that's the only way to win, it continues into a position where it claims +2.2 for White, but then it can't think of a way out!

  So, can you help Stockfish out from this position?

  Here is the position:

  The first idea is Nxd6, winning a pawn with discovered check, but after the king moves to h8, the only move that doesn't lead to equality or worse is back with Nf7+. One can give a double check with Nh6, but after Kg8 the best move by far is back with Nf7+. What if we take the rook at f8? We can't do that, because then Black brings the other rook and White loses. Nf7+ is forced. What else?

  If you leave Stockfish running with multiple eval lines, it will cycle between them, with the winning move always moving the knight back and forth on f7. But this is chess, not Stratagema. What could we possibly do? What is the way out? How can one have +2.2 evaluation, yet not be able to escape this position? Is this the end of computer chess?!

and has 0 comments

  Whenever I want to share the analysis of a particular opening I have difficulties. First of all, I am not that good at chess, so I have to depend on databases and computer engines. People from databases either play randomly or don't play the things that I would like to see played - because they are... uncommon. Computer engines, on the other hand, show the less risky path to everything, which is as boring as accountants deciding how a movie should get made.

  My system so far has been to follow the main lines from databases, analyze what the computer says, show some lines that I liked and, in the end, get a big mess of possible lines, which is not particularly easy to follow. Not to mention that most computer lines, while beautiful in an abstract kind of way, would never be played by human beings. Therefore, I want to try something else for this one. I will present the main lines, I will present how I recommend you play against what people have played, but then I will try to condense the various lines into some basic concepts that can be applied at specific times. Stuff like thematic moves and general plans. It's not easy and I may not be able to pull it off, but be gentle with me.

  Today's analysis is about a line coming from the Cunningham Defense played against the King's Gambit, but it's not the main line. It's not better, but not really worse either. I think it will be surprising to opponents.

  We start with King's Gambit accepted: e4 e5 f4 exf4 Nf3, which is the best way to play against the gambit, according to machines and most professional players. Now, Black plays Be7 - the Cunningham defense, with the sneaky plan of Bh4+, Nxf4, Qh4+, forcing the king to move or try to futilely block with g3 and lose badly (or enter the crazy Bertin Gambit, which is very cool, too). Amazingly, there is little White can do to prevent this plan! White entered the King's Gambit with the idea to get rid of the pawn on e5 and play d4, controlling the center. The main line says that, after Be7 by Black, White's light square bishop has to move, Bc4 for example, making way for the king to move to f1.

  What I want to do, though, is not to move the bishop, but instead continue with the d4 plan. I am going to show you that moving the king is not that bad and that, succeeding in their plan, Black may overextend and make mistakes. There are some traps, as well. The play, though, has to be precise.

  And I dare you to find anybody talking about this particular variation! They all assume Bc4, h4, Nc3 or Be2 are the only options.

  Let's start with the main lines, in other words, what people play on LiChess from that position:

  As you can see, most played moves are bad, starting with the very first one: Ke2. Instead, what I propose is Kd2, with the idea c3, followed by Kc2. The king is relatively safe and there are some naturally looking moves that Black can end up regretting. Next stop, playing correct moves vs the most commonly played moves on LiChess:

  While it doesn't give an obvious advantage - what I propose is not a gambit, just a rare sideline with equal chances, it gives Black plenty of opportunity to make a mistake. Let's see where Black's play on LiChess agrees with Stockfish strategy and note that Black never gets a significant advantage, at the human level closest to perfect play:

  Finally, before getting to the condensed part, let's see how Black can mess things up:

  Note that there are not a lot of games in this variation, so the ideas you have seen above go just as far as anyone has played in that direction. Computer moves are wildly different from what most people play, that is why machines can be good to determine the best move, but they can hardly predict what humans would do.

  In conclusion, without blundering, Black keeps an extra pawn but less than 1 pawn evaluation advantage, meaning White always keeps the initiative, despite having the king in the open.

  White's plan is to keep control of the center with e4, d4, followed by c3 and Kc2, Bd3 or Bb5+, Bxf4, Nd2, etc. White's greatest problem are the rooks which need a lot of time to develop. The attack can proceed on the queen's side with Qb5 or on the king's side with pushing the pawns, opening a file for the rook on h1. It's common to keep the dark square bishop under tension on h4, blocking Black's development, but then take it and attack on the weakened dark squares or on the queen's side, once Black's queen in on the other side of the board.

  I would expect players that are confident in their endgames to do well playing this system, as most pieces are getting exchanged and opponents would not expect any of these moves.

  Here are some of the thematic principles of this way of playing:

  • After the initial Bh4+, move the king to d2, not e2, preparing c3 and Kc2
    • while blocking the dark squares bishop, it uses the overextended Black dark square bishop and the pawn on f4 as a shield for the king
  • if d5, take with exd5 and do not push e6
    • opens the e-file for the queen, forcing either a queen exchange or a piece blocking the protection of the h4 bishop from the queen 
    • a sneaky intermediate Qa4+ move can break the pin on the queen and win the bishop on h4
  • if d6, move the light square bishop
    • Bd3 if the knight on b8 has not moved
      • allows the rook to come into the game and protects e4 from a knight attack (note that Nf6 breaks the queen defense of h4, but Nxe4 comes with check, regaining the piece and winning a pawn)
    • Bb5+ if the knight has moved
      • forces the Black king to move. If Bd7, then Bxd7 Kxd7 (the queen is pinned to the bishop on h4)
    • note that if Nc6 now, d5 is not a good move, as it permits Ne4 from Black
    • Qb5+ can win unprotected pieces on g5 or h5
  • once both Black bishops are active on the king's side, c3, preparing Kc2 and opening the dark square bishop to take the pawn on f4
    • play c3 on d6 followed by Nc6 as well
  • Nc6 is a mistake if there is no pawn at d6. Harass the knight immediately with d5:
    • Na5 is a blunder, b5 traps the knight
    • Nb5 gives White c3 with a tempo, preparing Kc2
    • Nb1 is actually best, but it gives White precious tempi (to play c3)
  • White's c4 instead of c3 is an option, to use only after Bg5, preparing Nc3
    • c4 might seem more aggressive, but it blocks the diagonal for the light square bishop
    • c4 may be used to protect d5 after a previous exd5
    • c4 may be used after a bishop retreat Be7 followed by Nf6 to prevent d5
  • White's Kc2 prepares Bxf4, which equalizes in most cases by regaining the gambit pawn
  • Black's Nf6 blocks the queen from defending the bishop on h4, but only temporarily. Careful with what the knight can do with a discovered attack if the bishop is taken.
    • usually a move like Bd3 protects e4. After Nxh4 Nxe4 Bxe4 Qxh4 material is equal, but Black has only the queen developed and White can take advantage of the open e-file
    • Kc2 also moves the king from d2, where the knight might check it
  • Keeping the king in the center is not problematic after a queen exchange, so welcome one
    • Qe1 (with or without check) after Nxh4, Qxh4 is a thematic move for achieving this
  • One of Black's best options is moving the bishop back Be7, followed by Nf6. However, regrouping is psychologically difficult
    • in this situation c4 is often better than c3
  • After Bg4, Qb5+ (or Qa4+ followed by Qb5) unpins the queen with tempo, also attacking b7 and g5/h5

  I hope this will come in handy, as a dubious theoretical line :) Let me know if you tried it.

Update:

  After analyzing with a bunch of engines, I got some extra ideas.

  For the d5 line, pay some attention to the idea of taking the bishop with the knight before taking on d4. So Kd2 d5 Nxh4 Qxh4 exd5. I am sure engines find an edge doing it like that, but I feel that at the level of my play and that of people reading this blog (no offence! :) ) it's better to keep the tension and leave opportunities for Black to mess up.

  Another interesting idea, coming from the above one, is that the Black queen needn't take the knight! Taking the pawn (dxe4) and developing the knight (Nf6) are evaluated almost the same as Qxh4! This is an idea for Black, I won't explore it, but damn, it seems like no one loves that horsey on h4!

  Then there are the ways to protect the doubled pawn on d5, either with c4 or Nc3. Nc3 is not blocking the light square bishop and allows for some possible traps with Bb5+, yet it blocks the c-pawn, disallowing Kc2. c4 feels aggressive, it allows both a later Nc3 and Kc2, but leaves d4 weak. Deeper analysis suggests c4 is superior, but probably only in the d5 lines.

  When Black's queen is on h4, White needs to get rid of it. Since the king has moved, an exchange is favorable, but it also removes the defender of the pawn on f4.

  Some rare lines, Black plays Nh5 to protect f4. The strange, but perfectly valid reply, is to move the knight back, allowing the queen to see the Black knight: Ne1 or even Ng1.

  In positions where the king has reached c2 and there is a Black knight on c6, prevent Nb4 with an early a3.

  In the d6 line, Black has the option to play c5, attacking the pawn on d4. Analysis shows that dxc5 is preferred, even when the semifile towards lined up king and queen opens and the pawn takes towards the edge. Honestly, it's hard to explain. Is the c-pawn so essential?

  If you've read so far, I think that the best way for Black to play this, the refutation of this system so to speak, is bishop back Bg7 followed by Nf6. And the interesting thing is that the reply I recommended, c4 preventing d5, may not be superior to Nb3 followed by exd5.

and has 0 comments

  I am not really a King's gambit man, but a friend of mine loves to play it so I've started looking into it and stumbled upon this very interesting variation which I found very instructive. Basically White is gambitting not only a pawn, but also a piece, all for development and immediate attacking chances. Now, if you thought King's gambit is a romantic era chess opening that has been refuted (no, it has not been, but that's all what people remember from the title of an article written by Robert Fischer 50 years ago) then you will probably will think this continuation is lunacy.

  Luckily, LiChess makes chess study so simple that even I may sound smart talking about it, so here it is. The position begins from King's gambit accepted - which is the best line for Black according to computer engines, continues with the Rosentreter gambit - allowing Black to chase the important f3 knight away, then White completely abandons the important knight - the so called Testa variation! And then White sacrifices another piece! It's so much fun.

1. e4 e5 2. f4 exf4 3. Nf3 g5 4. d4 { Rosentreter gambit } 4... g4 5. Bxf4 { Testa variation } 5... gxf3 6. Qxf3 { At this point, evaluation is just -1.2, even after sacrificing a piece for a pawn! } 6... Nc6 7. Bc4 Nxd4?? { Black has fallen into the trap. Note that other than the beginning gambit moves and this blunder, all Black moves are Stockfish best moves. } 8. Bxf7+ { Boom! Stockfish evaluation jumps to +5, but getting there takes some time. } 8... Kxf7 9. Qh5+ { No greedy discovered check here as the Queen is under attack. }

  Note that there is another similar opening as the gambit I am discussing, also arising from the Rosentreter variation of the King's gambit, where instead of coming up with Bc4, White plays Nc3 - the so called Sørensen Gambit. Similar or same positions may be reached from From's gambit, Vienna gambit, Steinitz gambit, Polerio gambit or Pierce gambit.

  Lieutenant Colonel Adolf Rosentreter was a German chess played who lived between 1844 and 1920. He seems to have been a gambit loving chess player, as there are at least two gambits named after him, the most famous being the Giuoco Piano one, which he used to completely destroy a Heinrich Hoefer in 1899, in just 13 moves. Funny enough, in the LiChess player database there are 10 games that end in an identical fashion. I don't know who Testa was, who is possibly the one who should be lauded for this version of the opening.

  Anyway, the post is about the gambit in the King's gambit. From my analysis, White can have a lot of fun with this opening. Also, none of the main lines (played the most in LiChess for various ratings) are actually any good, in the sense that the few people who employ the gambit don't know how to implement it best and their opponents usually blunder almost immediately. "Masters" don't use it or at least don't fall into the trap, so keep in mind this is something to use in your own games. So Magnus, don't read this then play it in the world championship or something!

  Also, even in the case of Black not falling into the trap, the opening still leaves White fully developed and Black with the burden of demonstrating an advantage. As you can see from the image, the only White piece undeveloped is a knight. Once that happens and the king castles, all pieces are out. Meanwhile, Black has moved only a knight, one that - spoilers alert - will be lost anyway.

  Note that I've used Stockfish to play the best moves (other than entering the gambit and accepting the poisoned pawn). For the main lines chapter I've went through the games in the LiChess database. Agreed, there are only a few hundred in total, but that proves how much of a weapon this can become. Hope you enjoy it and as always, I welcome comments.

  Without further ado, here is my study for the Rosentreter gambit Testa variation in the King's gambit accepted:

 

and has 0 comments

  I caught myself thinking again about the algorithms behind chess thinking, both human and computer. Why is it so hard for people to play chess well? Why is it so easy for computers to come up with winning solutions? Why are they playing so weird? What is the real difference between computer and human thinking? And I know the knee-jerk reaction is to say "well, computers are fast and calculate all possibilities, humans do not". But it's not that simple.

  You see, for a while, the only chess engine logic was min-max. A computer would have a function determining the value of the current board position, then using that function, determine what the best move would be by exploring the tree of possibilities, alternating between what a player would most likely do and what the reply would most likely be. Always trying to maximize their value and minimize the opponent's. The value function was determined from principles derived by human masters of the game, though, stuff like develop first, castle, control the center, relative piece value, etc. The move space also increases exponentially, so no matter how fast the computer is, it cannot go through all possibilities. This is where pruning comes in, a method of abandoning low value tree branches early. But how would the computer determine if a branch should be abandoned? Based on a mechanism that also takes into account the value function.

  Now humans, they are slow. They need to compress the move space to something manageable, so they only consider a bunch of moves. The "pruning" is most important for a human, but most of it happens unconsciously, after a long time playing the game and determining a heuristic method of dismissing options early. This is why computer engines do not play like humans at all. Having less pruning and more exploring, they come with solutions that imply advantage gains after 20+ moves, they don't fall into traps, because they can see almost every move ahead for three, four or more moves, they are frustrating because they limit the options of the human player to the slow, boring, grinding pathways.

  But now a new option is available, chess engines like Alpha Zero and Leela, which use advances in neural network technology to play chess without any input from the humans. They play with themselves millions of games until they understand what the best move is in a position. Unsurprisingly, as neural networks are what we have in our brain, these engines play "more human" but also come up with play strategies that amazed chess masters everywhere. Unencumbered by education that fixed piece value or limited by rigid principles like control the center, they revolutionized the way chess is being played. They also gave us a glimpse into the working of the human brain when playing chess.

  In conclusion, min-max chess engines are computer abstractions of rigid chess master thinking, while neural network chess engines are abstractions of creative human thinking. Yet the issue of compressing the move space remains a problem for all systems. In fact, what the neural network engines did was just reengineer the value functions for board evaluation and pruning. Once you take those and plug them into a min-max engine, it wins! That's why Stockfish is still the best engine right now, beaten by Alpha Zero only in very short move time play modes. The best of both worlds: creative thinking (exploration) leading to the best method of evaluating a chess position (exploitation).

  I've reached the moment when I can make the point that made me write this post. Because we have these two computer methods of analyzing the game of chess, now we can compare the two, see what they mean.

  A min-max will say "the value of a move is what I will win after playing the best possible moves of them all (excluding what I consider stupid) and my opponent will play their best possible moves". It leads to something apparently very objective, but it is not! It is the value of a specific path in the future, one that is strongly tied to the technology of the engine and the resources of the computer running it. In fact, that value has no meaning when the opponent is not a computer engine or it is a different one! It is the abstraction of rigid principles.

  A neural network will say "based on the millions of games that I played, the value of a move is what my statistical engine tells me, given the current position". This is, to me, a lot more objective. It is a statistical measure, constructed from games played by itself with itself, at various levels of competence. Instead of a specific path, it encompasses an average, a prescient but blurred future where many paths are collapsed into a value. It is the abstraction of keeping one's mind open to surprises, thus a much more objective view, yet less accurate.

  Of course, a modern computer chess engine combines the two methods, as they should. There is no way for a computer to learn while playing a game, training takes a lot of time and resources. There are also ways of directing the training, something that I find very exciting, but given the computational needs required, I guess I will not see it very often. Imagine a computer trained to play spectacular games, not just win! Or train specific algorithms on existing players - a thing that has become a reality, although not mainstream.

  The reason why I wrote this post is that I think there are still many opportunities to refine the view of a specific move. It would be interesting to see not a numerical value for a move, but a chart, indicating the various techniques used to determine value: winning chances, adherence to a specific plan, entertainment value, gambit chances, positional vs tactical, how the value changes based on various opponent strengths, etc. I would like to see that very much, to be able to choose not only the strength of a move from the candidate moves, but also the style.

  But what about humans? Humans have to do the same thing as chess engines: adapt! They have to extract principles from the new playing style of neural network engines and update the static, simplistic, rigid ones they learned in school. This is not simple. In fact, I would say this is the most complex issue in machine learning today: once the machine determined a course of action, how does one understand - in human terms - what the logic for it was.

  I can't wait to see what the future brings.

and has 0 comments

  Gonna try something different today, by sharing the analysis of someone else, which I can only assume is way much better than me at this. This is the Mengarini variation of the Sicilian, where a3 is the reply to Black's c5. Similar to a wing gambit, it serves the same purpose: to deflect Black's development towards a side pawn sacrifice in order to gain the center immediately.

  A very natural continuation is Nc6 b4 cxb4 axb4 Nxb4 c3 Nc6 d4, after which almost every White piece is ready to attack, the king is temporarily safe and Black has only developed a knight which has moved three times.

  From what I can tell, Ariel Mengarini was an Italian from Rome who emigrated in the US and became a psychiatrist. He was also pretty good at chess, having started at 6.

Here is the embed of JayBayC's analysis on LiChess:

Also, let's see a PGN directly on the blog, from an amateur game, just to see how fast things can go wrong for Black: 1. e4 { [%eval 0.33] [%clk 0:05:00] } 1... c5 { [%eval 0.32] [%clk 0:05:00] } 2. a3 { [%eval -0.08] [%clk 0:05:01] } { B20 Sicilian Defense: Mengarini Variation } 2... Nc6 { [%eval -0.09] [%clk 0:04:59] } 3. b4 { [%eval -0.55] [%clk 0:05:04] } 3... cxb4 { [%eval -0.13] [%clk 0:05:00] } 4. axb4 { [%eval 0.0] [%clk 0:05:07] } 4... Nxb4 { [%eval -0.36] [%clk 0:05:02] } 5. c3 { [%eval -0.12] [%clk 0:05:09] } 5... Nc6 { [%eval 0.0] [%clk 0:05:04] } 6. d4 { [%eval -0.18] [%clk 0:05:12] } 6... d5 { [%eval 0.0] [%clk 0:05:06] } 7. exd5 { [%eval 0.0] [%clk 0:05:15] } 7... Qxd5 { [%eval 0.13] [%clk 0:05:07] } 8. Na3 { [%eval 0.14] [%clk 0:05:18] } 8... e5?? { (0.14 → 1.71) Blunder. Qa5 was best. } { [%eval 1.71] [%clk 0:05:03] } (8... Qa5 9. Nf3 e6 10. Bb5 Nf6 11. O-O Be7 12. Bxc6+ bxc6 13. c4 O-O 14. Re1 Qc7 15. c5) 9. Nb5 { [%eval 1.79] [%clk 0:05:20] } 9... Qd8?! { (1.79 → 2.76) Inaccuracy. Kd8 was best. } { [%eval 2.76] [%clk 0:05:01] } (9... Kd8 10. Bg5+ Be7 11. dxe5 Qxd1+ 12. Rxd1+ Bd7 13. Nf3 Bxg5 14. Nxg5 Nxe5 15. f4 h6 16. Ne4) 10. d5 { [%eval 3.32] [%clk 0:05:22] } 10... Na5?? { (3.32 → 7.92) Blunder. Nf6 was best. } { [%eval 7.92] [%clk 0:04:33] } (10... Nf6 11. Be2 Bf5 12. dxc6 bxc6 13. Qxd8+ Kxd8 14. Na3 Ne4 15. Bd3 Bc5 16. Be3 Bxe3 17. fxe3) 11. Qa4?! { (7.92 → 5.67) Inaccuracy. d6 was best. } { [%eval 5.67] [%clk 0:05:10] } (11. d6 Kd7 12. Nf3 Nc6 13. Ng5 Qf6 14. Bc4 Nh6 15. O-O a6 16. Ne4 Qg6 17. Qd5 Rb8) 11... b6?! { (5.67 → 10.14) Inaccuracy. Bd7 was best. } { [%eval 10.14] [%clk 0:04:29] } (11... Bd7 12. Qxa5) 12. Nc7+ { [%eval 10.12] [%clk 0:04:53] } 12... Ke7 { [%eval 8.36] [%clk 0:04:29] } 13. Ba3+ { [%eval 9.74] [%clk 0:04:55] } { Black resigns. } 1-0

Hope it helps!

P.S. Here is my own (and first) study on LiChess, based on human games and computer analysis: Sicilian Defense: Mengarini variation