Posts

Nook Color

Image
Marc F. Ferguson is writing about experiences with rooting the Nook Color on his blog FergyTech and he kindly emailed me the following pictures of Chess for Android running on the Nook Color. It is cool to see so many new devices running Android. Thanks Marc!

RedQueen Chess Engine

Image
I compiled Ben-Hur Carlos Langoni's UCI engine RedQueen for Android (ARM), and put the binary on UCI engines for Android . Below screenshots and results of a few quick matches against other engines on a Nexus One (1GHz Snapdragon) with 32MB hash and Nalimov/Gaviota/Scorpio endgame tablebases on SD card. RedQueen 0.9.5 - Stockfish 2.0          0.0 - 10.0 +0/-10/=0    0.00% RedQueen 0.9.5 - Toga II 1.4.1SE        0.0 - 10.0 +0/-10/=0    0.00% RedQueen 0.9.5 - IvanHoe-Beta v999947c  0.0 - 10.0 +0/-10/=0    0.00% RedQueen 0.9.5 - Rotor 0.6a             3.0 - 7.0  +3/-7/=0    30.00% RedQueen 0.9.5 - GNU Chess 5.07.170.7b  3.0 - 7.0  +1/-5/=4    30.00% RedQueen 0.9.5 - gaviota v0.80.0.107    3.5 - 6.5  +3/-6/=1    35.00% RedQueen 0.9.5 - BikJump v2.1P          8.0 - 2.0  +8/-2/=0    80.00% RedQueen 0.9.5 - ZCT-0.3.2500           8.5 - 1.5  +8/-1/=1    85.00%

Chess for Android 2.8

Image
I just released version 2.8 of Chess for Android, available from the Android Market or as direct download . New features include: full PGN support (clipboard import/export, file load/save) improved layout for xlarge screen sizes (api 9 and up) bug fix in draw detection after FEN import To load a game from a file in PGN format, long press the notation window, select "Load Game from SD", and navigate to the file. This opens another window with the actual games in that file. Then select the desired game. Very large PGN files may take a while to download (or even run out of memory), but the idea is that future versions will be able to navigate quickly between successive games. I have tried to make the PGN parser reasonably robust (it accepts sloppy SAN for instance), but certain non-standard constructs are rejected. Please let me know if you encounter bugs though.

Chess for Android as Client of a Chess Server

User PJ+ at the OpenChess forum implemented a nifty client utility that converts Chess for Android to a client for a remote chess server. To make this work (assuming you already have a remote chess server running at some hostname and port), simply do the following steps. Download the version of Chess for Android that grants network permission to its UCI clients (the default version at the market does not do this for obvious security reasons). Download PJ+'s client-android-cli utility. Construct a file, for example uci_client , that contains the single line ./client-android-cli <hostname > < port > for the hostname and port of the remote chess server. Copy 2. and 3. to SD card, then install these from SD just like the first-time install of UCI engines. Finally, the single line file uci_client can now be imported as any other UCI engine, and will connect to the remote chess server. I tried this method myself connecting Chess for Android as client to a remote c

Rotor on Android

Jan Brouwer ported his UCI engine Rotor  to Android. Below the results of a few matches against other engines on a Nexus One (1GHz Snapdragon), one second-per-move, 16MB hash, and Nalimov/Gaviota/Scorpio endgame tablebases on SD card. Rotor 0.6a - Stockfish 2.0           0.0 - 10.0    +0/-10/=0      0.00% Rotor 0.6a - Toga II 1.4.1SE         0.5 -  9.5    +0/-9/=1       5.00% Rotor 0.6a - gaviota v0.80.0.107     5.5 -  4.5    +5/-4/=1      55.00% Rotor 0.6a - GNU Chess 5.07.170.7b   7.0 -  3.0    +7/-3/=0      70.00% Rotor 0.6a - BikJump v2.1P          10.0 -  0.0    +10/-0/=0    100.00% Rotor 0.6a - ZCT-0.3.2500           10.0 -  0.0    +10/-0/=0    100.00%

Tablets are Coming!

Image
I don't have a tablet myself yet, but Roel from Belgium kindly emailed me this picture of Chess for Android running on a 7 inch tablet. As you can see, he was running an engine-engine match between UCI engines at the time. Thanks Roel!

Direct Downloads

Because not all Android devices support the Android Market yet, I decided to made my Android applications available as direct downloads: Chess for Android Checkers for Android Reversi for Android After the download completes, simply click the apk to start the install (make sure to check "unknown sources" under settings=>applications).

GNUChess Match on Android

Image
I ran an engine-engine match between Michel Van den Bergh's two latest GNUChess engines in Chess for Android , playing 100 games (50 fixed book opening lines from both sides) on a Nexus One (1GHz Snapdragon), one second-per-move, Hash 16MB, TB cache 8MB, complete 3- and 4-piece Gaviota endgame tablebases on SD card (only  5.07.170.7b  supports Gaviota).              1   GNU Chess 5.07.153.3b-32        +42/-33/=25 54.50%   54.5/100 2   GNU Chess 5.07.170.7b-libgtb-3  +33/-42/=25 45.50%   45.5/100

Auto Rotate Chess Pieces

Several folks who use Chess for Android to play against another human have requested a feature to auto rotate pieces towards the side to move, so that they can use the phone or tablet as a chess board without constantly having to pass the device around. I have added this feature and also made cautious steps towards some animation in the application. The following clip shows the results. Expect this feature in an update soon. Comments welcome. Auto Rotation Clip

Chess for Android 2.6

Image
Version 2.6 of Chess for Android adds some choices of board colors and piece sets. To change, press menu, then options, and select either board color or piece set. This brings up another dialog with the choices in colors or piece sets.

Improving Graphics

Image
I got a couple of requests to improve the graphics in Chess for Android, especially now that tablets are becoming more widespread. I found a public domain chess piece set that looks nice and increased the resolution of the wood texture (really just a picture of my coffee table!). I also added a few more board colors. This is how it looks now (click for the full resolution picture). And this is how it may look soon (again click for the full resolution picture). Comments welcome, of course.

Chess for Android 2.5.5

Image
Version 2.5.5 of Chess for Android introduces the following new features. Ability to save games to SD card. Games are appended in PGN format to file  /sdcard/games.pgn  on the SD card, so that users can examine these later, for example, in a chess application on the desktop. Ability to define common UCI engine options in a pop-up window: hash table size ELO strength restriction  endgame tablebases formats (Nalimov, Gaviota, or Scorpio) and cache size The options are populated with the engine's defaults.

Chess for Android 2.5.1

Version 2.5.1 of Chess for Android simplifies installing third party UCI engines quite a bit. Most importantly, it is no longer required to install the Android SDK in order to push binaries to the Android device. Instead, UCI engines can simply be copied to the SD card and, from there, installed into internal memory. A few important links: Updated instructions on installing UCI engines Chess for Android manual   List of UCI engines that can be imported   A big thank you to Michel Van den Bergh for inspiring me to simplify the installation process in Chess for Android!

Chess for Android 2.5

I just released version 2.5 of Chess for Android at the Android market. Besides a few minor improvements, this release introduces the ability to play engine-engine matches automatically. To perform a match: (1) Long-press, import UCI engine, and select primary engine (or skip this step to play against the built-in Java engine), (2) Long-press, engine-engine match, and select secondary engine to start the match. This will play 10 games from random openings at the moves-per-second level selected. During the match, current standing is displayed and engine analysis output is shown at the bottom of the window. Afterwards, the full match annotated with engine analysis is stored in a PGN file.

UCI Engines for Android

I have setup a webpage with  UCI engines for Android . Each entry is either a link to the engine's website, or a direct download of a binary that I compiled myself, posted with explicit permission of the engine authors. Please drop me an email if you know about other UCI engines that have been compiled "natively" for Android.