Posts

Showing posts with the label chess

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.

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.

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.

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"); startActivity(intent); 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

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

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

Android Engines Tournament: Group C

Image
Group C 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. Congratulations to Gary Linscott for GarboChess' promotion to Group B. All games can be downloaded from the tournament page .                            1        2         3         4        5                     1 GarboChess3                 *     10.5-9.5   9.5-10.5 15.0-5.0 16.0-4.0  51.0/80 2 Daydreamer 1.75 JA        9.5-10.5    *     12.0-8.0  14.5-5.5 13.0-7.0  49.0/80 3 GNU Chess 5.07.153.3b-32 10.5-9.5  8.0-12.0     *     11.0-9.0 16.0-4.0  45.5/80 4 Pepito v1.59              5.0-15.0 5.5-14.5  9.0-11.0     *     9.0-11.0 28.5/80 5 Rotor 0.6a                4.0-16.0 7.0-13.0  4.0-16.0 11.0-9.0     *     26.0/80

Android Engines Tournament: Group D

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. All games can be downloaded from the tournament page .                       1        2         3         4        5 1 Daydreamer 1.75 JA     *     12.0-8.0  11.0-9.0  14.5-5.5 16.0-4.0  53.5/80 2 sloppy              8.0-12.0     *     14.0-6.0  10.5-9.5 16.0-4.0  48.5/80 3 RedQueen 0.9.8 JA   9.0-11.0  6.0-14.0     *     11.5-8.5 14.0-6.0  40.5/80 4 gaviota v0.84       5.5-14.5  9.5-10.5  8.5-11.5     *    15.0-5.0  38.5/80 5 Diablo 0.5.1b JA    4.0-16.0  4.0-16.0  6.0-14.0  5.0-15.0    *     19.0/80

Android Engines Tournament: Group F

Group F 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 Evert Glebbeek for Jazz 's promotion to Group E! All games can be downloaded from the tournament page .                 1        2         3         4         5  1 Jazz v5.01 JA    *     15.5-4.5  18.0-2.0  18.5-1.5  19.5-0.5 71.5/80 2 ZCT-0.3.2500  4.5-15.5     *     13.5-6.5  17.0-3.0  16.0-4.0 51.0/80 3 BikJump v2.1  2.0-18.0  6.5-13.5     *     12.5-7.5  12.0-8.0 33.0/80 4 tscp181       1.5-18.5  3.0-17.0  7.5-12.5     *     12.5-7.5 24.5/80 5 umax48w       0.5-19.5  4.0-16.0  8.0-12.0  7.5-12.5     *    20.0/80

Tournament preparations

I ran tournaments between different versions of the same engine to determine which one would be their representative. Below I show the results of a fast round-robin tournaments using Chess for Android on a Nexus One, Nexus S, and Galaxy Tab with, where applicable, 8MB hash table and 1MB tablebases cache (Nalimov, Gaviota, Scorpio, and Robbobases reside on SD card). Each version played each other version from both sides of the Nunn opening suite . The number one engine will play in the longer time control tournament ( which is not always the latest  version; engine authors let me know if you prefer otherwise since some results were pretty close ). Also, Pablo Vazquez and Jim Ablett kindly worked together to fix the issue in the sungorus . It now runs correctly and will participate in the tournament. 1   BikJump v2.1P       10.5/20 2   BikJump v1.8         9.5/20 1   Diablo 0.5.1b JA    17.5/20 2   Diablo 0.5.1         2.5/20                   1   DoubleCheck 1.3     13.5/20 2

Chess for Android 3.0.1: XBoard/WinBoard

Version 3.0.1 of Chess for Android is available at the Android market and as direct download . It introduces the first, albeit simple support for the Chess Engine Communication Protocol (XBoard/WinBoard). Many features that are already supported for UCI (e.g. options setup, infinite analysis) as well as some XBoard specific features (e.g. resign) are still missing for this first version. I hope to add these features soon. Nevertheless, it is already possible to run tournaments between engines.

First inter-protocol tournament on Android!

Chess for Android now contains sufficient functionality to perform the first inter-protocol tournament between the built-in Java engine, the UCI engine BikJump, and the WinBoard / XBoard engine Fairy-Max. Ten random opening book games between these engines at one second per move on a Nexus S ran without problems to completion with the following results.                     1          2          3           1 BikJump v2.1P     ********** 111½111111 1111111101 18.5/20 2 Fairymax 4.8Q     000½000000 ********** 1½10½11½01  7.0/20 3 Chess for Android 0000000010 0½01½00½10 **********  4.5/20

Chess Engine Communication Protocol

Image
I am exploring extending Chess for Android with some rudimentary support for the Chess Engine Communication Protocol (often simply called the XBoard or WinBoard protocol), which will enable importing not just UCI but also XBoard/WinBoard engines. A very first prototype is functioning. I made an Android binary of the engine FairyMax (written by H.G. Muller , who was also very helpful providing more background), and imported this in Chess for Android. Some screenshots are shown below. I still have to deal with a lot of details, but it will be fun to support both protocols, and even run tournaments between UCI and XBoard/WinBoard engines.