Repackaging Chess

Anybody have any experience adding new engines to GNOME chess?

I would like to add Maia Chess (with lc0) to it.

There is something somewhere where someone did something like this. I will post when I find it.

Since it uses UCI it should be pretty easy. Just edit /etc/gnome-chess/engines.conf. (You can also copy it to ~/.config/gnome-chess/engines.conf and edit it there.) You’ll specify the protocol to use (UCI), specify the binary to execute (from PATH) and add some UCI difficulty options.

Interestingly, I see maia1 is designed to be easy (ELO 1100) and it is GPLv3+, so we could potentially use it to do something about Too hard to win on easy difficulty (#18) · Issues · GNOME / Chess · GitLab. Hence, I’m interested to hear your experience. Maybe it could become a default in the future if it works well. However, I see it depends on lczero and https;// is down right now, so I don’t know anything about that. Hopefully that’s open source?

Were you planning to finish that old merge request? It looks like it’s only blocked on adding difficulty level settings?

As for bundling more chess engines inside the flatpak, that doesn’t seem hard to do at all, just some packaging effort, so I’ve added the Newcomers tag to the issue report.

lc0 is packaged in the AUR. I compiled it for debian 2 years ago, and it worked fine.

I forgot what the real motivation of my question is, because simply I know the answer (above). It was just calling me.

More importantly, the design of GNOME Chess doesn’t reflect the reality of current chess engines: It’s impossible to beat them, and frankly isn’t fun.

There either needs to be some type of augmented thing where the user works with the computer to play against another computer (or player, or p/c team) or generated chess puzzles. (Note: this should be done with a scripting language and/or plugins).

For the merge request, I think lc0 requires a command line parameter and that’s why I didn’t finish it yet - it requires a deeper change to the code (or maybe understanding) than was apparent.

As to the flatpak, it can be done, I’m just waiting for a rainy day to put it together. What I really need is to understand the flatpak build system and to compile a version from source (for Ubuntu, which may not matter for flatpak packaging…?) because it took a bit of twiddling.

It’s one json file and it’s pretty simple! Open the gnome-chess directory in Builder and it will find it for you and build it for you. Adding a new engine should be pretty simple.