Banksia GUI released

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

Moderator: Ras

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

Re: Banksia GUI released

Post by Ras »

hgm wrote: Wed May 20, 2020 8:44 pmProgress comes from discarding crappy old engines that print crappy mate scores.
It's up to the user to decide, and e.g. engine nostalgy would be a reason. Other GUIs take your idea to the next level and got rid of CECP at all, among them Droidfish, Picochess, and some dedicated units running ARM-Linux.
Rasmus Althoff
https://www.ct800.net
User avatar
hgm
Posts: 28530
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Banksia GUI released

Post by hgm »

Weird mate scores is part of the nostalgy. Hiding the engine idiosyncracies would be a disservice to those users.

And it does make little sense for a GUI to implement a zillion different protocols. Just use adapters.
zenpawn
Posts: 349
Joined: Sat Aug 06, 2016 8:31 pm
Location: United States

Re: Banksia GUI released

Post by zenpawn »

It seems that Banksia does not recognize Winboard engines as being capable of playing chess960.
Erin Dame
Author of RookieMonster
User avatar
Ras
Posts: 2782
Joined: Tue Aug 30, 2016 8:19 pm
Full name: Rasmus Althoff

Re: Banksia GUI released

Post by Ras »

hgm wrote: Wed May 20, 2020 9:08 pmWeird mate scores is part of the nostalgy.
Nostalgy is about keeping only the good parts, not about always finding new pretexts why the GUI should annoy users. The whole CECP ecosystem has had no shortage of user annoyance, and a GUI working around that crap makes it at least somewhat bearable.

Next improvement suggestion:

Another hassle is that many CECP engines don't recognise "?" during search and thus are unsuited for analysis. It totally sucks to have to figure that out for each engine individually as part of the usual "what CECP stuff doesn't work this time" process. So along with working around the mate score problem, I'd suggest that the GUI gives some complicated position for analysis, or fixed movetime of maybe 20 seconds, and then tries to interrupt the search. If the engine doesn't react within one or two seconds, kill it and store that "analysis" should be blocked.
Rasmus Althoff
https://www.ct800.net
User avatar
GONeill
Posts: 87
Joined: Sun Jun 15, 2014 6:40 am
Location: New Zealand
Full name: Graham O'Neill

Re: Banksia GUI released

Post by GONeill »

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!
User avatar
hgm
Posts: 28530
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 1:06 amAnother hassle is that many CECP engines don't recognise "?" during search and thus are unsuited for analysis. It totally sucks to have to figure that out for each engine individually as part of the usual "what CECP stuff doesn't work this time" process. So along with working around the mate score problem, I'd suggest that the GUI gives some complicated position for analysis, or fixed movetime of maybe 20 seconds, and then tries to interrupt the search. If the engine doesn't react within one or two seconds, kill it and store that "analysis" should be blocked.
This is complete nonsense. One does not need the "?" command at all to terminate an analysis search. According to the protocol specs this command is not even allowed during analysis. The only valid way to leave analyze mode is through the 'exit' command. And I don't know any engine that doesn't support 'exit' when it supports 'analyze'. Such an engine would be badly broken in a very obvious way, as when you set it to analyze it would hang forever. A compliant engine that does not support analysis would reply to the 'analyze' command with "Error (unknown command): analyze", and then the GUI could refuse the mode switch, and log the engine as not having analysis support. This is indeed what WinBoard does. Engines could also notify the GUI of this in advance (through feature analyze=0), so that the GUI can grey out the 'analysis' menu item to begin with; this is the prescribed method, but of course legacy engines might not do it.

What you propose would actually break many engines for analysis that would be perfectly able to do it. E.g. Fairy-Max supports analysis, but not '"?". The "?" command is only for when the engine is playing a game, and it is its turn to move. And it is a really bad idea to disable playing of games just because "?" would not be implemented, as most people who play games would never want to force the engine to move.
User avatar
phhnguyen
Posts: 1543
Joined: Wed Apr 21, 2010 4:58 am
Location: Australia
Full name: Nguyen Hong Pham

Re: Banksia GUI released

Post by phhnguyen »

AdminX wrote: Wed May 20, 2020 11:54 am Feature request:

This GUI already provides alot, so I don't know if it is possible to ask for more.
Yes, please. Ideas, feature requests, feedbacks... are more than welcome!

BSG core becomes stable day after day. Thus I have more time to look around. I still have a long list of jobs to do. However, it will run out quickly.
AdminX wrote: Wed May 20, 2020 11:54 am How difficult would it be to implement a personal "Engine Cloud" type of feature whereby one could use their more powerful system running Banksia and have it communicate with Banksia running on a weaker machine from a remote location? Chessbase does this as a service via the "Cloud", however I doubt that the cloud may even be needed for this to work.
That task is doable. It requires a server that is actually similar to normal chess playing ones: users can play from any (weak computers) to vs ones in stronger computers and BSG plays the role of a bot program.

I planned to build a specific server for BSG system, to share games, test engines and help to connect user computers as your requests. However, at the moment I have trouble building a server at home since my home Internet connection is fast enough but not reliable enough (the common situation of Internet connection in Australia). Renting a good enough server is always too expensive for a freeware. I will wait for the next few months, in the hope that the Starlink network will come soon and help us to improve the Internet connection :D
https://banksiagui.com
The most features chess GUI, based on opensource Banksia - the chess tournament manager
User avatar
phhnguyen
Posts: 1543
Joined: Wed Apr 21, 2010 4:58 am
Location: Australia
Full name: Nguyen Hong Pham

Re: Banksia GUI released

Post by phhnguyen »

zenpawn wrote: Thu May 21, 2020 12:16 am It seems that Banksia does not recognize Winboard engines as being capable of playing chess960.
Thanks a lot for the feedback.

You are right. Actually even I have coded BSG to understand WB engine's chess variants, I did not test them with that chess variant since I was struggling to find them (Winboard engines supporting chess 960). Can you/someones suggest some of them? I prefer ones for macOS but Windows OK.
https://banksiagui.com
The most features chess GUI, based on opensource Banksia - the chess tournament manager
User avatar
hgm
Posts: 28530
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Banksia GUI released

Post by hgm »

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.
User avatar
Ras
Posts: 2782
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 10:15 amThe only valid way to leave analyze mode is through the 'exit' command.
Which has a similar problem because the engine has to actively suppress that feature by announcing "analysis=0". Which many engines don't do. The only reliable way to figure that out is to try it and see whether it works.

And though your correction on "?" is true, the only way to reliably determine whether this works is still through trial & error feature detection.
Rasmus Althoff
https://www.ct800.net