Monday, January 30, 2012

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

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

Sunday, January 22, 2012

Cheng3 for Android

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

Tuesday, January 17, 2012

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

Sunday, January 15, 2012

More About Setup Position

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.

Saturday, January 14, 2012

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

Friday, January 6, 2012

Viewing application/x-chess-pgn MIME type

Starting with v3.1, Chess for Android registers itself as a viewer for the application/x-chess-pgn MIME type. This implies that when other Android applications request viewing a game in PGN format, Chess for Android, or any other chess program that supports this type, will open the game.

I am new to this mechanism, but the following two ways of viewing a game seem to work well. To request viewing a game in PGN format that resides in a file (with proper permissions, so that other applications can read it), simply use the following code sequence:

Intent intent = new Intent(Intent.ACTION_VIEW);

File file = ... file in pgn format ....;
intent.setDataAndType(Uri.fromFile(file), "application/x-chess-pgn");

Alternatively, to view a game in PGN format that resides in a String, use the following code sequence (in this case, avoid confusing characters such as ':' in the String format):

Intent intent = new Intent(Intent.ACTION_VIEW);
String data = ".... game in pgn format ....";
intent.setDataAndType(Uri.parse(data), "application/x-chess-pgn");


Although of course one could also set up an intent that invokes one particular chess application such as Chess for Android directly, this late-binding approach is more flexible since it eventually gives the user a choice what program capable of viewing PGN should be used.

Any input or suggestions for improvement welcome.

Wednesday, January 4, 2012

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