Chest for Linux

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

User avatar
Look
Posts: 364
Joined: Thu Jun 05, 2014 2:14 pm
Location: Iran
Full name: Mehdi Amini

Re: Chest for Linux

Post by Look »

hgm wrote: Tue Sep 17, 2019 12:04 pm I am not sure what all this means. You choose to play a color. So who plays the other color? And when? And what? If the other color would never move, you would not be able to progress very far from the initial position...
[...]

Let's begin from here. In "replay training" user loads a game from a database. Then move by move he/she tries to predict a move for one side; white or black. This will teach user how his/her role model player thinks in various positions.
Farewell.
User avatar
hgm
Posts: 27788
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Chest for Linux

Post by hgm »

This sounds like XBoard training mode. You load a game, select 'Training' in the Mode menu. From then on you can play a move. If it is not the one of the game you get a pop-up saying 'Incorrect move', and the entered move is ignored/taken back. If it is the move of the game, the move is accepted, the move of the opponent is played automatically, and you can start guessing the next move.
User avatar
Look
Posts: 364
Joined: Thu Jun 05, 2014 2:14 pm
Location: Iran
Full name: Mehdi Amini

Re: Chest for Linux

Post by Look »

hgm wrote: Wed Sep 18, 2019 5:03 pm This sounds like XBoard training mode. You load a game, select 'Training' in the Mode menu. From then on you can play a move. If it is not the one of the game you get a pop-up saying 'Incorrect move', and the entered move is ignored/taken back. If it is the move of the game, the move is accepted, the move of the opponent is played automatically, and you can start guessing the next move.
This is very primitive. What if users move is same or better than the played move ? One can implement what I said that exist in ChessBase and my more suggestions in this thread. I think that is the way to develop XBoard.
Farewell.
User avatar
MikeB
Posts: 4889
Joined: Thu Mar 09, 2006 6:34 am
Location: Pen Argyl, Pennsylvania

Re: Chest for Linux

Post by MikeB »

Look wrote: Wed Sep 18, 2019 5:36 pm
hgm wrote: Wed Sep 18, 2019 5:03 pm This sounds like XBoard training mode. You load a game, select 'Training' in the Mode menu. From then on you can play a move. If it is not the one of the game you get a pop-up saying 'Incorrect move', and the entered move is ignored/taken back. If it is the move of the game, the move is accepted, the move of the opponent is played automatically, and you can start guessing the next move.
This is very primitive. What if users move is same or better than the played move ? One can implement what I said that exist in ChessBase and my more suggestions in this thread. I think that is the way to develop XBoard.
Yes you can, feel free, it's open source.
Image
User avatar
hgm
Posts: 27788
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Chest for Linux

Post by hgm »

Look wrote: Wed Sep 18, 2019 5:36 pmThis is very primitive. What if users move is same or better than the played move ? One can implement what I said that exist in ChessBase and my more suggestions in this thread. I think that is the way to develop XBoard.
Indeed, this is very basic (as well as very old and never further developed). So far you have not described anything that ChessBase would do differently, though.

A GUI would not know if the played move would be better; you would need an engine for that. But if you trust the judgement of an engine, why would you even need to start with a game? You could just play with & against the engine. E.g. the engine could say for every sub-optimal move of the opponent: "I would have played ...", in a simple human-engine game. (I actually know an engine that does that!)

What do you expect to happen when the move is better? If it would be accepted, you would have left the loaded game...
User avatar
Look
Posts: 364
Joined: Thu Jun 05, 2014 2:14 pm
Location: Iran
Full name: Mehdi Amini

Re: Chest for Linux

Post by Look »

hgm wrote: Wed Sep 18, 2019 7:06 pm
Look wrote: Wed Sep 18, 2019 5:36 pmThis is very primitive. What if users move is same or better than the played move ? One can implement what I said that exist in ChessBase and my more suggestions in this thread. I think that is the way to develop XBoard.
Indeed, this is very basic (as well as very old and never further developed). So far you have not described anything that ChessBase would do differently, though.
Now that you understood what "replay training" is , see my previous post in the thread.
A GUI would not know if the played move would be better; you would need an engine for that. But if you trust the judgement of an engine, why would you even need to start with a game? You could just play with & against the engine. E.g. the engine could say for every sub-optimal move of the opponent: "I would have played ...", in a simple human-engine game. (I actually know an engine that does that!)
User should actually follow the loaded game from database. In each move user guesses the next move from one side. The guessed move will be recorded and then user follows game move. After the game is finished , it is time for engine analysis. Maybe for all user moves.
What do you expect to happen when the move is better? If it would be accepted, you would have left the loaded game...
If I find a move better than my role model , I would be happy.
Farewell.
User avatar
hgm
Posts: 27788
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Chest for Linux

Post by hgm »

But how would you know? The engine analysis you do at the end evaluates both the positions of the loaded game, as well as any recorded deviations you entered, and displays them side by side?

A first step towards what you describe would be not to merely display the popup "incorrect move" in XBoard's Training mode, but add the move (as 'recursive variation') to the loaded game. That should be pretty easy: XBoard stored recursive variations together with other types of comment as one text string per game move. In this case the variation part would just consist of the move in SAN form, surrounded by parentheses. Having the existing routines CoordsToAlgebraic() and AppendComment() act on the entered move at the point that summons the popup would do that.

The second step would be to implement something very similar to the handling routine of the Analize Game menu item, which does not only step through the main line of the game, but also follows up all variations recorded in it.

I am just not sure what is expected in the form of result diplay. XBoard´s current Analyze Game function just adds the score-depth info as comments to the move.
User avatar
Look
Posts: 364
Joined: Thu Jun 05, 2014 2:14 pm
Location: Iran
Full name: Mehdi Amini

Re: Chest for Linux

Post by Look »

hgm wrote: Thu Sep 19, 2019 11:48 pm But how would you know? The engine analysis you do at the end evaluates both the positions of the loaded game, as well as any recorded deviations you entered, and displays them side by side?

A first step towards what you describe would be not to merely display the popup "incorrect move" in XBoard's Training mode, but add the move (as 'recursive variation') to the loaded game. That should be pretty easy: XBoard stored recursive variations together with other types of comment as one text string per game move. In this case the variation part would just consist of the move in SAN form, surrounded by parentheses. Having the existing routines CoordsToAlgebraic() and AppendComment() act on the entered move at the point that summons the popup would do that.

The second step would be to implement something very similar to the handling routine of the Analize Game menu item, which does not only step through the main line of the game, but also follows up all variations recorded in it.

I am just not sure what is expected in the form of result diplay. XBoard´s current Analyze Game function just adds the score-depth info as comments to the move.
Let me give you an example. After replaying many classical games, This is the game I followed:

[pgn][Event "Gashimov Memorial 2nd"] [Site "Shamkir"] [Date "2015.04.18"] [Round "2"] [White "Carlsen, Magnus"] [Black "Mamedyarov, Shakhriyar"] [Result "1-0"] [ECO "D94"] [WhiteElo "2863"] [BlackElo "2756"] [PlyCount "57"] [EventDate "2015.04.17"] [EventType "tourn"] [EventRounds "9"] [EventCountry "AZE"] [EventCategory "21"] [SourceTitle "CBM 166"] [Source "ChessBase"] [SourceDate "2015.05.11"] [SourceVersion "1"] [SourceVersionDate "2015.05.11"] [SourceQuality "1"] 1. d4 d5 2. c4 c6 3. Nf3 Nf6 4. e3 g6 5. Nc3 Bg7 6. Be2 O-O 7. O-O b6 8. a4 a5 9. cxd5 cxd5 10. b3 Ne4 11. Nxe4 dxe4 12. Nd2 Bb7 13. Ba3 f5 14. Rc1 Kh8 15. Nc4 Nd7 16. d5 Rc8 17. d6 e6 18. b4 axb4 19. Bxb4 Bd5 20. a5 bxa5 21. Bxa5 Qe8 22. Qa4 Bc6 23. Qb4 Rb8 24. Nb6 Ne5 25. Qc5 Ba8 26. Bc3 Nd7 27. Bxg7+ Kxg7 28. Nxd7 Qxd7 29. Qe5+ 1-0 [/pgn]

Now after my "replay training" :

[pgn] [Event "Gashimov Memorial 2nd"] [Site "Shamkir"] [Date "2015.04.18"] [Round "2"] [White "Carlsen, Magnus"] [Black "Mamedyarov, Shakhriyar"] [Result "1-0"] [ECO "D94"] [WhiteElo "2863"] [BlackElo "2756"] [Annotator "Krasenkow,M"] [PlyCount "57"] [EventDate "2015.04.17"] [EventType "tourn"] [EventRounds "9"] [EventCountry "AZE"] [EventCategory "21"] [SourceTitle "CBM 166"] [Source "ChessBase"] [SourceDate "2015.05.11"] [SourceVersion "1"] [SourceVersionDate "2015.05.11"] [SourceQuality "1"] 1. d4 d5 2. c4 c6 3. Nf3 Nf6 4. e3 g6 5. Nc3 Bg7 6. Be2 (6. Bd3) 6... O-O 7. O-O b6 8. a4 (8. cxd5) 8... a5 9. cxd5 (9. b3) 9... cxd5 10. b3 (10. Nb5) 10... Ne4 11. Nxe4 (11. Bb2) 11... dxe4 12. Nd2 Bb7 13. Ba3 (13. Bb2) 13... f5 14. Rc1 (14. Bc4+) 14... Kh8 15. Nc4 (15. Qc2) 15... Nd7 16. d5 (16. f4) 16... Rc8 17. d6 (17. Bb2) 17... e6 18. b4 (18. Qd2) 18... axb4 19. Bxb4 Bd5 20. a5 (20. Qd2) 20... bxa5 21. Bxa5 Qe8 22. Qa4 (22. Bc7) 22... Bc6 23. Qb4 (23. Qa2) 23... Rb8 24. Nb6 (24. Qd2) 24... Ne5 25. Qc5 (25. Rfd1) 25... Ba8 26. Bc3 (26. Bb5) 26... Nd7 27. Bxg7+ Kxg7 28. Nxd7 Qxd7 29. Qe5+ 1-0 [/pgn]

The single move variations are my moves that differ from Magnus Carlsen moves. If both are the same , no variation is given.
Farewell.
User avatar
hgm
Posts: 27788
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Chest for Linux

Post by hgm »

OK, this is what I referred to as the 'first step'. I wonder if this should not be made standard behavior of XBoard's Training Mode. There seems not much harm in always adding the variations to the loaded game, as you can always refrain from saving that game when you don't want them.
User avatar
Look
Posts: 364
Joined: Thu Jun 05, 2014 2:14 pm
Location: Iran
Full name: Mehdi Amini

Re: Chest for Linux

Post by Look »

hgm wrote: Fri Sep 20, 2019 12:54 pm OK, this is what I referred to as the 'first step'. I wonder if this should not be made standard behavior of XBoard's Training Mode. There seems not much harm in always adding the variations to the loaded game, as you can always refrain from saving that game when you don't want them.
First of all , I selected that game because I played less blunders in it.

Then , I save all of my replay games in a special pgn database . For the moment I just blunder check my replayed games. But later on , I may do a longer analysis session on a game. Based on my mistakes now known , I do exercises to fix them.
Farewell.