Posts

Full Screen Android

Image
While preparing my applications for the wider variety of screen sizes, I also eliminated the title bar and "wooden" border in favor of a larger board size. Especially in landscape mode and for the upcoming smaller screens, this will hopefully enhance the playing experience. As a preview, a screenshot of Reversi for Android before and after shown below (ignore the stuff on the right for now; that is subject to change too). Checkers and Chess for Android will change similarly.

Vectorization Code Samples

Image
It has been a long while since I published The Software Vectorization Handbook but occasionally I get an email on the topic. Recently someone asked me whether I could make the examples in the book available electronically. Luckily, I found all examples in my older archives, and I posted code samples on my website.

Multiple Screen Sizes

Image
Up to now, my Android applications assume a fixed screen size (HVGA 320x480) and, although portrait and landscape views are supported, the code that implements board layout is not general enough to deal with all sorts of screen sizes. Android is designed to run on a variety of devices with different screen sizes and resolutions, however, and starting with version 1.6 , multiple screen sizes should be handled. Just for fun, I tested how my applications would run on various screen sizes. The screen shot for reversi is shown below. As expected, I have some work to do to make my applications more compliant with the latest extensions. This also may give me an excuse to implement some of the other requested features (such as rotating the board when playing black in chess).

Back to BikJump

November last year, I posted a blog entry on my progress with "Deep" BikJump, i.e. adding multi-threading to my engine to speedup the search. Due to many distractions, I have not worked on that feature since that posting.... The chess engine bug is starting to itch again, however, so I decided to pick this up. Hopefully I can release a SMP version of BikJump soon!

WBEC-Ridderkerk Ratings

Leo Dijksman kindly posted a chess engine rating list on the WBEC-Ridderkerk forum , based on edition 11 to 16 of the WBEC-Ridderkerk computer chess competition. Below I show some stats for various versions of BikJump. Rank Version Elo + - games score oppo. draws 517 BikJump 2.01-x64 2111 105 105 30 50% 2109 27% 609 BikJump 1.8-x64 1995 132 125 30 70% 1798 20% 662 BikJump 1.1 1911 141 160 26 23% 2199 8% 693 BikJump 1.5 1851 131 131 25 50% 1823 12% Many thanks to Leo for providing the ongoing WBEC tournaments!

Cacti

Image
With an eye on California's water shortage, we decided to do some water-efficient landscaping. With enormous help of my sister, we converted a corner of our front lawn into a mini cacti corner. In another corner, far away from playing children, we decided to put some larger, more thorny cacti. Hopefully this way we can keep the garden green with less water!

A Fallen Tree

Image
This weekend a large branch of my neighbor's tree broke and fell into our garden, right on top of our swing and patio furniture. Luckily nobody was hurt, since we all just came back from church when it happened. The swing broke most of the fall and even the solar panels survived! Needless to say I spend the rest of the day cutting wood, very kindly assisted by neighbors from all sides!

Thanks Android Game Users!

The last few weeks, I received many very kind emails as well as positive comments at the Android Market about my games. This has been a very nice contrast with the sometimes rough comments or emails I also get (constructive feedback is always welcome, but please study the rules of the game before you complain :-)). So I just wanted to say thank you to all that took the time to write a nice email or comment!

Trackball Input

Image
By popular request, I have changed the trackball input of Chess for Android slightly. When the trackball cursor hovers over the chessboard, it is displayed as a rectangle that moves one square at the time. When the trackball cursor leaves the chessboard, it changes into the "old-style" cursor that moves several pixels at the time. Please let me know if you like this new input mechanism better.

Are You Really Sure?

Image
Several users requested a confirmation dialog when starting a new game in Chess for Android to avoid resetting a game in progress by accidentally hitting the new game button. Therefore, I just posted v1.5.5 at the Android Market that adds this feature, illustrated below. Although not directly requested, I have added this feature to both Checkers and Reversi for Android as well.

Math Worksheet Generator

Image
My daughter just started to learn addition and subtraction in school. Like a true nerd, I wrote a Java applet to generate math worksheets, so that I no longer have to write out exercises by hand. To try it out, go to math worksheet generator . Click on the top-right +/- buttons to increase and decrease the level of difficulty, click on the ADD/SUBTRACT button to toggle between additions and subtractions, or click anywhere to generate new exercises. Feel free to print the math worksheets for your own use (unfortunately, this may not work for some browsers).

Reversi for Android Update

I made minor improvements to the reversi move generator and evaluation function in version 1.5.5, hopefully resulting in stronger play. Unfortunately, in my excitement I forgot to add a new internal state to the save/restore functionality, which could introduce wrong play if a game was exited and later resumed. This has been fixed in version 1.6 of Reversi for Android. Many thanks to Patrick Barnes for reporting the bug (with a screen shot as illustration!).

Android Updates: Save on Exit

Image
I just posted version 1.5 of Chess, Checkers, and Reversi for Android at the Android Market , all with the much requested "save on exit" feature. If a user exits a game in progress, the game is automatically saved and later restored when the application is restarted. Even if the interrupt happened while the engine was thinking about its move, the game will restart in that state (albeit taking the full allocated time again). Apologies to all users who have been requesting this feature for a while, I just needed to find some time for it.

Dutch Royal Attack

With tears in my eyes I read the news and watched the pictures of the senseless attack on the Dutch royal family by a man who crashed his car through the crowd during the annual Queen's Day celebration. I pray for the victims and those who mourn.

Chess for Android Update

Image
Version 1.4 of Chess for Android is now available at the Android Market with the following new features: Two improvements in the engine: removed unnecessary restriction on search depth and fixed bug that could cause an out-of-bounds exception. The engine now detects draw by a simplified form of three fold repetition. The detection is not complete, since only limited game history is kept; but at least this new feature avoids some very annoying repetitions. Draw by the fifty move was already implemented. A new level "Auto-play" has been added (press the Menu button). If this level is selected, then the next time the engine takes control (make either a move or touch "Reverse sides"), the game is played automatically.