Friday, March 25, 2011

Checkers for the Amazon Kindle

A couple of weeks ago, I received emails from two American programmers called Matt and Mike who planned to write a checkers program for the Amazon Kindle. I contributed my Java checkers engine (which also powers Checkers Tutor), and those two did all the rest in record time - and now Checkers is available from Amazon. For more information, check out the A gamz website or look at a video on YouTube!. I haven't ever seen the game live, but judging from what I can see, Matt and Mike have done a great job with it!

Monday, February 14, 2011

Checkers Tutor 2.1

I just posted Checkers Tutor 2.1 for Android on the Android market. It has a lot of improvements over the previous version:

  • Nicer graphics (see previous post)and new nicer launcher icon
  • A new pushover level where you should be able to win even when moving at random
  • A smoother transition of playing strength when moving up from beginner levels to depth-controlled levels to timed levels. This is done by disabling parts of the evaluation on the lower depth-controlled levels
  • The entire last game is restored now on startup, not only the last position
  • Two small bugs fixed
  • Behind the scenes, a lot of the code was cleaned up

To me, it looks as if it should be the best/nicest checkers app for the Android platform, but obviously I'm rather biased! Now all I need is some customers and some good ratings :-)

Sunday, February 13, 2011

Playing with graphics for Android checkers

Over the weekend, my wife went on a short hike with our kid and his godmother, giving me a bit of time to play around with the checkers tutor graphics. Here's my current preview, and I think I will leave it at that - I like the looks of it!

I increased the size of the pieces a bit, and used Inkscape to produce pieces with gradients and highlights. Obviously I'm not a graphic artist, but I think they are much nicer than the plain circles I used to have.

Thursday, February 10, 2011

Android checkers reloaded

During my x-mas holidays, disappointed with the measly 5000 downloads I got over one year of my free Android Checkers Tutor App, I came up with a great plan: make it a paid app instead of free - like that, all the people who know nothing at all about checkers won't download it and won't complain about the must-capture-rule, and won't give it bad ratings. Great plan, but with 6 sales in 40 days, it didn't really work out... Not one to give up easily, I have decided to revamp it a bit. I've started making the code cleaner behind the scenes, and also tried to improve the looks of the app. Not too sure about whether it's an improvement - what do you think?

Wednesday, August 11, 2010

Moving to Visual C Express 2010

After using the great free Java IDE's Eclipse and Netbeans for a while, and also because I bought a nice new Core i5 laptop recently, I thought it might be worthwhile installing something more modern than my slightly antiquated Visual Studio 2005 on it. I love those new features like code completion and refactoring, the fact that you can just hover your mouse over variables in the code during debugging and it shows you what they are and all the other nice bells and whistles in the Java IDEs. Having also gotten used to not having to pay for a nice programming environment, I decided to install Visual C 2010 Express. Upgrading my old projects (such as CheckerBoard, Cake, book and endgame database generators, Connect 4 and my chess engine Muse) turned out to be quite a bit of a hassle - the upgrade wizard failed to convert about half of my projects, and I had to restart them from scratch, and had some more trouble because some libraries that used to be added automatically are not added any more, causing linker errors. I had another smallish disappointment when I noticed that there is practically no refactoring support in the express edition, and a bit a larger disappointment when I noticed that there is no 64-bit support either. While I do appreciate that M$ is giving away a free more or less modern IDE, I still would wish for more. So here's my question to the C programmers out there: is there anything else that you would recommend for the Windows platform - something that would also allow me to import my Visual Studio projects with as little trouble as possible?

Thursday, April 15, 2010

Suicide checkers is a draw - probably

During this winter, I let my suicide checkers book generator run for quite some time, expanding the size of my suicide checkers opening database from about 60'000 to over 180'000 positions. With the generator running on a machine that was twice as fast as for the 60'000 first nodes, the overall quality of the book must have improved massively. It now predicts draws for all 7 opening moves, from which I draw the conclusion in the title of this post.
With the beginning of spring I turned the generator off again - my green conscience would at least like to scavenge some waste heat for my house from book building... Furthermore, I am slightly ashamed to have a PC with a quad-core processor running on a single core only - it could be building the book at nearly 4 times the speed it is doing now, using only a little more energy if I programmed it to use all cores. With PCs nowaday having 4 or even 8 cores, I really should learn how to program a multithreaded search...

Wednesday, April 14, 2010

common Java codebase

I worked a bit on my Java checkers engine so that I can now use the same code for both my Android checkers tutor and my Java PC program - I'm glad I managed to combine the two! The only difference (and one I will probably forget to change from time to time...) is the size of the hashtable, which is obviously much smaller on the phone.
I also improved playing strength a bit, and will probably release new versions of both my Java checkers programs soon.

Monday, March 29, 2010

jCheckers web start

I had some trouble to get jCheckers running on my own office PC... so I thought I better try something easier and played around with Java web start and produced the following test page - now that is much cooler!

Sunday, March 28, 2010


After a rainy Sunday afternoon in front of my PC, jCheckers is now available! For some reason, I had to rewrite the entire GUI because NetBeans wasn't creating a proper distribution output for my jCheckers project. At least I also learned how to write callback functions in Java (with Interfaces), and implemented one for communication between the JCheckerBoardPanel and the main window. I should also implement one for the communication between the checkers engine and the JCheckerBoardPanel - but since my Java checkers engine is shared between Android and the full Java program, I was a bit reluctant to touch it. In fact, the engine isn't properly shared between the two because of some differences between Android and standard Java. My programmer friends tell me I should use dependency injection, but that will have to wait!
In the meantime, you can enjoy jCheckers on Linux and Mac, where CheckerBoard isn't available. jCheckers has a powerful Java checkers engine, multiple levels of play, PDN support, and unlimited takeback through the game.
Since I don't own either Mac or Linux computers, I'd be glad to get feedback on whether it runs on these systems as it should.

Saturday, March 20, 2010

Java Checkers on the finish line

It's been a while since I worked on my java checkers program (the general one, not the one for Android). It's something like a simple version of CheckerBoard, but it should run on all platforms if java lives up to its "write once run anywhere" promise. I just programmed the PDN save and load features which were the last features missing for an initial release. It will still need some finishing touches, but since I have about 16 hours of train-rides coming up in the next 48 hours and my laptop with me I hope to be able to apply these very soon and finally publish jCheckers!