Banksia GUI released

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

Moderators: hgm, Rebel, chrisw

Ras
Posts: 2487
Joined: Tue Aug 30, 2016 8:19 pm
Full name: Rasmus Althoff

Re: Banksia GUI released

Post by Ras »

hgm wrote: Thu May 21, 2020 11:32 amThe 'exit' command will in practice always work when the 'analyze' command works
Ah that's a good point. If an engine fails to announce "analyze=0", then the analysis command would already yield an error. That's even easier to test and store.
The question, however, is: why would you ever want to determine that?
It's also frustrating when you try to do stuff that randomly fails depending on the engine, which is the rule and not the exception with CECP engines specifically.
Much better to leave the item operational, and when the user operates it, and the engine doesn't respond in a reasonable time, throw up a popup that says "this engine seems to be stuck".
Well rather just kill the engine process and restart it, that seems to be a good compromise.
There is no limit to how crappy and non-compliant engines can be. Should the GUI test an engine for every conceivable malfunction when you first register it? I think the time this takes would just annoy the user.
The idea is making that mess of the CECP ecosystem somewhat bearable to the user.
Rasmus Althoff
https://www.ct800.net
User avatar
phhnguyen
Posts: 1434
Joined: Wed Apr 21, 2010 4:58 am
Location: Australia
Full name: Nguyen Hong Pham

Re: Banksia GUI released

Post by phhnguyen »

GONeill wrote: Thu May 21, 2020 2:33 am A couple of questions about analysing games. I've finished my game and have the Main board, Score Graph, Moves, Engine Info windows open. I can click on the moves in Moves to jump to a certain point in the game, but how can I:

1. Configure the colours of the Score Graph so that the score at the current move is highlighted? At the moment all points and lines are blue, but it would be good if the score of the highlighted move/position was red.

2. How can I get the loaded engine(s) to anaylse the current position? In Arena I can jump to a move by clicking in either Moves or Score Graph and then click "Analyse". Whatever engines are currently loaded will then start processing, showing their favoured moves with arrows on the Main board. I can then click through the played moves and the anaysis will be updated for each new position. It's a good way to see in real time where the moves diverged from the engines analysis and means I can leave it thinking longer on some moves than others. I know there is the Analyse Game option but that seems more geared to anaylsing a set of moves in batch mode.

Arena screen:
Image

Thanks!
Thank you very much for your suggestions. I will implement them soon.
https://banksiagui.com
The most features chess GUI, based on opensource Banksia - the chess tournament manager
User avatar
hgm
Posts: 27789
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Banksia GUI released

Post by hgm »

Ras wrote: Thu May 21, 2020 2:37 pmAh that's a good point. If an engine fails to announce "analyze=0", then the analysis command would already yield an error. That's even easier to test and store.
That is how WinBoard does it. But only if the engine responds with the compliant error message (or in fact any message that contains the word 'analyze'). I think it would be overly paranoic to assume bay default that engines do not only lie about supporting 'analyze', but also would be non-compliant w.r.t. error messages.
It's also frustrating when you try to do stuff that randomly fails depending on the engine, which is the rule and not the exception with CECP engines specifically.
It is frustrating when the engine would not allow you to do what you want. But what you propose doesn't change that. At some point the engine will think long about a trivial move, and an impatient user will try to force it to move. When 'Move Now' is greyed out, he will be frustrated. When it is not, and he hits it, and nothing happens, he will be frustrated. So he will always be frustrated. Difference is that in case 1 he will blame the GUI, while in case 2 he will blame the engine.
Well rather just kill the engine process and restart it, that seems to be a good compromise.
No, that would be very bad. Killing the engine is a heavy measure, which should not be undertaken without explicit user approval. The user asked for 'Move Now', and killing the engine will not accomplish that. A restarted engine would have to redo all the thinking, and likely take just as long as the previous one, so the excessively long time it already had been thinking that made the user so impatient that he felt the need to intervene will have been wasted, and will now have to be suffered again, as the "?" command will not become magically implemented by restarting the engine. So this is a disastrously bad 'solutution'. The thing most closely to what the user wanted is let the engine complete its thinking; there is no way he could get a move from thi engine any faster than that.
The idea is making that mess of the CECP ecosystem somewhat bearable to the user.
Well, I would not be surprised if that mess mainly existed in your imagination. Do you have actual examples of serious CECP engines that misbehave? That sub-1000-Elo engines are crappy in every respect should of course not surprise anyone. And that most engines do not implement Move Now should just be common knowledge; the CECP specs define it as an optional command. That doesn't make it an "unbearable mess" anymore than the fact that some UCI engines support UCI_Chess960 and others don't makes UCI an unbearable mess.
User avatar
phhnguyen
Posts: 1434
Joined: Wed Apr 21, 2010 4:58 am
Location: Australia
Full name: Nguyen Hong Pham

Re: Banksia GUI released

Post by phhnguyen »

hgm wrote: Thu May 21, 2020 11:02 am Just connecting people and relaying messages between them is not a CPU-intensive task at all. But you do want a very reliable internet connection. I just rent a minimal Virtual Private System in a data center. This only costs me 4.83 Euro/month, plus another 7.50 Euro/year for registering the domain name (winboard.nl). And with a VPS you have absolute control over the software; I run an old Ubuntu Linux on it, with ltpd as HTML server, and run an ICS there.

I have also written some other servers for dedicated tasks, such as a very general turn-based server for games (used amongst others by the Jocly interface on my main website), and a chess-diagram-rendering engine:

Image

One of the things I had there was a general 'relay server', which could be used for people that really wanted to do peer-to-peer networking (e.g. connecting two WinBoard instances to play against each other). The problem with p2p is that one of the two peers has to 'play server', and would have to open ports in all kinds of firewalls (computer, router, modem...), which is way beyond the capability of the average user. But client connections can always be made without reconfiguring your networking software. So the relay server allows clients to connect through TCP/IP to some server port, and give a password. As long as they stay connected it remembers this password. If a second connection is made using the same password, the passwords are forgotten, and from then on anything that comes in through one is sent tout on the other. Like the peers would be directly connected with each other through TCP/IP. If one of the connections closes, the other one is closed too.
Thanks a lot for the suggestion!

I have a similar server and it is used for website and for testing broadcasting games. However, I have estimated that it is not enough for having more tasks such as playing and when the number of concurrent users becomes higher, say few tens of them.
https://banksiagui.com
The most features chess GUI, based on opensource Banksia - the chess tournament manager
Jonathan003
Posts: 239
Joined: Fri Jul 06, 2018 4:23 pm
Full name: Jonathan Cremers

Re: Banksia GUI released

Post by Jonathan003 »

I have tried the new book conversion option. There are no opening lines in the pgn file after converting a bin book to pgn, only positions. I have heard from experienced programmers that it is technicality unpossible to convert a bin book to pgn to see the opening lines. I'm not a programmer but I can not believe it is technical impossible. Probably it is technically difficult.
If it is really unpossible than maybe it is better to change the format of books. So you can easily convert books to pgn. The ideal book format would be a combination of the book making function of Chessmaster 9000, polyglot, and Chessbase for the unplayed transpositions to be included. I think chess programmers should strive for university. So that books can be used in any chess GUI and can easily be converted to pgn to make repertoires for over the board games.
User avatar
phhnguyen
Posts: 1434
Joined: Wed Apr 21, 2010 4:58 am
Location: Australia
Full name: Nguyen Hong Pham

Re: Banksia GUI released

Post by phhnguyen »

Jonathan003 wrote: Fri May 22, 2020 4:04 am I have tried the new book conversion option. There are no opening lines in the pgn file after converting a bin book to pgn, only positions.
Thanks a lot for the report! The bug has been fixed for the next release.
Jonathan003 wrote: Fri May 22, 2020 4:04 am I have heard from experienced programmers that it is technicality unpossible to convert a bin book to pgn to see the opening lines. I'm not a programmer but I can not believe it is technical impossible. Probably it is technically difficult.
Actually, converting from Polyglot or any binary books to PGN is possible and easy :)
Please help us to verify/feedback this function from the next release.
Jonathan003 wrote: Fri May 22, 2020 4:04 am If it is really unpossible than maybe it is better to change the format of books. So you can easily convert books to pgn. The ideal book format would be a combination of the book making function of Chessmaster 9000, polyglot, and Chessbase for the unplayed transpositions to be included. I think chess programmers should strive for university. So that books can be used in any chess GUI and can easily be converted to pgn to make repertoires for over the board games.
Theory, if you can read/understand any data, you can convert it into what you want, especially true when the new one requires the same or less info than the original one. Simple logic, isn't it? :D

However, you should know some main disadvantages of PGN books vs Polyglot ones:
- much larger on sizes
- slower to process (text files are always slow)
- missing some important data such as scores/weights of moves: scores of moves are one of the most important factors for opening books since they help to know which moves are better to make. Of course, I can insert those scores into moves as comments but that is not a standard and there are some limits to process them
https://banksiagui.com
The most features chess GUI, based on opensource Banksia - the chess tournament manager
zenpawn
Posts: 349
Joined: Sat Aug 06, 2016 8:31 pm
Location: United States

Re: Banksia GUI released

Post by zenpawn »

Just started using the lichess bots feature. Unfortunately, 2 out of 3 games have apparently disconnected right out of the opening. The board would show 1-0 for my opponent, but if I checked via a web browser, the game was still going on, with my engine's clock running until it lost on time.
Erin Dame
Author of RookieMonster
zenpawn
Posts: 349
Joined: Sat Aug 06, 2016 8:31 pm
Location: United States

Re: Banksia GUI released

Post by zenpawn »

zenpawn wrote: Sat May 23, 2020 6:35 pm Just started using the lichess bots feature. Unfortunately, 2 out of 3 games have apparently disconnected right out of the opening. The board would show 1-0 for my opponent, but if I checked via a web browser, the game was still going on, with my engine's clock running until it lost on time.
It seems to have something to do with using an opening book. Without it, the instant disconnect doesn't occur.

Also, a question: Is the "min move time" in the lichess bots section an overhead setting? If so, presumably bumping it up from 1s would help avoid actual timeouts? (I did have one of those late in a game played without book.) Thanks.
Erin Dame
Author of RookieMonster
User avatar
phhnguyen
Posts: 1434
Joined: Wed Apr 21, 2010 4:58 am
Location: Australia
Full name: Nguyen Hong Pham

Re: Banksia GUI released

Post by phhnguyen »

zenpawn wrote: Sat May 23, 2020 11:30 pm
zenpawn wrote: Sat May 23, 2020 6:35 pm Just started using the lichess bots feature. Unfortunately, 2 out of 3 games have apparently disconnected right out of the opening. The board would show 1-0 for my opponent, but if I checked via a web browser, the game was still going on, with my engine's clock running until it lost on time.
It seems to have something to do with using an opening book. Without it, the instant disconnect doesn't occur.
Thanks a lot for the report!

I can't reproduce. Please re-try with the new version (today version 0.26) - it fixed a bug about Lichess Bot stopped sending moves when games over too. Send us the log (in BSG configuration folder) if you see the problem happens again.
zenpawn wrote: Sat May 23, 2020 11:30 pm Also, a question: Is the "min move time" in the lichess bots section an overhead setting? If so, presumably bumping it up from 1s would help avoid actual timeouts? (I did have one of those late in a game played without book.) Thanks.
It is designed to delay sending the move a bit if BSG/engines make them too fast. However, I have removed it from the next release.
https://banksiagui.com
The most features chess GUI, based on opensource Banksia - the chess tournament manager
User avatar
phhnguyen
Posts: 1434
Joined: Wed Apr 21, 2010 4:58 am
Location: Australia
Full name: Nguyen Hong Pham

Version 0.26 beta released

Post by phhnguyen »

Version 0.26 beta released

* Fixed bugs: LichessBot stopped sending moves when games over, opening book covert function did not work
* Some small improvements/adjustments
* New feature:  German language (translated by Silitho Danuur)
https://banksiagui.com
The most features chess GUI, based on opensource Banksia - the chess tournament manager