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.
Banksia GUI released
Moderator: Ras
-
Ras
- Posts: 2782
- Joined: Tue Aug 30, 2016 8:19 pm
- Full name: Rasmus Althoff
Re: Banksia GUI released
Rasmus Althoff
https://www.ct800.net
https://www.ct800.net
-
hgm
- Posts: 28530
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: Banksia GUI released
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.
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
It seems that Banksia does not recognize Winboard engines as being capable of playing chess960.
Erin Dame
Author of RookieMonster
Author of RookieMonster
-
Ras
- Posts: 2782
- Joined: Tue Aug 30, 2016 8:19 pm
- Full name: Rasmus Althoff
Re: Banksia GUI released
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
https://www.ct800.net
-
GONeill
- Posts: 87
- Joined: Sun Jun 15, 2014 6:40 am
- Location: New Zealand
- Full name: Graham O'Neill
Re: Banksia GUI released
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:

Thanks!
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:

Thanks!
-
hgm
- Posts: 28530
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: Banksia GUI released
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.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.
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.
-
phhnguyen
- Posts: 1543
- Joined: Wed Apr 21, 2010 4:58 am
- Location: Australia
- Full name: Nguyen Hong Pham
Re: Banksia GUI released
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.
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.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.
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
https://banksiagui.com
The most features chess GUI, based on opensource Banksia - the chess tournament manager
The most features chess GUI, based on opensource Banksia - the chess tournament manager
-
phhnguyen
- Posts: 1543
- Joined: Wed Apr 21, 2010 4:58 am
- Location: Australia
- Full name: Nguyen Hong Pham
Re: Banksia GUI released
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
The most features chess GUI, based on opensource Banksia - the chess tournament manager
-
hgm
- Posts: 28530
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: Banksia GUI released
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:

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.
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:
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.
-
Ras
- Posts: 2782
- Joined: Tue Aug 30, 2016 8:19 pm
- Full name: Rasmus Althoff
Re: Banksia GUI released
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
https://www.ct800.net