lichess-org / lila

♞ lichess.org: the forever free, adless and open source chess server ♞
https://lichess.org
GNU Affero General Public License v3.0
14.97k stars 2.22k forks source link

[Feature] Opening Trainer #8118

Open pnodet opened 3 years ago

pnodet commented 3 years ago

Hi !

A few days ago I stumbled on this open-source opening trainer: studyopenings.com The source code is hosted on GitHub: github.com/jven/studyopenings

This tool as some flaws but I believe the idea is great! The goal is to help people memorizing their openings.

The studies on Lichess are an incredible tool and we can see that many of them are dedicated to opening theory. So I feel like an opening trainer would be a nice feature that people would use.

It can be useful for beginners focused on one opening with only the main lines or intermediate players with a few more variations, etc.

How I think (imho) it should work:

Build one repertoire:

Study your repertoire:

EDIT:

pedro-pedrosa commented 3 years ago

I'd reply in the forum thread but it looks like it has been archived?

anyway, I like this idea, and to some extent this can be achieved through studies using interactive lessons, although obviously it's not very user friendly for this purpose, ie you'd have to create a chapter for each variation and you would have to click a different chapter to get the next line to practice.

I think if we want to make this feature a reality we could try to extract smaller, more reusable features from it and slowly implement them until we can use interactive lesson studies for this purpose.

example set of features:

the above alone would be amazing not only for this feature but for other uses as well like endgames or middlegame theory

YodaEmbedding commented 3 years ago

Other useful things:

pnodet commented 3 years ago

I'd reply in the forum thread but it looks like it has been archived?

Yes indeed.

I think if we want to make this feature a reality we could try to extract smaller, more reusable features from it and slowly implement them until we can use interactive lesson studies for this purpose.

So would it be better to build the feature one by one and then use some of the to make an opening trainer ?

pedro-pedrosa commented 3 years ago

I think "opening trainer" is a use case, not exactly a feature. you can practice openings using studies + a new set of functionalities that would benefit not only the "opening trainer" use case but also others.

I believe dividing the use case into a set of smaller bite-sized features that appeal a broader audience will increase the chances of it getting implemented.

if you have a look at this other issue I have created (in which I mention this issue) it requests a feature that would make practicing openings a possibility. from there it's just improvements to it, no need to create a special "opening trainer" functionality that works a lot like studies and interactive lessons.

ni784 commented 3 years ago

Simillar to #8582

aimorris commented 3 years ago

From #8582 image

ghost commented 1 year ago

Basically https://www.chessable.com/movetrainer but on lichess

Alix-Martin commented 9 months ago

I think a spaced repetition mechanism is necessary but we can do it different/better than chessable. When using chessable I feel I spend too much time learning moves that are so deep in the tree that it is unlikely to reach them, either because they are unlikely in a game or because I go wrong before. So we should spend time learning the "trunk" moves before the leaves.

Mathematically we should order repertoire moves by probability of occurring in a game times probability of getting them wrong.

And the second term depends on history of attempts on the move and time since last successful attempt.

purefan commented 6 months ago

I just made a new issue related to this topic but more focused on the implementation, please feel free to comment https://github.com/lichess-org/lila/issues/14619