Using the Lichess Database containing every live Lichess game ever played, we created a website to visualize chess openings. Each move on the graph is colored by the average Lichess rating of a player who makes it, you can use the graph to visualize several games at once and find transpositions between games. Transpositions are particularly interesting on a graph as they can be hard to spot otherwise.
You can see data from players similar to you by filtering the graph by Elo or time control. If you are interested in really high rated games you can swap the database and see tournament games with >2000 Elo from the Kingbase dataset, or to go even higher you can view a dataset from chess engines playing each other. It can be surprising how different the graph looks in tournament games compared to even high rated Lichess games, to swap or filter the dataset click the graph button at the top of the screen.
If you want to see the opening from a specific game on the graph you can use the "Trace Game" feature, then you can paste a PGN in, or if you are a Lichess player you can grab games from your Lichess account. To find a position you are interested in you can click search and enter it into a chessboard.
When I first looked at the website, I thought that it looked like a nice student assignment or a weekend project. But seeing that you are already attempting to monetize this website and that you are treating this somewhat seriously, I have to tell you that your software is lightyears behind the chess opening modules of professional chess software such as ChessBase 15 or Chess Assistant 12.
I can't speak to Chess Assistant, but as a longtime Chessbase owner/user, it lets you:
* Search any database (proprietary or freely downloaded) for games matching positions (partial position matches too)
* Quiz yourself on openings; e.g. the actual memorization of the move orders, which I don't believe ChessRoots is showing
* Generate endless tactics problems to drill on
* Generate annotations for games; e.g. branching moves, variations, text comments etc.
* Graphical markup of positions, to show tactics like pins, skewers, forks, etc.
* ChessBase gives you a perpetual license. You can upgrade if you think new versions are worth it (they usually aren't). I happily used ChessBase 9 for several years before upgrading to 14.
It's really not a fair comparison. If ChessBase is Photoshop, ChessRoots as it is now is just a simple painting tool. This isn't to say that ChessRoots can't be something worth the price down the road, but for now this is not a great comparison.
Chess.com is also something that I've happily paid for for many years. For $99 a year, you get unlimited tactics training, engine analysis (with Stockfish), and a full license to what used to be called Chess Mentor, in addition to opening specific training.
That is not a favourable comparison for this website.
For those who are looking for chess opening preparation software for free, I recommend just using lichess.org. Considering that lichess is ad-free and run by volunteers only, it is amazing how much it offers (although it's not enough for chess professionals).
Lichess is for professionals. Plenty of GMs ims and masters play on it. Even Magnus plays the tournaments. This is like saying Linux is not enough for computer professionals.
Oooh, this would be really useful for debugging minmax and other search algorithms if you can increase it to encompass the whole game. Congrats on shipping! What stack are you using?
The UI is not very clear. It's not obvious that you must doubleclick a node to expand it. Also, the options in the first move is to wide and it doesn't enter in the screen.
How is this different than a standard opening database? Chessgames.com has had this for probably at least 10 years-- https://www.chessgames.com/perl/explorer as do a bunch of other sites and software packages.
It's a toy compared to serious chess database software.
It looks like it only goes about 6 moves deep and often only considers the most popular moves. For example, after 1.e4 c5 2.Nf3 d6 3.d4 cxd4 4.Nxd4 Nf6 5.Nc3 a6 6.Be3, reaching one of the most popular positions in all chess, it only continues with 6...e5. Chessbase mobile shows 42k games for 6...e5 and 25k for 6...e6, as well as 17 other options, at least 3 of which are theoretically important. It also shows their statistical score and some stats about the strength of the players who chose each move. A couple of taps away are the full games and a computer analysis on my phone: on the desktop app I'd also have crowdsourced evaluations with up to three different engines at depths my phone would take all day to reach.
I see the warning to try it on tablet or desktop for the best experience, and maybe I'm missing some features I need to see later. But for now I don't think this even offers a cool visualization. I'd be interested to see a competitor here, but the state of the art (lichess, Chessbase, chessgames, chess24, Scid) is around 10 years ahead of this.
My heart tells me that the vast majority of serious chess players are kind and genuine people (eg Jerry from ChessNetwork), but the amount of rank snobbery i actually observe severely limits my interest in learning more about the game.
There are a few ways I find the graph representation of openings to be interesting:
You can naturally view transpositions in a way that can be tricky with other opening explorers.
I find coloring moves by player rating to be very helpful for spotting obscure moves better players make (Black-White win rate can be less helpful as good players play each other so win rates don't change much).
I also just find it more fun to look at a graph than a standard opening explorer, so find myself exploring openings I otherwise would not have looked at.
Think this dataset is heavily favored towards fast time controls, which gives the great lead on e4 over d4, as opposed to 365chess https://www.365chess.com/opening.php
This looks very interesting on first try, I'll take more of a look when I'm on a decent screen.
Can you at the moment, or would it be possible to show a position score calculation at each point? Obviously that is going to be time intensive if the scores are not already available in your source data, but it might be a useful addition as an option at any point. Explanatory comments also - where available - would be nice.
Thanks for the feedback. I like the idea of adding position evaluations. Perhaps we could do this with a precomputed pass over the dataset, or possibly do a shallow analysis in the browser using a js port of stockfish, though this is probably not the best option.
It is not at all apparent that you have to purchase a subscription in order to see additional branches or go deeper.
Instead of a "+ 21 Supporter Links" button that can not be clicked, how about a "Subscribe to see 21 other branches!" with a link to your Support Us page.
You're very likely correct. The Lichess dataset that we have used contains almost all live games played on the site. As fast time controls seem to be more popular on Lichess generally, and take less time to play, we do see a lot more of these in the data. If you'd like to filter the dataset to different time controls or skill levels, you can click the graph button at the top of the page, then click dataset from the drop-down.
The fried liver was the first opening I ever studied while learning chess as a 8 year old. I had so much fun with it until someone pulled out 5... Na5 on me. Then I cried.
Oh, I had not thought to look in the settings for the opening explorer until today. I knew it had the database of master's games, but didn't know you could explore games played on lichess and filter by rating. Learn something new all the time.
Our website is designed to be a more general viewer for these interesting chess datasets, although our main database is the Lichess one because of its size, we do also have other datasets from tournament games, and from chess engines playing against each other. We are not directly associated with Lichess.
Far from it. You'll need to know, at a mininum, some Javascript and a database technology such as SQL. But it's good to start with being able to make a web page in HTML and figure out how to add new small features one at a time, learning new technologies as they come up.
You can see data from players similar to you by filtering the graph by Elo or time control. If you are interested in really high rated games you can swap the database and see tournament games with >2000 Elo from the Kingbase dataset, or to go even higher you can view a dataset from chess engines playing each other. It can be surprising how different the graph looks in tournament games compared to even high rated Lichess games, to swap or filter the dataset click the graph button at the top of the screen.
If you want to see the opening from a specific game on the graph you can use the "Trace Game" feature, then you can paste a PGN in, or if you are a Lichess player you can grab games from your Lichess account. To find a position you are interested in you can click search and enter it into a chessboard.