Thursday, December 30, 2010

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  0000000000 0000000000 ½½00000001 ********** 1111111111 12.0/40
5 ZCT-0.3.2500   0000000000 0000000000 0000000000 0000000000 ********** 0.0/40  (++)

++ ZCT replies immediately on "movetime" commands, explaining its poor performance in this tournament