|
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 .
|