Octopull logo Octopull/chess
Homepage
About Octopull
C++ writing
C++ links
Java
Agile
Bridge
Chess
Kids stuff
Downloads

This is about two "chess tutor" programs that I've written either with friends or on my own. If you just want to play then here are the links:

The story so far

Part one (1996ish)...

The idea of a "chess tutor" started off when I decided to learn java and was looking for a suitable project. My first java program was a "noughts and crosses" program that was great success with my son Simon (then just 4).

Simon was also facinated by Chessmaster 5000, but although this would display dinosaur chess pieces (very important) it didn't have any suitable tutorial or teaching modes. I conceived the idea of a "tutor" program that would allow practice moving the pieces, and allow playing some simplified games. As a proof of concept I produced a "quick & dirty" prototype application in Java and, since I didn't have time to develop a fully functional program recruited two friends with a similar interest in Java: Mark and Mike .

We did a bit of work and you can still play the original here .

The prototype contained most of what is currently in the first two levels but was restricted to the current default "chess set" and had much poorer navigation and option setting facilities. The program has not progress very quickly since then (I'd be delighted for additional help with it). However, the following events mark out it's history:

  • Mark and I designed a system architecture that would make the program extensible and facilitate separate development of features such as new "games" and levels, chess sets, and user interface.
  • I reworked the prototype code into this architecture, and set up both "applet" and "application" front-ends.
  • Mark added the "dinosaur" chess set (which was a great sucess with Simon and Blake (his brother).
  • I reworked the navigation and option setting code.
  • Mike reworked the chess position and move generation code and produced the third level "mate in one with a rook".
  • I introduced the fourth level "mate in one" problems based upon Mike's new move generation engine.
  • Mark got a contract that took him away from the area and "signed off" the project for a few months.

Part two (1998)...

The first code anyone writes in a new language is likely to be suspect, and the Java environment evolved. So by this time I was very dissatisfied with the original codebase and didn't own the IPR. Anyway I did a ground-up rewrite to produce a application that supported Swing and AWT front-ends, but because it used the new 1.1 event model wasn't compatable with early JVMs (like that used in the Microsoft's Internet Explorer). (I didn't bother with an applet version at this time.)

Anyway, around this time Simon got bored with chess and I got involved in more urgent project...

Part three (2002)...

Simon's younger brother Blake got interested in chess and I was looking for a programming project to try out the Eclipse IDE , so I dug out the code and fixed a number of bugs and design issues.

One of the principle areas of concern was the display of graphic chesspieces and, in addressing this, I had a lot of useful advice from another friend: Russ Calvert <russcalvert@lineone.net>.

I also added an applet front-end to it (although this is still incompatable with Microsoft's JVM - for reasons I've not investigated).

This version is still under active development.

You can play the current tutor .