Here's a good site for free Android chess engines

Sort:
Lotus960

I was looking for some offline engines to play against on my phone that worked with Droidfish. So I found a good site with lots of engines and share it with you now. Most of them are 2015-2018 versions. They are all weaker than Stockfish 14 at its 1350 elo limit. 

You have to try out which engine packages work for you. It depends largely on which version of Android you are using. I found that some didn't work on my phone.

Of those that do work, I wanted to find those which could be elo-limited in Droidfish. Here's a list of the ones that I found, with the elo rating following. I don't know how accurate such an elo rating is, so think of it as a guide only. For some engines there are also tweaks that can be made in the engine options menu.

Note: Cuckoo Chess comes bundled with Droidfish.

Cuckoo Chess. From -600.
Texel 1.08. From -600.
Cheng 4.39. 800.
Rodent IV. 800.
Arasan 20.4. 1000
Cheese 1.9.2. 1000
CT800 1.4.3. 1000.
Fruit Reload 3.2.1. 1000
Galjoen 0.35. 1500.
Mcbrain 9.0. 1500.
Rodin 8.0. 1800.

The following two engines can be tweaked in the engine options menu:
SugarXpro Skill level. 1-20.
Zurichess Neuchatel. Handicap 1-20.

I am not a chess engines expert. If anyone knows of a site to get updated versions of these engines, please let us know.

Here's the link:

https://m.box.com/shared_item/https%3A%2F%2Fapp.box.com%2Fs%2Fiorxtbf4zp6rqq3anv42

 

taychoe

You can check out https://www.chess2u.com.   Under "Computer Chess Engines" you will see "Free Chess Engines" and "Commercial and Private Chess Engines."  You'll need to log in if you want to access the Commercial and Private thread.   

Under Free Chess Engines, there's a thread for "Chess Engines for Android."  This is frequently updated.  However, most of the latest engine compiles only run in the latest Android versions and armv8 CPUs.  You can check out the early pages of the thread though.

There's also a thread called "Android engines for DroidFish Chess" but it hasn't been updated with new engine compiles for at least 6 months.  

For engine opponents I mainly use Stockfish 14.1, Rodent III, and LC0 0.26.3 (using the Maia 1700 and 1800 networks).  For Stockfish, I set the elo to 1800. For Rodent III, I use Firouzja and Karpov personalities but with the nps lowered to approximate a 1700 to 1800 elo.    

 

Lotus960

 

Thanks for the useful link!

I only managed to find Maia 1900 for android. Do you know where to download Maia for Android at other elo ratings?

Also, I am a bit confused about nnue files. I downloaded two (20mb and 44mb) but where do I put them? In the Droidfish uci folder, or can I just create a new folder and make a path to them in the engines options menu?

Any advice appreciated. Thanks. 

 

taychoe

I got the Maia networks from here:  https://github.com/CSSLab/maia-chess

Maia is really just the name of the network.  The engine used to read the Maia network is LC0 (Leela).  I also set the NodesPerSecondLimit to 1 instead of the default.  From my tests with other engines, Maia 1900 using the default plays like a 2200 engine.

For NNUE, the 20mb net is used by Stockfish 12 and 13 and their clones.  There are also other engines that use that net format.   

The 44mb net is used by Stockfish 14 and its clones.  There maybe other engines that also use that net format. 

I put all my networks in one folder:  /sdcard/DroidFish/uci/networks

However, you can really put them anywhere since you'll be specifying the path in the engine options anyway.

 

Lotus960

Ah, I see now. Thanks for putting me straight.

I downloaded the Leela apk and installed it, and also downloaded the Maia weights files and put them into a Droidfish folder. It works.

Just two questions.

1. There are a lot of options in Leela. For nodes per second, I think the default is 0.000000. Is this what I should change to 1?

2. My phone is not the newest, and when playing a trial game with Leela, the nodes per second are in the 20-75 range. That's not 20k-75k per second, but twenty to seventy-five per second! This seems very low. Is this normal, or if not, how can I improve its speed?

Thanks for all your helpful replies.

taychoe

1.  yes

2. The creators of Maia actually recommend disabling searching, so low nps is actually good.  If you'll be using other LC0 nets and you want to increase nps, you can try changing the values for Threads, NNCacheSize, etc.  The large size nets are really meant for GPUs, while the small size nets like the Maia nets are for CPUs.  You can also try a different version of LC0.  The Maia nets however, were created using version 0.26.3, so that's what I use.

You can check here for the recommended LC0 nets depending on whether you'll be using a GPU or a CPU:

https://lczero.org/dev/wiki/best-nets-for-lc0/

 

Lotus960

Ok. I was a bit worried by how few nodes there were, but you reassure me. ☺  I was used to old-style engines on my phone, with about 100k nps per move, so neural nets are a new landscape. 

I've been looking at the Leela page and reading up on what networks are, about blocks and filters and so on. It's a new vocabulary for me.

I've downloaded a few small nets like Evil Gyal, Good Gyal and Tiny Gyal, because I don't think I have a GPU, or if I do it's not very powerful. They seem to be suitable for sparring with human players and not excessively strong. 

Thanks once again for your help. 👍