Posts

Showing posts with the label chess engines

Chess for Android 10 Year Anniversary!

Image
I can't believe it, but Chess for Android just passed its ten year anniversary! In November 2008, it appears for the first time on the -then-called- Android Market, together with Reversi for Android. Checkers for Android was soon to follow. The Android Market was later renamed Google Play.
Working on this GUI has been a lot of fun, even though it took all spare time away from further developing my chess engine BikJump. But pioneering support for third party engines (at a time nobody was compiling for ARM), both UCI and XBoard, accessing endgame tablebases on SD card, adding PGN and setup features,simplifying engine setup through Chessbase compatible format and the Android Open Exchange format, using OCR apps to read chess positions, translating text to other languages, maintaining an online manual, and recently adding support for Certabo, DGT, and Millennium electronic chessboards has been just as rewarding. I have compiled many engines for Android back in the days, ran full tour…

DeepBrutePos for Android

Folkert van Heusen is developing a chess engine, called DeepBrutePos, and he also wrote a version for Android. The engine is written in Java, and he used the Android SDK to develop a version that acts as a chess server, so that it can be imported as network socket in Chess for Android (a rather unusual, but nifty use of that feature).
I conducted a quick test with one of the first versions. Below the results of a one-second-per move tournament from both sides of all Nunn opening lines on a Nexus One. I was hoping for better results for Folkert, but hopefully he will release a strong version soon. Good luck!
                       1        2          3         4         5        6                   
1 BikJump v2.1P        *     17.5- 2.5 20.0- 0.0 20.0- 0.0 20.0-0.0 20.0-0.0 97.5/100
2 fairymax48q       2.5-17.5     *     10.0-10.0 12.5-7.5  18.5-1.5 20.0-0.0 63.5/100
3 umax48w           0.0-20.0 10.0-10.0     *     12.0- 8.0 20.0-0.0 20.0-0.0 62.0/100
4 Chess for Android 0.0-20.0  7.5…

Polyglot for Android

Image
There was an interesting discussion on the TalkChess forum whether a chess GUI running on the Dalvik Virtual Machine could merely support a single protocol, and use an adapter, like Polyglot, to support other protocols. Even though Chess for Android already supports both UCI and XBoard/WinBoard, I was intrigued by the question, and decided to give it a try. First, I compiled the polyglot sources for ARM-based Android devices (I had to make a few source changes to make that work). Then I edited a polyglot.ini file pointing to my own UCI engine bikjump1.8 compiled for ARM:
[Polyglot]
EngineCommand=bikjump1.8
EngineName=BikJumpAsXBoard
EngineDir=/data/local/tmp/
[Engine]

And gave it a try directly from the command line:

$ ./polyglot_for_android
PolyGlot 1.4.67b by Fabien Letouzey.
new
st 1
post
go
1 -1 0 1 h4
1 +0 0 3 h3
1 +2 0 6 g3
1 +12 0 20 Nh3
1 +17 0 22 Nf3
2 +0 0 46 Nf3 Nf6
3 +17 0 148 Nf3 Nf6 Nc3
4 +0 1 772 Nf3 Nf6 Nc3 Nc6
5 +2 2 1691 Nf3 Nf6 Nc3 Nc6 g3
6 +0 5 3120 Nf3 Nf6 Nc3 Nc6 g…

Temporary Chess Server

Image
As a follow-up on the previous posting and for users that want to experiment with a remote chess server without setting one up themselves, I have, very temporarily, set up a remote chess server with various engines at ports 2000 through 2005 on aartbik.dyndns.org. Simply type this hostname and one of the ports in Chess for Android and let me know if you were able to connect!

Connecting Chess for Android to a Remote Server

Image
I have received several questions on how to connect Chess for Android running on an Android device (e.g. a phone) as client to a remote chess server (e.g. a powerful desktop), so I decided to write a small document with detailed instructions.
What you will need:
The server software from Bernhard Wallner's chess utilities, suited for your server's operating system (if, say, your desktop runs Windows, you will need to download the Windows version). You do not need to download the client software in this case.The network enabled version of Chess for Android.On the server, start the engine server software, and construct a new row for every engine you want to run remotely. Assign a name, port number, and select the full path to each engine binary (an executable that runs on the server). You can also supply command line options for starting the engine. Check the active checkboxes and click start when done. This yields something similar to the screenshots below. Here, I have started …

Chess for Android 3.1.5

Image
I just released version 3.1.5 of Chess for Android, available either at the Android market or as direct download. New features include:
Ability to filter PGN games (on player, event, ECO, ELO rating range, or result)Automatically re-import last UCI/Xboard engine on exit-re-entry of applicationFinger sweep left or right as alternative game navigationMinor improvements in setup position feature


Country Chess Netherlands, first division

BikJump ended at 7th place in Geert Maeckelbergh's Country Chess First Divsion of The Netherlands. After a result like this, I feel the well-known "itch" to go back to work on my chess engine again. But first a few more improvements in Chess for Android.

In any case, thanks for running the tournament Geert.

Virutor Chess for Android

Image
Vaclav Vavra set up a new website for Virutor Chess, an UCI engine available for Windows, ARM-based Android devices (and Linux soon to follow). The Android version imports without any issues in Chess for Android. I also ran a quick tournament between the built-in engine, BikJump, and Virutor. The results are show below.
                         1    2     3   1 BikJump              *   9.5  10.0   19.5/20   2 Chess for Android   0.5   *    8.0    8.5/20   3 Virutor Chess       0.0  2.0    *     2.0.20


Cheng3 for Android

Image
Another engine that can be imported in Chess for Android just became available. Martin Sedlák released a new version of his engine Cheng3, and Jim Ablett kindly made a binary available for ARM-based Android devices. The engine functions well, although it responds with "no GTB found" for the Gaviota endgame tablebases, even thought the cp4 versions reside in /sdcard/gtb.

The results of a quick tournament with different engines varying in strength is shown below. Quite impressive!

                     1          2          3          4          5        
1 Stockfish 2.1      ********** 1111111111 1111111111 1111111101 1111111111 39.0/40
2 cheng3 1.07 JA     0000000000 ********** 10½0½100½1 11111½0111 1111111111 26.5/44
3 GarboChess3        0000000000 01½1½011½0 ********** 11110½½010 1111111111 21.5/40
4 Daydreamer 1.75 JA 0000000010 00000½1000 00001½½101 ********** 1½11111111 16.0/40
5 BikJump v2.1P      0000000000 0000000000 0000000000 0½00000000 **********  1.0/44

Setup Position

Image
By popular demand, I am working on a Setup Position feature in Chess for Android (file, clipboard, and MIME type operations to import and export games are already supported).This new feature is still in prototype stage, but it is going to look something like shown below.



Chess for Android 3.1

I just released version 3.1 of Chess for Android, available from the Android Market or as direct download. New features include:
engine pondering (UCI and XBoard)fixed coach bug with move from/to a1 added application/x-chess-pgn MIME support

Critter 1.4 for Android

Image
Richard Vida released Critter 1.4, including a version for Android. This ARM binary imports well into Chess for Android. A quick 1-second-per-move tournament from both sides of all opening lines in the Nunn test suite on a Nexus S ended in favor of the previous version though.

DoubleCheck2.3 for Android

Image
Lucas Braesch released DoubleCheck 2.3 and I put an ARM binary on UCI and XBoard engines for Android (you can find another binary for ARM on Jim Ablett's website). Below, I show the results of a quick one-second-per-move tournament played from both sides of all lines in the Noomen test suite 2012 between some recent versions (32MB hash size, Nexus S).

                  1         2          3 1 DoubleCheck 2.3     *     36.5-23.5  39.5-20.5  76.0/120 2 DoubleCheck 2.0 23.5-36.5     *      35.5-24.5  59.0/120 3 DoubleCheck 1.3 20.5-39.5 24.5-35.5      *      45.0/120


TjChess for Android

Image
Another engine for ARM-based Android devices! Tony Hecker kindly made ARM binaries of Tjchess available as either an UCI engine or a XBoard engine. Both import well in Chess for Android. Some screenshots below. With so many new engines, is it time for yet another Android chess engine tournament?


Umko for Android

Image
The list of chess engines compiled for ARM-based Android devices keeps growing. Someone pointed me to Borko Boskovic's Umko engine.

I tested this UCI engine in Chess for Android, and it works well. Some screenshots below.



Android Engines Tournament: Group A

Image
Group A has finished a complete thirty seconds-per-move tournament in Chess for Android, played from both sides of all positions in the Nunn opening suite under the conditions described earlier.

Congratulations to Richard Vida for Critter's victory in this tournament!

All games can be downloaded from the tournament page.

This completes the Android tournament with longer time controls (although since many more engines are available now, perhaps another one is already necessary!).

                       1         2        3         4         5                    
1 Critter 1.2 32-bit       *     11.5-8.5  9.5-10.5  15.0-5.0  11.5-8.5  47.5/80
2 Stockfish 2.1.1 JA    8.5-11.5     *    13.0-7.0    9.5-10.5 11.0-9.0  42.0/80
3 Komodo32 2.03 AB     10.5-9.5   7.0-13.0    *      13.0-7.0  11.5-8.5  42.0/80
4 RobboLito 0.085g3l    5.0-15.0 10.5-9.5  7.0-13.0      *     12.0-8.0  34.5/80
5 IvanHoe-Beta v999947c 8.5-11.5  9.0-11.0 8.5-11.5   8.0-12.0     *     34.0/80



Arasan for Android

Image
Jim Ablett kindly compiled Jon Dart's Arasan engine for ARM-based Android devices so that it can be imported in Chess for Android. The engine supports multithreading, Nalimov endgame tablebases, and clocked at about 100Kns out of the opening on my Nexus S.






Jim Ablett's Android Chess Engine Bundle Tested

As posted earlier, Jim Ablett posted an Android Chess Engine Bundle, which various UCI and Win/XBoard engines that can be imported in Chess for Android. Because the Win/XBoard protocol feature is still relatively new in Chess for Android and conducted a test tournament between all the XBoard engines (except gfc-08-rev5-ja which often claims a mate without actually making the move; I am not sure if the standard allows this, but it seems weird that the GUI should verify the claim).

During this tournament I found a few opportunities for improving the GUI's handling of the protocol, which will be released soon. Also, the next release will add the much requested pondering feature (also called permanent brain).

Games available on request.

1  olithink-530-ja          34.5/38
2  crafty-234-ja            32.0/38
3  phalanx-xxii-ja          29.5/38
4  chess-one-201-ja         29.0/38
5  gullydeckel-215-pl10-ja  25.5/38
6  sloppy-023-ja            25.5/38
7  kmtchess-121-ja          23.0/38
8  surpr…

Android Engines Tournament: Group B

Image
Group B has finished a complete thirty seconds-per-move tournament in Chess for Android, played from both sides of all positions in the Nunn opening suite under the conditions described earlier. Regrettably I found that Crafty was put at a slight disadvantage (not something that would have changed the outcome though) due to a misinterpretation of XBoard's resign plus move command, causing a resign by illegal move in the next game. This issue has been fixed now.

Congratulations to IvanHoe for its promotion to Group A.

All games can be downloaded from the tournament page.

The games of the final group A have started!

                       1        2        3         4        5                    
1 IvanHoe-Beta 999947c    *     15.0-5.0 17.0-3.0  19.0-1.0 19.0-1.0 70.0/80
2 scorpio              5.0-15.0     *     7.5-12.5 17.5-2.5 14.5-5.5 44.5/80 
3 Toga II 1.4.1SE      3.0-17.0 12.5-7.5     *     12.0-8.0 13.0-7.0 40.5/80 
4 crafty               1.0-19.0  2.5-17.5 8.0-12.0     *    12.…

Jim Ablett's Android Chess Engine Bundle

Jim Ablett very kindly posted an Android Chess Engine Bundle with various UCI and XBoard engines that can be imported in Chess for Android.

UCI: daydreamer-175-ja  greko-82-ja    redqueen-098-ja  stockfish-211-ja
diablo-051b-ja     jazz-501-ja    rotor-04-ja      sungorus-14-ja
doublecheck-21-ja  komodo-13-ja   simplex-098-ja
garbochess-3-ja    pepito-159-ja  sissa-20-ja
XBOARD: uzz-os-11-27-08          kmtchess-121-ja   scidlet-361-b2-ja
chess-one-201-ja         knightcap-36-ja   sjeng-112-ja
crafty-234-ja            mizar-030-ja      sloppy-023-ja
exchess-054-beta-ja      mskcp-145-ja      surprise-43-beta13-ja
gfc-08-rev5-ja           natwarlal-014-ja  toledo-nanochess-2010-ja
gk-090-ja                olithink-530-ja   zzzzzz-351-ja
gullydeckel-215-pl10-ja  phalanx-xxii-ja