GUI x Engine development: please listen to customers!

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

Moderator: Ras

Henk
Posts: 7261
Joined: Mon May 27, 2013 10:31 am

Re: GUI x Engine development: please listen to customers!

Post by Henk »

hgm wrote:There is nothing against keeping yourself active and achieve results at the same time.
I remember I saw an old movie some years ago. It was about a beautiful plant that became so famous that people all over the world wanted to see it.

But the problem was that nobody knew except the owner of course that the plant was an only human flesh eating plant.

First time they fed the plant was by accident. But in the end they had to start killing people to keep the plant in a good state. Also the plant wanted more and more. I remember it talked and said "feed me" all the time when it was getting hungry.

So good results may have severe disadvantages.
Ferdy
Posts: 4853
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: GUI x Engine development: please listen to customers!

Post by Ferdy »

Here is my suggestion to gui developer. On automatic analysis of games, provide 1 or more additional alternative lines if there is. Threat pv can also be added when possible so that the user may see what is the threat of the move.

I have a script to analyze a game in pgn together with an engine, sample.

Image


The analyzed pgn.

[pgn]
[Event "3rd Norway Chess 2015"]
[Site "Stavanger NOR"]
[Date "2015.06.18"]
[Round "3"]
[White "Vachier Lagrave,M"]
[Black "Topalov,V"]
[Result "0-1"]
[Annotator "Stockfish 6 (10.0s/pos)"]

1. d4 Nf6 2. c4 e6 3. Nf3 d5 4. Nc3 c6 5. e3 Nbd7 6. Bd3
dxc4 7. Bxc4 b5 8. Bd3 Bb7 9. O-O a6 10. e4 c5 11. d5 Qc7 12. dxe6
fxe6
13. Bc2 $0 $10 {+0.01/18} ({Better is} 13. Qe2 c4 14. Bc2 Bd6 15. Nd4 Bxh2+ 16. Kh1 $10 {+0.06/17})
({Black is threatening} 13. -- 13... Be7 14. Bg5 O-O 15. Bh4 c4 16. Bc2 Bd6 {-0.56})Bd6
14. Ng5 $0 $10 {-0.03/17} ({Better is} 14. Qe2 c4 15. Re1 Bc5 16. h3 O-O 17. Be3 $10 {+0.00/17})
({Black is threatening} 14. -- 14... O-O 15. Qe2 h6 16. Kh1 b4 17. Na4 Bc6 {-0.79})Nf8 15. f4 O-O-O
16. Qe1 $0 $10 {-0.17/19} ({Better is} 16. Qe2 h6 $10 {+0.07/19})
({Black is threatening} 16. -- 16... h6 17. Nf3 Bxf4 18. Qe2 Kb8 19. Bxf4 Qxf4 {-0.77})
e5 $0 $10 {+0.00/18} ({Better is} 16... h6 17. Nf3 Bxf4 18. e5 Bxc1 19. Rxc1 N6d7 $10 {-0.17/19})
({White is threatening} 16. -- 17. e5 h6 18. exd6 Rxd6 19. Nf3 N8d7 20. b3 {3.41})
17. f5 $0 $15 {-0.28/19} ({Better is} 17. fxe5 Bxe5 18. Nf3 Ne6 19. Nxe5 Qxe5 20. Rf5 $10 {+0.00/18})
({Also playable is} 17. Nf3 Ne6 18. fxe5 Bxe5 19. Nxe5 Qxe5 20. Rf5 $10 {+0.00/18})
({Black is threatening} 17. -- 17... exf4 18. Nd5 Nxd5 19. exd5 Bxd5 20. Bd2 b4 {-1.15})h6
18. Nf3 $0 $10 {-0.12/18} ({Better is} 18. Nh3 c4 19. Nf2 N8d7 20. b3 Bc5 21. Be3 $10 {-0.18/19})
({Black is threatening} 18. -- 18... hxg5 19. Bxg5 c4 20. h3 Bc5+ 21. Kh1 N8d7 {-3.43})
N8d7 $0 $10 {-0.18/18} ({Better is} 18... c4 19. a3 N8d7 20. Be3 Bc5 21. h3 Bxe3+ $10 {-0.12/18})
({White is threatening} 18. -- 19. b3 N8d7 20. Bb2 c4 21. bxc4 Qxc4 22. Kh1 {0.15})
19. Kh1 $0 $15 {-0.35/18} ({Better is} 19. Nd1 c4 20. Nf2 Kb8 21. Be3 Bc5 22. Bxc5 $10 {-0.18/18})
({Also playable is} 19. Bd2 c4 20. Nd1 Qc6 21. Nf2 Nc5 22. Ba5 $15 {-0.32/18})
({Black is threatening} 19. -- 19... c4 20. a3 Nc5 21. Kh1 Rd7 22. Bd2 Kb8 {-0.70})
Rhe8 $0 $10 {-0.12/18} ({Better is} 19... c4 20. Bd2 Kb8 21. Rd1 Rhe8 22. Nb1 Bc5 $15 {-0.35/18})
({Also playable is} 19... Kb8 20. Bd2 c4 21. Rd1 Nc5 22. Nd5 Nxd5 $15 {-0.27/18})
({White is threatening} 19. -- 20. b3 Nb8 {0.03})20. Bd2
Qc6 $0 $10 {-0.13/18} ({Better is} 20... Nb6 21. b3 Qc6 22. Rc1 c4 23. Be3 Kb8 $10 {-0.14/17})
({White is threatening} 20. -- 21. Nd1 Qc6 22. Ba5 Bc7 23. Bxc7 Kxc7 24. Nf2 {0.03})
21. Rd1 $0 $15 {-0.50/18} ({Better is} 21. a3 c4 22. Qg3 Re7 23. Rad1 Nc5 24. Be3 $10 {-0.13/18})
({Black is threatening} 21. -- 21... b4 22. Nd5 Nxd5 23. exd5 Qxd5 24. Bb3 Qe4 {-0.64})Nb6
22. Nd5 $0 $15 {-1.27/19} ({Better is} 22. a3 Bc7 23. Be3 Rxd1 24. Qxd1 Nc4 25. Bc1 $15 {-0.65/17})
({Also playable is} 22. Qg3 b4 23. Nb1 Nxe4 24. Qxg7 Bf8 25. Qg6 $15 {-0.74/17})
({Black is threatening} 22. -- 22... b4 23. Nd5 Nbxd5 24. exd5 Qb5 25. Be3 Bxd5 {-1.13})Nbxd5 23. exd5 $8 Qd7
24. Ba5 $0 $17 {-1.55/20} ({Better is} 24. Nh4 e4 25. Ba5 Bc7 26. d6 Bxa5 27. Qxa5 $15 {-1.36/18})
({Black is threatening} 24. -- 24... e4 25. Ng1 e3 26. Ba5 Bc7 27. Bxc7 Qxc7 {-2.19})e4
25. Ng1 $0 $17 {-1.70/19} ({Better is} 25. Nh4 Bc7 26. Bxc7 Qxc7 27. Ng6 e3 28. Qe2 $17 {-1.52/20})
({Black is threatening} 25. -- 25... exf3 26. Qf2 Re2 27. Qxf3 Rxc2 28. Bxd8 Qxd8 {-7.61})Bc7 26. d6 Bxa5 27. Qxa5 $8 e3
28. Ne2 $2 $19 {-3.54/21} ({Better is} 28. Qe1 Bd5 29. Qe2 Qc6 30. b3 Rxd6 31. Rfe1 $17 {-1.94/20})
({Also playable is} 28. Rfe1 Ng4 29. Nh3 Qc6 30. Qc7+ Qxc7 31. dxc7 $17 {-2.91/20})
({Black is threatening} 28. -- 28... e2 29. Rf2 exd1=N 30. Bxd1 Qxd6 31. Bf3 Bxf3 {-7.69})Qc6 0-1
[/pgn]
kinderchocolate
Posts: 454
Joined: Mon Nov 01, 2010 6:55 am
Full name: Ted Wong

Re: GUI x Engine development: please listen to customers!

Post by kinderchocolate »

Looks cool. Do you have a copy the script for sharing?
Ferdy
Posts: 4853
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: GUI x Engine development: please listen to customers!

Post by Ferdy »

kinderchocolate wrote:Looks cool. Do you have a copy the script for sharing?
Not sharable at the moment, there are still missing features that I need to add. It also needs some refactoring.
User avatar
fern
Posts: 8755
Joined: Sun Feb 26, 2006 4:07 pm

Re: GUI x Engine development: please listen to customers!

Post by fern »

I like it very much......
When you consider it ready let us know...

Fern
User avatar
gbtami
Posts: 389
Joined: Wed Sep 26, 2012 1:29 pm
Location: Hungary

Re: GUI x Engine development: please listen to customers!

Post by gbtami »

I started to implement your ideas in PyChess. I'v seen in Wey Yi game thread that you enhanced your script regarding variation selection/comments. Can you send me it in private, or better push it to GitHub to let GUI developers pick from your ideas, please?
Ferdy
Posts: 4853
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: GUI x Engine development: please listen to customers!

Post by Ferdy »

gbtami wrote:I started to implement your ideas in PyChess. I'v seen in Wey Yi game thread that you enhanced your script regarding variation selection/comments. Can you send me it in private, or better push it to GitHub to let GUI developers pick from your ideas, please?
I tried to randomize the comments, but realized this may not be enough, the comments should be based on the score difference between the player move and the best move suggested by the engine.

I am close to release v1. By that time you and other interested developers will also receive the code. But it is good that you started it.
syzygy
Posts: 6023
Joined: Tue Feb 28, 2012 11:56 pm

Re: GUI x Engine development: please listen to customers!

Post by syzygy »

Ponti wrote:Well, as an amateur chess player I can´t win against most of the top engines, so I use them to analyse positions. Maybe chess masters only think about stronger engines, but us mere mortals don´t. I don´t care anymore if an engine is X times stronger than Fritz, because Fritz is much more stronger than me.

GUI, in my opinion, are not as well developed. There are plenty of features that could be improved... but we still see more and more new engines been developed, although they are weaker then the ones already in the market.

The best GUIs available do not change so much after each version (take for instance C.A., it does not change !). Why that happens ? Do companies listen to their customers or not ? C.B. seems to be also only interested in selling new engines and a few new features in each new version...
Chess engine developers and chess gui developers are two entirely different breeds (with very few exceptions that prove the rule), so there is little point in telling chess engine developers that there is work to be done in chess gui development. You could as well complain that some people are wasting time climbing mountains instead of implementing new chess gui features.

So I agree with HGM: explain what GUI features you'd like to see (instead of complaining that new, weak engines are being developed).
Ferdy
Posts: 4853
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: GUI x Engine development: please listen to customers!

Post by Ferdy »

fern wrote:I like it very much......
When you consider it ready let us know...

Fern
Just wondered if you could give suggestion on comments before a variation.
Two groups of comments 1st is good comment and 2nd is bad comment.

1. For good comments:
Whenever the analysis engine move is better than the player move, a comment followed by variation will be added to the game. Example,

Code: Select all

1.e4 a6
(Better is 2...e5 3.Nf3 Nc6 4.Bb5 a6 ...)
2.d4 b6 ...
This is what I have so far, I just pick them randomly.

Code: Select all

GOOD_COMMENT = {1: 'Better is', 2: 'More accurate is', 3: 'Superior is', 4: 'Best line is'}
But these comments are too serious, perhaps not too serious is

Code: Select all

"What black was doing? he should have played the killer punch" 1...bbb 2.ccc ddd ....
Something funny, or a mixed of serious and funny comments.

2. For bad comments:
When the player move is the same to that of engine, then the tool will look at the 2nd pv of the engine, (by default I run the engine to give me 1st pv and 2nd pv). So when player move is the same with 1st pv move, instead of saying nothing to the user what is going on with the position I let the tool give the 2nd pv, so the user may know the other line of play that may not be good. Not all positions the 2nd pv will be added to the game, if the best move in the position is easy, then the 2nd pv will not be added, but if the position is interesting and the score is within a score threshold (not winning but no losing), then the 2nd pv will be shown to the user. I also let the tool create a puzzle position so that the cpu power and engine analysis time will not be wasted much, so interesting positions are saved together with the best move of the engine for human analysis exercises.

This is my bad comment so far. I randomly pick them when a situation occurs.

Code: Select all

BAD_COMMENT = {1: 'Not good is', 2: 'But not', 3: 'Bad is', 4: 'Inferior is', 5: 'Not reliable is'}
Example.

Code: Select all

1.e4 c5 2.Nf3 d6 3.d4 cxd4
(Not good is 3...a6? 4.cxd6 ...)
4.Nxd4 Nf6 ...
Again that comments could be improved.
LucenaTheLucid
Posts: 197
Joined: Mon Jul 13, 2009 2:16 am

Re: GUI x Engine development: please listen to customers!

Post by LucenaTheLucid »

kinderchocolate wrote:Looks cool. Do you have a copy the script for sharing?
The title of the movie was "The Little Shop of Horrors". There are several different versions of it.