ecrucru / anticrux

Suicide chess engine acting as desktop engine, web page, mobile application, Internet chess server and library
http://ecrucru.free.fr/?page=anticrux
Other
5 stars 3 forks source link

WinBoard AA-beta with Anticrux Engine #4

Closed yellow-panther closed 7 years ago

yellow-panther commented 7 years ago

Hello ecrucru,

I created 4 logos - please change the suffix into .bitmap format with Photofiltre http://photofiltre.free.fr/ to use the pictures with WinBoard GUI 4.9.170105 http://hgm.nubati.net/WinBoard-AA.zip

HGM http://www.talkchess.com/forum/profile.php?mode=viewprofile&u=456 Edmund http://www.talkchess.com/forum/profile.php?mode=viewprofile&u=3624

cf. CCC thread http://talkchess.com/forum/viewtopic.php?topic_view=threads&p=727124&t=64807

Perhaps you can now run Anticrux under this newer WinBoard Interface and host it as all-in-one-solution (Engine+GUI) on your website.

anticrux 1 anticrux 2 anticrux 3 anticrux 4

ecrucru commented 7 years ago

Hello @yellow-panther,

The thread on talkchess is very interesting and full of technical details that I will pay attention to. Here some replies about the covered topics :

1) Initially, the core library of AntiCrux was planned for any recent web-browser. By adding 2 lines of code, the code became compatible with NodeJS. Then it was possible to code an hostable UCI engine because this protocol is very well documented. Finally, the concern is to make the engine compatible with WinBoard and this is a work in progress facilitated by your helpful inputs.

2) jsUCI has indeed the advantage of being a single executable convenient for the users, so it can facilitate the adoption of the engine. However, Node.js is fully deployed, secure and also installable with one click (at the cost of a complex file organization and disk space). The dependencies are voluntarily reduced to zero to avoid the run of complex commands irrelevant for the chess players. I will see how the code can be adapted to make it working for both jsUCI and Node.js (this one staying the absolute priority).

3) I will check the newest version of WinBoard in order to be able to write a complete installation procedure in the README. The problem with WinBoard is that it should be as simple as pyChess. This is not due to how AntiCrux is written, but I can try to change it to maximize its compatibility (if required).

4) About the logo, we already have one committed in 121f87ef24718a5c38110bcbd644581b4b716a3a. The name "AntiCrux" refers to "AntiChess" and the deformation of my user account as a suffix.

5) As you seem to know many things about WinBoard, I would be interested to know where the specification of the winboard protocol can be found.

This topic stays open to create the compatibility with WinBoard.

Thanks.

gbtami commented 7 years ago

@ecrucru the original WinBoard protocol is readable here: https://www.gnu.org/software/xboard/engine-intf.html but HGM wrote a modernized/compact description lately readable here: http://hgm.nubati.net/CECP.html

ecrucru commented 7 years ago

1) -- no expected reply --

2) jsUCI is still under investigation.

3) @yellow-panther After this little update, you can use AntiCrux with WinBoard through NodeJS https://github.com/ecrucru/anticrux/blob/master/README.md#procedure-for-winboard

4) -- no expected reply --

5) Thank you very much @gbtami.

ecrucru commented 7 years ago

Hello @yellow-panther,

An experimental support for jsUCI is now added : just download again the files from GitHub. You simply have to know that AntiCrux and Lozza are both launchable successfully in a terminal through NodeJS and jsUCI, and they react correctly to few UCI commands.

However, the engine will probably not play depending on the GUI and the host that you will use :

GUI Node AntiCrux jsUCI AntiCrux Node Lozza jsUCI Lozza
pyChess Yes No Yes No
WB 4.8 No No Yes Yes
WB 4.9 Yes No Yes No

You can see that the support of jsUCI is lost between WinBoard 4.8 and 4.9 (bug?), but AntiCrux will not work in 4.8 because the version 4.9 resolves the issue of detecting the variant. In other words, you must use NodeJS and WinBoard 4.9 to play against AntiCrux. Or run AntiCrux as an Internet chess server (with NodeJS!) and you will be able to use WinBoard 4.8 and... 4.9.

pyChess doesn't work with jsUCI, so again, please use NodeJS in the short term.

Finally, the enhancements have been made and the readme is updated. The relevant sections for you are :

Again, thank you for all the feedbacks you have provided.

Regards.