Posts

Take Your Child to Work Day at Google

Image
A fun "Take Your Child to Work Day" at Google.

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 +

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 s

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 application Finger sweep left or right as alternative game navigation Minor improvements in setup position feature

Filtering on ELO

Image
I got a useful suggestion at the talkchess forum  for filtering the ELO rating of players. Rather than allowing individual ranges for white and black, I decided to provide a single range that applies to both the white and black player. In the example below, only games where both players have an ELO rating in the range " 1200-1700 " will be shown. Leaving the lower or upper field empty effectively makes that field unbounded (for " 1200- " means all ELO rating 1200 and above, while " -1700 " means all ELO ratings 1700 and below).

Filtering PGN Games

Image
I have extended the game storage features of Chess for Android with the ability to filter PGN games, which is a useful feature when dealing with larger files. To use this feature, long press the notation window and select Game Storage . From there, you see the usual game storage choices, now extended with Filter Game from SD . After a file has selected, a filter window pops up. Here, you can define a filter involving the white and/or back player, the event, an ECO code, and/or the result of the game. After the file has been loaded, a window prompts all games that match the filter. The user can subsequently decide what game should be loaded into Chess for Android. The new feature should be released very soon!

Arasan 14.0.1 for Android

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

Chess for Android 3.1.4

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 improvements Enhanced x-chess-pgn content viewing Option to hide engine's principal variation (useful when playing a real game) Simplified connection with remote UCI/XBoard engine (network version only

Chess Puzzles

Image
My eight year old daughter Karina is learning chess and we have gotten into the habit of solving a few mate-in-one puzzles from Laszlo Polgar's book Chess - 5334 Problems, Combinations, and Games every night after homework. She is really enjoying it, especially when we are using an electronic DGT board coupled to Chessbase Fritz . Each time she solves a puzzle, Fritz rewards her by saying "checkmate" with a German accent.

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

Chess for Android 3.1.1

I just released version 3.1.1 of Chess for Android at the Android market and as direct download with the new Setup Position feature. 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).

More About Setup Position

Image
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). The landscape and portrait layouts are shown below.