Posts

Showing posts with the label Android

Chess for Android: version 6.0

I am rolling out version 6.0 of Chess for Android, through the usual Google Play channel. The new features include:
Two new sets of chess pieces by Maurizio Monge (who very kindly gave explicit permission)Ability to enable/disable saving engine annotations in the PGN fileOpening the draw/resign dialog now requires tapping one king then the otherSimpler permission model for "older" Android versions The last change, adding bluetooth and network permissions, is needed so that pre-api23 versions of Android can also connect with electronic chessboards over bluetooth or with remote chess engines over a network socket (the latter is also needed for an upcoming FICS client I am working now). From api23 onward, users can selectively enable or disable such permissions. Pre-api23, however, it was an "all-or-nothing". Changes like this have unfortunately the danger that some users will uninstall, but in the long run I believe I can better serve the full customer base this way.

Checkers for Android: Endgames

Image
Now that Checkers for Android supports a position setup editor, analyzing textbook studies has become a lot simpler. This has increased the significance of the small built-in endgame tablebases of my app as well, as can be seen in the study below. Here, starting from what is known as the "first position" in checkers, Checkers for Android, playing with the black pieces, announces its inevitable loss in 30 moves!


Checkers for Android: Certabo Support

Image
Although the Certabo electronic boards are mainly intended for chess, the flexibility of the identifying chips makes them suitable for 8x8 checkers as well (draughts, or American checkers, with slightly different rules from e.g. 10x10 international checkers). Therefore, I am planning to add support for Certabo boards in Checkers for Android as well. The 34 identifying chips can be used for the 24 regular pieces and 10 kings for promotion (using special purpose pieces avoids stacking the regular pieces). A 3D printed set can be used for this purpose (a continued hat-tip to my brother-in-law Gerard Harbers for making all the chess and checkers sets for me!).
The general idea is illustrated with this picture. Please let me know if you like this upcoming support!

Chess for Android 10 Year Anniversary!

Image
I can't believe it, but Chess for Android just passed its ten year anniversary! In November 2008, it appears for the first time on the -then-called- Android Market, together with Reversi for Android. Checkers for Android was soon to follow. The Android Market was later renamed Google Play.
Working on this GUI has been a lot of fun, even though it took all spare time away from further developing my chess engine BikJump. But pioneering support for third party engines (at a time nobody was compiling for ARM), both UCI and XBoard, accessing endgame tablebases on SD card, adding PGN and setup features,simplifying engine setup through Chessbase compatible format and the Android Open Exchange format, using OCR apps to read chess positions, translating text to other languages, maintaining an online manual, and recently adding support for Certabo, DGT, and Millennium electronic chessboards has been just as rewarding. I have compiled many engines for Android back in the days, ran full tour…

Chess for Andoid: version 5.9

Image
I am enthusiastic to announce that I am rolling out version 5.9 of Chess for Android on Google Play. New features include:
Configurable tags for PGN export (player, ELO, event)Ability to offer draw or resign (click king twice to enter menu)Support for Certabo electronic chessboards The application now supports connecting to any of the DGT, Millennium, and Certabo chessboards (let me know if there are others). I have a second instructional video on this topic on YouTube. As usual, looking forward to your constructive feedback!

Chess for Android: Certabo Support

Image
Besides the Millennium and DGT, Chess for Android now also supports the Certabo electronic chessboards. I hope to roll out a next update soon, after more rigorous testing.


Unlike the other boards, the Certabo board does not necessarily come with chess pieces. Instead, a set of 34 identifying chips is provided, which can be attached to the bottom of pieces in any chess set (which means that, unlike the other board, the GUI must first match newly attached chips with the right pieces).
Since I did not have a spare set, I asked my brother-in-law, Gerard Harbers, who just bought a fancy new 3D printer, to print a full chess set for me. He enthusiastically got to work!

The pieces have some spare room at the bottom, perfect for placing the identifying chips.

Checkers and Reversi for Android

Image
New releases for both Checkers and Reversi for Android. Both games made some improvements in the notation display, most obvious the use of parenthesis for the alternating moves (suggested by Rein Halbersma), a better column layout, and improved "scrolling" while navigating.
Also, both games now support exporting the game to the clipboard or via sharing with another program. For checkers, the PDN (portable draughts notation) is used, for reversi something similar to PGN (portable game notation). For checkers this also required "disambiguating" captures using an intermediate square (which should cover most normal games).


Checkers for Android: Full Game Navigation

Image
Folks that know me probably saw this coming, but Checkers for Android now also has a notation window and full game navigation, just like Chess for Android and, recently, Reversi for Android. All three games have the same look-and-feel again!
Unlike the algebraic notation in chess or reversi, checkers uses a numbered notation, explained in detail in The Checker Maven (note that, for simplicity of display, my checkers app always just shows the "from" and "to" square for each move or capture, even though technically intermediate squares are sometimes needed to disambiguate multiple jumps). At first glance the numbering may seem a bit confusing, but the notation becomes easier with practice.

Reversi for Android: Full Game Navigation

Image
It has been a while since I added major features to Reversi for Android, but I recently added something I had been planning for a long time: a notation window and full game navigation, similar to Chess for Android. The result is shown below. No more artificial restrictions on the undo, one can simply go back and forth in the full game, and try different strategies to learn from one's mistakes!
An interesting factoid is that Reversi uses a slightly different board orientation for the algebraic notation: the a1 square is in the upper left corner with the h8 square in the bottom right corner. This goes a bit against my chess intuition, but obviously I had to follow the Reversi convention.

Chess for Android Coding

Image
Around the holidays I am finally getting some spare time to implement new features for Chess for Android. I am actively "in the zone" working on:

The ability to offer a draw or resign during an ongoing game. Since the UCI protocol does not provide this feature, the GUI will accept the draw simply based on past evaluations of the position.The ability to change the users name and ELO rating, which will appear in the header for all user games that are saved in PGN format to the SD card.The ability to connect to FICS, the free internet service. This is of course the most work and currently still in prototype stage. The first release will probably start simple by just allowing to watch demo games.


Lots of New Features for Chess for Android.

Image
Recently I have been very active adding new features to Chess for Android again. I have added support to connect to the Millennium ChessGenuis Exclusive electronic chessboard, added a new piece set (thanks Bryan Whitby), added various engine related features requested by users, and switched to the much better model where users can enable (and thus disable) permissions just for the features they like.
Now, I also added optional piece animation and algebraic notation on the board. Hopefully this makes watching ongoing tournaments more smooth, as illustrated below for a match between Komodo and DiscoCheck. Keep an eye on Google Play for updates!


Chess for Android v5.4: Adjudication

Image
I am rolling out Chess for Android version 5.4 on Google Play. Besides minor improvements, the major new feature consists of draw and resign adjudication during chess engines tournaments.
As shown below, a new tournament dialog has been implemented which shows, besides familiar older options, a section for draw and resign adjudication. If during a game, after the given move number and during the given move count, the score drops below the requested draw score (in cp) or exceeds the requested resign score (in cp, either consistently for white or for black), the game is adjudicated rather than played in full. This feature has been requested many times by tournament managers to avoid wasting time playing e.g. boring drawn games until the 50-move rule applies.

See this talkchess posting for an example game.
As usual, let me know if you encounter problems with the new release. Also, I could use some help translating the new strings into several languages (most will display English for now…

Localization of Chess for Android

Image
Version 4.0 of Chess for Android, available at either Google Play or as direct download, focuses on localization and internationalization. All user facing text (except the chess notation and engine messages) has been translated into the following languages. English (the default)Dutch (translated myself)German (many thanks to Philip Stutz)Hebrew (many thanks to Haran Talmon)Polish (many thanks to Michal Kaczmarek)Spanish (many thanks to Krizia Lopez)Swedish (many thanks to Anton Hansson) If you spot any mistakes, if you would like to see support for other languages or, even better, if you would like to help with further localization, please drop me a private note.






DeepBrutePos for Android

Folkert van Heusen is developing a chess engine, called DeepBrutePos, and he also wrote a version for Android. The engine is written in Java, and he used the Android SDK to develop a version that acts as a chess server, so that it can be imported as network socket in Chess for Android (a rather unusual, but nifty use of that feature).
I conducted a quick test with one of the first versions. Below the results of a one-second-per move tournament from both sides of all Nunn opening lines on a Nexus One. I was hoping for better results for Folkert, but hopefully he will release a strong version soon. Good luck!
                       1        2          3         4         5        6                   
1 BikJump v2.1P        *     17.5- 2.5 20.0- 0.0 20.0- 0.0 20.0-0.0 20.0-0.0 97.5/100
2 fairymax48q       2.5-17.5     *     10.0-10.0 12.5-7.5  18.5-1.5 20.0-0.0 63.5/100
3 umax48w           0.0-20.0 10.0-10.0     *     12.0- 8.0 20.0-0.0 20.0-0.0 62.0/100
4 Chess for Android 0.0-20.0  7.5…

Chess for Android v3.3

Image
I just released version 3.3 of Chess for Android, available at Google Play or as direct download. The new features include: Ability to modify filenames of regular and tournament games.Information on network status during socket setup. In the older versions, regular games and tournament games were alway appended to, respectively, the files games.pgn and tour.pgn on SD card. The new feature allows users to change these defaults through a "Change pathnames" menu. The pathnames can even include subdirectories, provides these directories exist.

The second feature displays information on the network status during socket setup (mobile connection, Wifi, etc.). In the version without network permissions (the default on Google Play), a proper warning message is shown instead.



Checkers for Android

Image
Revisiting checkers programming, I just released version 2.5 of Checkers for Android, both at the Google Play and as direct download. New features include:
simple animation of captured piecesadded a slight delay in single-move responseadded transposition table to enginemore time controls The new animation and delay will hopefully make it more clear what move was just played. The transposition table should improve the engine strength a bit.

UPDATE: version 2.5.1 improves the animation as shrinking pieces (some users thought the older fading pieces were "drag delay"!), adds more endgame knowledge, and shows kings more clearly.



Polyglot for Android

Image
There was an interesting discussion on the TalkChess forum whether a chess GUI running on the Dalvik Virtual Machine could merely support a single protocol, and use an adapter, like Polyglot, to support other protocols. Even though Chess for Android already supports both UCI and XBoard/WinBoard, I was intrigued by the question, and decided to give it a try. First, I compiled the polyglot sources for ARM-based Android devices (I had to make a few source changes to make that work). Then I edited a polyglot.ini file pointing to my own UCI engine bikjump1.8 compiled for ARM:
[Polyglot]
EngineCommand=bikjump1.8
EngineName=BikJumpAsXBoard
EngineDir=/data/local/tmp/
[Engine]

And gave it a try directly from the command line:

$ ./polyglot_for_android
PolyGlot 1.4.67b by Fabien Letouzey.
new
st 1
post
go
1 -1 0 1 h4
1 +0 0 3 h3
1 +2 0 6 g3
1 +12 0 20 Nh3
1 +17 0 22 Nf3
2 +0 0 46 Nf3 Nf6
3 +17 0 148 Nf3 Nf6 Nc3
4 +0 1 772 Nf3 Nf6 Nc3 Nc6
5 +2 2 1691 Nf3 Nf6 Nc3 Nc6 g3
6 +0 5 3120 Nf3 Nf6 Nc3 Nc6 g…

Chess for Android 3.1.5

Image
I just released version 3.1.5 of Chess for Android, available either at the Android market or as direct download. New features include:
Ability to filter PGN games (on player, event, ECO, ELO rating range, or result)Automatically re-import last UCI/Xboard engine on exit-re-entry of applicationFinger sweep left or right as alternative game navigationMinor improvements in setup position feature


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!