Posts

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…

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]

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!

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 …

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

Jon Dart released version 14.0.1 of Arasan and Jim Ablett kindly provided a binary for ARM-based Android devices. I did a 1 second per move match from both sides of the Nunn opening suite between version 13.4 and the new 14.0.1 using Chess for Android, which ended in 11-9 in favor of the older version (of course not enough games to say anything conclusive; the match was merely a quick sanity check on the new version).

It has been quiet for a while, because I was really busy at work, but finally Chess for Android version 3.1.4 has been released, available at the Android market or as direct download. New features include:Position setup improvementsEnhanced x-chess-pgn content viewingOption to hide engine's principal variation (useful when playing a real game)Simplified connection with remote UCI/XBoard engine (network version only

Update: There was a minor bug in defining the halfmove clock of a position, something that is relevant only for positions affected by the fifty move rule. I have posted a fix in version 3.1.2 on my website (or you can wait for the next release through the market).

I finished the new Setup Position feature, which I hope to release really soon. The board editor allows specifying a full FEN position, that is, a board position together with castling rights, the side-to-move, and possibly an en-passant file and halfmove clock counter (for the fifty-move rule). Touching a piece outside the board changes the "pen" to that piece. Alternative, touching a piece on the board changes the "pen" into that piece, and removes the piece from the board (useful to move pieces on the board to another position).

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.

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

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?

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.

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).

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.

After many more cycles on my Nexus One, Group D has just 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. Quite a shuffle-up in the results this time compared to the qualification tournament.

Congratulations to Aaron Becker for Daydreamer's promotion to Group C.

After burning cycles on my Nexus One for many days, Group E has just finished a complete thirty seconds-per-move tournament, played from both sides of all positions in the Nunn opening suite under the conditions described earlier.

Congratulations to Ben-Hur Carlos Vieira Langoni Jr for RedQueen's promotion to Group D.