Engine-Engine Matches on Android

I am extending Chess for Android with a feature to run automatic engine-engine matches between UCI engines that have been "natively" compiled for Android. After importing two UCI engines, or using the built-in Java engine for one, a fixed number of games is played using random openings from the built-in book while allocating a fixed time per move. All games are saved in a "match.pgn" file, which can be used by another chess program, such as Arena or Chessbase. A Chessbase-generated cross-table for a 1-second-per-move tournament between some UCI engines compiled for Android is shown below.

I hope to release this feature sometimes early in January.

                 1          2          3          4          5
1 Stockfish 1.9  ********** 11½0100101 111111½111 1111111111 1111111111 35.0/40
2 Crab 1.0 beta  00½1011010 ********** 111½1½1111 1111111111 1111111111 33.5/40
3 GNU Chess 5.07 000000½000 000½0½0000 ********** ½½11111110 1111111111 19.5/40
4 BikJump v2.1P  00000000…

Racing during the Holidays

The vacation just started, and Karina and her friend Ella are enjoying 50 lap races on our Carrera racetrack. Nice to see the difference between a year ago, when the girls crashed the cars most of the time, and now, when they actually understand braking before and accelerating in a curve. Still, lots of repairs to be done on the cars when this race is over.

I like the Carrera Digital 132 race track. Cars have regular and braking lights, can switch lanes on designated lane change sections, and the speed, braking power, and fuel tank capacity can be set individually for each car. When cars run out of gas, lights are blinking as they slow down, and a visit to the pit stop is required first. Moreover, up to six cars can race together, or autonomous cars can be programmed to make racing harder while an electronic lap counter keeps track of interesting statistics.

Merry Christmas and a Happy New Year

A merry Christmas and a happy 2011 for all my blog readers. In the picture, you see the snow covered city hall of my home town Gouda in the Netherlands. In "sunny" California we just get rain :-)

BikMove v1.2

Continuing the detour in checkers. I also released v1.2 of BikMove, a checkers engine plugin to Martin Fierz' CheckerBoard application. New features include:
Added internal iterative deepening to searchConfigurable transposition table and endgame database cacheImproved evaluation functionAvoid querying Fierz's database when *either* side can captureBelow are results of a 3-move openings match between BikMove v1.2 and other engines (1 second-per-move, 256MB hash, 256MB database cache, 2-8 piece endgames, best-move for engines that have their own book).

BikMove v1.2 vs. Easy Checkers 1.0   : W-L-D: 284-  0-  4  99%
BikMove v1.2 vs. Simple Checkers 1.14: W-L-D: 136- 21-131  70%
BikMove v1.2 vs. GUI checkers 1.05+  : W-L-D:   9-108-171  33%
BikMove v1.2 vs. Cake1.8 + huge book : W-L-D:   0-152-136  24%
BikMove v1.2 vs. Kingsrow 1.16d      : W-L-D:   1-181-106  19%

For comparison, also some results under similar conditions with v1.1.

BikMove v1.1 vs. Simple Checkers 1.14: W-L-D: 75- 64-14…

Improved Checkers Endgame

To improve endgame play, I have added a few "distance-to-win" endgame databases to Checkers for Android (K-K, p-K, p-p, KK-K). These databases are small enough to reside in memory and are queried during the engine search. In the screenshot below, for instance, the engine (playing black) announces that it will win in 20 moves. If you are up to the challenge, just download version 2.4 of Checkers for Android from the market.

More Lego Mindstorms NXT

A movie of a robot having some fun fetching and throwing a ball.

Lego Mindstorms NXT

Through Google, I signed up as volunteer for a Lego engineering mentoring/outreach program in a local school. This was a very good excuse for Karina and me to get reacquainted with our Lego Mindstorms NXT kit (also see our earlier Mindstorms adventures). As you can see, we had lots of fun together.

Android Game Manuals

It is long overdue, but I finally wrote brief manuals for Chess, Checkers, and Reversi for Android that explain the full menu structure of the games. I plan to add more explanation here over time. Please let me know if you have suggestions.

King Attacked Warning

It is minor, but the latest release 2.4.3 of Chess for Android now shows a red circle around the king as an in-check (or mate) warning when the move coach is enabled. A sample screenshot is shown below. This version also improves UCI engine unloading on exit.

U.S. Citizenship

The adventure that started in Indiana in 1996 and continued in California in 1998 reached a very special point today. I received my U.S. Citizenship. Thanks, America, for being my home for so many years and welcoming me into the American family.