Posts

Wood Texture

Image
A user "dragonfish" suggested to add texture to the wooden chess board in Chess for Android. So I took a picture of my coffee table and used that as texture for the dark squares. See the result below. Together with a minor engine improvement, this new feature has been released in v2.2.

Topeka

Image
I am now working for Topeka .

Copy to Clipboard (PGN/FEN)

Image
Version 1.2.9 of Chess for Android will enable users to export a game to another application, such as an editor, email, or another chess program: copy all moves to the clipboard as PGN (Portable Game Notation) copy the position to the clipboard as FEN (Forsyth–Edwards Notation) To use these options, long-press anywhere in the move list area. Then, the following menu appears. Select one, then exit the chess application and go to the application where you want to paste the game. For example, I picked Copy Moves as PGN and went to messaging and long-pressed the text area. Then Paste the contents of the clipboard into the message, and the game appears in PGN format (note that, for convenience, I use a slightly more elaborate algebraic chess notation than strictly required; readers should still accept that format though). Likewise, using Copy Position as FEN , the contents would look as follows.

Opening Book

Image
I added an opening book to Chess for Android. The opening book is small (slightly over 150 opening lines) and simple (transpositions are not recognized, unless the line is explicitly stored). Nevertheless, since the engine picks a matching line at random during the opening, the variety of play will increase. Version v1.2.8 (and onwards) supports the opening book, as well as a new copy-to-clipboard feature (more about that later). While still in an opening line, the message "opening" appears at the position that usually shows the engine evaluation, as shown below.

One Star Ratings

I don't mind constructive criticism. Really, I don't. But take two recent one-star reviews for Chess for Android: Stupid cant start a new game after youve lost greg Fri, Mar 12 01:31:00 UTC 2010 This game cheats. Pawns shouldnt be able to capture pieces next to them and then move diagonally. Eyal Wed, Mar 10 02:35:00 UTC 2010 Really, my game gets one star because you cannot find the menu button on your own phone, or because you don't know the en-passant rule (see also previous posting )? Please, if you don't like the game for a good reason, by all means give one star. But this?

Too Many Updates?!

While browsing through some recent comments posted on the Android market, I was surprised to read that some users complain that I am pushing too many updates. I usually work on these games in spurts, i.e. a lot of improvements in a short time followed by a period of relative quiet. Another problem is that the Android market does not enable me to push updates to specific platforms or builds only. So, for example, when I fix a bug for Android 1.1, some users will not see a change, but others may be happy to receive an update. Last, the Android market does not support a good way to show revision history. Luckily not all users feel that way, as reflected in the comment: Updates are a pain? Really? its wonderful when developers continually work on their FREE app to improve it. Be thankful not frustrated. Vin Fri, Feb 12 11:47:00 PST 2010 Thanks Vin!

Android 1.1 Bug Fix

I always test new releases on emulators for Android 1.5 and higher (api 3 and up), for various screen sizes and other settings, as well as on the two actual Android devices that I have. However, I found out there was a bug on Android 1.1 (api 2), which I fixed in the latest releases of Chess, Checkers, and Reversi for Android. Users with an "older" phone that have never updated to more recent builds may have experienced problems (apologies for that!). The games should work again for all platforms. Needless to say, I added the Android 1.1 emulator to my mandatory release criteria.

Explanation of Levels

Image
Since I just got some questions on the different levels in my Android games, I hope the following posting on this topic is helpful. To change the level in either Chess, Checkers, or Reversi for Android, first press the Menu button on your phone, then pick the Level option, which gives you something that looks like the following screenshot. Then select any of these levels. Here, Free Play means that the game engine will never compute a reply. Instead, the phone can be used as a "magnetic board" to study games or play a game up to a position for further play with the engine. In Random , the engine will instantaneously pick a valid next move at random. Pick this level if you like to win! The next Level 1 through Level 5 select different normal playing levels, increasing in both strength as well as time taken by the engine to compute its next move. Finally, Chess for Android also has an Auto Play option where the engine plays against itself. After selecting this level, eith

Chess for Android Update

Image
I just released a new version of Chess for Android that, like the previous updates of the other games, improves the text size on larger screens. On the Nexus One, for example, the notation window in previous versions was barely readable. This is now hopefully resolved for all current phones. Next planned updates consist of adding a small opening book and an option to export a game to some external format.

More Updates

Image
I just released new versions of Checkers and Reversi for Android that improve the text size on larger screens. The reversi application now also uses a randomized opening for variety of play (see below).

Checkers for Android Update

Image
I just released v1.2.2 of Checkers for Android with the following improvements: + improved endgame play + randomized opening for variety + announces win/loss The latter feature is illustrated in the screenshot below. Please let me know if you encounter any issues with the new features.

Miscellaneous Updates

Just a few unrelated updates. First, the Android App Review Source website posted a brief online interview with me on developing Android applications. Also, version 2.01 of BikJump ended at second place in the CCC 17th Amateur Series (Division 8) , which opens the possibility of promotion to a higher division. Many thanks to Graham Banks for running this tournament! Finally, Martin Fierz published Checkers Tutor for Android , a strong checkers program for Android.

Happy New Year!

Image
I just came back from a great trip to my home town Gouda in the Netherlands and want to wish all my blog readers a happy 2010.

En-passant and castling

Image
About once a week, I get an email from a user who claims that Chess for Android makes an illegal move with the pawn or king. Invariably the user is not familiar with en-passant or castling. Therefore, I decided to post a brief summary of these rules. In the en-passant capture (click for more details), a pawn that just moved two squares can be taken by an opposing pawn as if it only moved one. To perform this move in Chess for Android simply move the pawn as if making the capture, as illustrated below. The castling move (again, click for more details) involves the king and one of the rooks. The king moves two squares to the left or right while the rook jumps over the king to the adjacent square. The move is only allowed if neither piece has moved before, the path between the pieces is clear, and the king is not in check or crosses a square where it would be in check. To perform castling in Chess for Android, simply move the king two squares to the left or right, as illustrated below.

New Game and Undo

I just posted version 2.1.1 of Chess, Checkers, and Reversi for Android at the Android Market that allows starting a new game or undoing the last played human move while the computer is thinking. In the older versions, this could only happen during the human player's turn. The latest releases remove that unnecessary restriction. As before, keep in mind that each undo takes back only one half-move (ply). This means that each undo effectively switches the side-to-move. Either use "Switch Side" or make your move on the board to start the engine again.