Chesshire is an Android chess playing app. Eventually to be the main part of a chess teaching system.
For alpha testers the current version of the Android Chesshire application is available.
At this time, Chessire allows two humans to play chess on a single device.
The next stage of development for Chesshire is to allow the saving of game state into an SQLite database. This will allow multiple games to be in progress at the same time. After that will come the ability to play by email or against the computer. Either mechanism will create a notification to update the game state.
The computer player is already underway. We are using the open-source chess engine, Crafty, as the computer playing library. It has already been build using the Android NDK and is just waiting for a mechanism to update a game.
Following the release of Chesshire, we will begin development of the chess teaching system. It will be a separate multi-media application to present chess lessons. After the presentation, the teaching program will launch Chesshire with a sample setup to allow the student to try out the latest tactic.
Chess is a complex game that is very hard to program to play intelligently. There are many developers working years to come up with the ultimate in chess playing automation. I am not interested in tying up that much of my time trying to compete with them.
However, with the impetus of the book, "Bobby Fischer Teaches Chess", i had another idea. The book is primarily teaching solutions for end games. End games already have reduced the number of pieces on the board making analysis easier. Also, with the goal of finding a winning position in just a few moves, only a limited look ahead is necessary. So i thought i could use brute force to analize all possible moves for just a few turns in order to find the winning solution.
It turns out that having a computer solve a simple chess problem is not that impressive. So my next idea was to put the shoe on the other foot. Allow the human to try to solve the chess problem and the computer could use it's limited look ahead just to avoid loosing in only a few moves. This is where the idea of building this as a teaching program evolved from.
On a final note, the first response of almost every person who has seen my initial version has asked if they can play the game against the computer. Much as i want to explain the beauty of my using appropriate technology to solve the more limited subset of solvable end games, this is an example of listening to my users. If it wasn't for the availability of open source chess engines, i might have abandoned this effort. As it is, i am hoping to use this logic as the basis for a set of games.